ColossalAI/examples/language/bert
flybird11111 aaafb38851
[Device]Support npu (#6159)
* support npu

* support pretrain

support pretrain

fix

* support lora

fix

fix

* support chatglm

fix

fxi

fix

[pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

fix

fix

[pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

fix

[pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

fix

fix

fix

* Update train.py

* Update train.py

* fix

* fix

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix

* fix

* fix

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-17 15:42:39 +08:00
..
README.md [shardformer] update shardformer readme (#4617) 2023-09-05 13:14:41 +08:00
benchmark.py [misc] refactor launch API and tensor constructor (#5666) 2024-04-29 10:40:11 +08:00
benchmark.sh [booster] update bert example, using booster api (#3885) 2023-06-07 15:51:00 +08:00
benchmark_utils.py [Device]Support npu (#6159) 2024-12-17 15:42:39 +08:00
data.py [pipeline]: support arbitrary batch size in forward_only mode (#5201) 2024-01-02 23:41:12 +08:00
finetune.py [Device]Support npu (#6159) 2024-12-17 15:42:39 +08:00
requirements.txt [booster] update bert example, using booster api (#3885) 2023-06-07 15:51:00 +08:00
test_ci.sh [pipeline]: support arbitrary batch size in forward_only mode (#5201) 2024-01-02 23:41:12 +08:00

README.md

Overview

This directory includes two parts: Using the Booster API finetune Huggingface Bert and AlBert models and benchmarking Bert and AlBert models with different Booster Plugin.

Finetune

bash test_ci.sh

Bert-Finetune Results

Plugin Accuracy F1-score GPU number
torch_ddp 84.4% 88.6% 2
torch_ddp_fp16 84.7% 88.8% 2
gemini 84.0% 88.4% 2
hybrid_parallel 84.5% 88.6% 4

Benchmark

bash benchmark.sh

Now include these metrics in benchmark: CUDA mem occupy, throughput and the number of model parameters. If you have custom metrics, you can add them to benchmark_util.

Results

Bert

max cuda mem throughput(sample/s) params
ddp 21.44 GB 3.0 82M
ddp_fp16 16.26 GB 11.3 82M
gemini 11.0 GB 12.9 82M
low_level_zero 11.29 G 14.7 82M

AlBert

max cuda mem throughput(sample/s) params
ddp OOM
ddp_fp16 OOM
gemini 69.39 G 1.3 208M
low_level_zero 56.89 G 1.4 208M