17
17
18
18
19
19
1 . ** 可通过 API 快速下载模型**
20
-
20
+
21
21
提供 API 方便你快速下载模型,并在给定(中/英文)文本上使用这些预训练模型,在从[ SuperGLUE] ( https://super.gluebenchmark.com/ ) 和[ CLUE] ( https://github.com/CLUEbenchmark/CLUE ) benchmarks收集的广泛使用的数据集上对它们进行微调。
22
-
22
+
23
23
FlagAI 现已支持 30+ 主流模型,包括多模态模型 [ ** AltCLIP** ] ( https://github.com/FlagAI-Open/FlagAI/tree/master/examples/AltCLIP ) 、文生图模型 [ ** AltDiffusion** ] ( https://github.com/FlagAI-Open/FlagAI/tree/master/examples/AltDiffusion ) [ ![ Huggingface space] ( https://img.shields.io/badge/🤗-Huggingface%20Space-cyan.svg )] ( https://huggingface.co/spaces/BAAI/bilingual_stable_diffusion ) 、最高百亿参数的 ** [ 悟道GLM] ( /doc_zh/GLM.md ) ** ,[ ** EVA-CLIP** ] ( https://github.com/FlagAI-Open/FlagAI/tree/master/examples/EVA_CLIP ) 、** [ Galactica] ( https://github.com/FlagAI-Open/FlagAI/tree/master/examples/galactica ) ** 、** OPT** 、** BERT** 、** RoBERTa** 、** GPT2** 、** T5** 、** ALM** 、** Huggingface Transformers** 等。
24
-
24
+
25
25
2 . ** 仅用十行代码即可进行并行训练**
26
26
27
27
飞智由四个最流行的数据/模型并行库([ PyTorch] ( https://pytorch.org/ ) /[ Deepspeed] ( https://www.deepspeed.ai/ ) /[ Megatron-LM] ( https://github.com/NVIDIA/Megatron-LM ) /[ BMTrain] ( https://github.com/OpenBMB/BMTrain ) )提供支持,它们之间实现了无缝集成。 你可以用不到十行代码来并行你的训练/测试过程。
28
-
28
+
29
29
3 . ** 提供提示学习工具包**
30
30
31
31
FlagAI 提供了提示学习([ prompt-learning] ( https://github.com/FlagAI-Open/FlagAI/blob/master/docs/TUTORIAL_7_PROMPT_LEARNING.md ) )的工具包,用于少样本学习(few-shot learning)任务。
32
-
32
+
33
33
4 . ** 尤其擅长中文任务**
34
34
35
35
FlagAI 目前支持的模型可以应用于文本分类、信息提取、问答、摘要、文本生成等任务,尤其擅长中文任务。
51
51
52
52
### 模型
53
53
54
- | 模型名称 | 任务 | 训练 | 微调 | 推理 | 样例 |
54
+ | 模型名称 | 任务 | 训练 | 微调 | 推理 | 样例 |
55
55
| :---------------- | :------- | :-- | :-- | :-- | :--------------------------------------------- |
56
- | ALM | 阿拉伯语文本生成 | ✅ | ❌ | ✅ | [ README.md] ( /examples/ALM/README.md ) |
57
- | AltCLIP | 文图匹配 | ✅ | ✅ | ✅ | [ README.md] ( /examples/AltCLIP/README.md ) |
58
- | AltCLIP-m18 | 文图匹配 | ✅ | ✅ | ✅ | [ README.md] ( examples/AltCLIP-m18/README.md ) |
56
+ | ALM | 阿拉伯语文本生成 | ✅ | ❌ | ✅ | [ README.md] ( /examples/ALM/README.md ) |
57
+ | AltCLIP | 文图匹配 | ✅ | ✅ | ✅ | [ README.md] ( /examples/AltCLIP/README.md ) |
58
+ | AltCLIP-m18 | 文图匹配 | ✅ | ✅ | ✅ | [ README.md] ( examples/AltCLIP-m18/README.md ) |
59
59
| AltDiffusion | 文生图 | ❌ | ❌ | ✅ | [ README.md] ( /examples/AltDiffusion/README.md ) |
60
60
| AltDiffusion-m18 | 文生图,支持 18 种语言 | ❌ | ❌ | ✅ | [ README.md] ( /examples/AltDiffusion-m18/README.md ) |
61
61
| BERT-title-generation-english | 英文标题生成 | ✅ | ❌ | ✅ | [ README.md] ( /examples/bert_title_generation_english/README.md ) |
62
- | CLIP | 图文匹配 | ✅ | ❌ | ✅ | —— |
63
- | CPM3-finetune | 文本续写 | ❌ | ✅ | ❌ | —— |
64
- | CPM3-generate | 文本续写 | ❌ | ❌ | ✅ | —— |
62
+ | CLIP | 图文匹配 | ✅ | ❌ | ✅ | —— |
63
+ | CPM3-finetune | 文本续写 | ❌ | ✅ | ❌ | —— |
64
+ | CPM3-generate | 文本续写 | ❌ | ❌ | ✅ | —— |
65
65
| CPM3_pretrain | 文本续写 | ✅ | ❌ | ❌ | —— |
66
66
| CPM_1 | 文本续写 | ❌ | ❌ | ✅ | [ README.md] ( /examples/cpm_1/README.md ) |
67
67
| EVA-CLIP | 图文匹配 | ✅ | ✅ | ✅ | [ README.md] ( /examples/EVA_CLIP/README.md ) |
68
- | Galactica | 文本续写 | ❌ | ❌ | ✅ | —— |
68
+ | Galactica | 文本续写 | ❌ | ❌ | ✅ | —— |
69
69
| GLM-large-ch-blank-filling | 完形填空问答 | ❌ | ❌ | ✅ | [ TUTORIAL] ( /doc_zh/TUTORIAL_11_GLM_BLANK_FILLING_QA.md ) |
70
70
| GLM-large-ch-poetry-generation | 诗歌生成 | ✅ | ❌ | ✅ | [ TUTORIAL] ( /doc_zh/TUTORIAL_13_GLM_EXAMPLE_PEOTRY_GENERATION.md ) |
71
71
| GLM-large-ch-title-generation | 标题生成 | ✅ | ❌ | ✅ | [ TUTORIAL] ( /doc_zh/TUTORIAL_12_GLM_EXAMPLE_TITLE_GENERATION.md ) |
72
- | GLM-pretrain | 预训练 | ✅ | ❌ | ❌ | —— |
73
- | GLM-seq2seq | 生成任务 | ✅ | ❌ | ✅ | —— |
74
- | GLM-superglue | 判别任务 | ✅ | ❌ | ❌ | —— |
72
+ | GLM-pretrain | 预训练 | ✅ | ❌ | ❌ | —— |
73
+ | GLM-seq2seq | 生成任务 | ✅ | ❌ | ✅ | —— |
74
+ | GLM-superglue | 判别任务 | ✅ | ❌ | ❌ | —— |
75
75
| GPT-2-text-writting | 文本续写 | ❌ | ❌ | ✅ | [ TUTORIAL] ( /doc_zh/TUTORIAL_18_GPT2_WRITING.md ) |
76
- | GPT2-text-writting | 文本续写 | ❌ | ❌ | ✅ | —— |
77
- | GPT2-title-generation | 标题生成 | ❌ | ❌ | ✅ | —— |
78
- | OPT | 文本续写 | ❌ | ❌ | ✅ | [ README.md] ( /examples/opt/README.md ) |
76
+ | GPT2-text-writting | 文本续写 | ❌ | ❌ | ✅ | —— |
77
+ | GPT2-title-generation | 标题生成 | ❌ | ❌ | ✅ | —— |
78
+ | OPT | 文本续写 | ❌ | ❌ | ✅ | [ README.md] ( /examples/opt/README.md ) |
79
79
| RoBERTa-base-ch-ner | 命名实体识别 | ✅ | ❌ | ✅ | [ TUTORIAL] ( /doc_zh/TUTORIAL_17_BERT_EXAMPLE_NER.md ) |
80
80
| RoBERTa-base-ch-semantic-matching | 语义相似度匹配 | ✅ | ❌ | ✅ | [ TUTORIAL] ( /doc_zh/TUTORIAL_16_BERT_EXAMPLE_SEMANTIC_MATCHING.md ) |
81
81
| RoBERTa-base-ch-title-generation | 标题生成 | ✅ | ❌ | ✅ | [ TUTORIAL] ( /doc_zh/TUTORIAL_15_BERT_EXAMPLE_TITLE_GENERATION.md ) |
82
- | RoBERTa-faq | 问答 | ❌ | ❌ | ✅ | [ README.md] ( /examples/roberta_faq/README.md ) |
83
- | Swinv1 | 图片分类 | ✅ | ❌ | ✅ | —— |
84
- | Swinv2 | 图片分类 | ✅ | ❌ | ✅ | —— |
82
+ | RoBERTa-faq | 问答 | ❌ | ❌ | ✅ | [ README.md] ( /examples/roberta_faq/README.md ) |
83
+ | Swinv1 | 图片分类 | ✅ | ❌ | ✅ | —— |
84
+ | Swinv2 | 图片分类 | ✅ | ❌ | ✅ | —— |
85
85
| T5-huggingface-11b | 训练 | ✅ | ❌ | ❌ | [ TUTORIAL] ( /doc_zh/TUTORIAL_14_HUGGINGFACE_T5.md ) |
86
86
| T5-title-generation | 标题生成 | ❌ | ❌ | ✅ | [ TUTORIAL] ( /doc_zh/TUTORIAL_19_T5_EXAMPLE_TITLE_GENERATION.md ) |
87
- | T5-flagai-11b | 预训练 | ✅ | ❌ | ❌ | —— |
87
+ | T5-flagai-11b | 预训练 | ✅ | ❌ | ❌ | —— |
88
88
| ViT-cifar100 | 预训练 | ✅ | ❌ | ❌ | —— |
89
89
90
90
@@ -144,7 +144,7 @@ ds_report # 检查deepspeed的状态
144
144
```
145
145
git clone https://github.com/OpenBMB/BMTrain
146
146
cd BMTrain
147
- python setup.py install
147
+ python setup.py install
148
148
```
149
149
- [ 可选] 镜像构建,请参照 [ Dockerfile] ( https://github.com/FlagAI-Open/FlagAI/blob/master/Dockerfile )
150
150
- [ 提示
] 单节点docker环境下,运行多卡数据并行需要设置host。 例如,docker节点
[email protected] ,其端口 7110。
@@ -167,7 +167,7 @@ Host 127.0.0.1
167
167
from flagai.auto_model.auto_loader import AutoLoader
168
168
auto_loader = AutoLoader(
169
169
task_name = " title-generation" ,
170
- model_name = " RoBERTa-base-ch"
170
+ model_name = " RoBERTa-base-ch"
171
171
)
172
172
model = auto_loader.get_model()
173
173
tokenizer = auto_loader.get_tokenizer()
@@ -261,20 +261,23 @@ for text_pair in test_data:
261
261
262
262
```
263
263
264
+ ### 模型部署
265
+
266
+ * AltCLIP 部署见 [ AltCLIP 的 ONNX 模型导出] ( ./onnx/README.md )
264
267
265
268
## 动态
266
- - [ 31 Mar 2023] 支持v1.6.3版本, 增加AltCLIP-m18模型 [ #303 ] ( https://github.com/FlagAI-Open/FlagAI/pull/303 ) 以及 AltDiffusion-m18模型 [ #302 ] ( https://github.com/FlagAI-Open/FlagAI/pull/302 ) ;
267
- - [ 17 Mar 2023] 支持v1.6.2版本, 可以使用新的优化器 [ #266 ] ( https://github.com/FlagAI-Open/FlagAI/pull/266 ) , 并增加了英文gpt模型GPT2-base-en;
269
+ - [ 31 Mar 2023] 支持v1.6.3版本, 增加AltCLIP-m18模型 [ #303 ] ( https://github.com/FlagAI-Open/FlagAI/pull/303 ) 以及 AltDiffusion-m18模型 [ #302 ] ( https://github.com/FlagAI-Open/FlagAI/pull/302 ) ;
270
+ - [ 17 Mar 2023] 支持v1.6.2版本, 可以使用新的优化器 [ #266 ] ( https://github.com/FlagAI-Open/FlagAI/pull/266 ) , 并增加了英文gpt模型GPT2-base-en;
268
271
- [ 2 Mar 2023] 支持v1.6.1版本, 增加Galactica模型 [ #234 ] ( https://github.com/FlagAI-Open/FlagAI/pull/234 ) , 大模型推理的低资源工具包BMInf [ #238 ] ( https://github.com/FlagAI-Open/FlagAI/pull/238 ) , 以及P-tuning样例 [ #227 ] ( https://github.com/FlagAI-Open/FlagAI/pull/238 )
269
- - [ 12 Jan 2023] 发布v1.6.0版本, 新增支持并行训练库 [ ** BMTrain** ] ( https://github.com/OpenBMB/BMTrain ) 以及集成 [ ** Flash Attention** ] ( https://github.com/HazyResearch/flash-attention ) 到 Bert 和 Vit 模型提速端到端训练, 示例见 [ FlashAttentionBERT] ( https://github.com/FlagAI-Open/FlagAI/blob/master/examples/bert_title_generation_english/train_flash_atten.py ) 和 [ FlashAttentionViT] ( https://github.com/FlagAI-Open/FlagAI/blob/master/examples/vit_cifar100/train_single_gpu_flash_atten.py ) . 同时增加了基于对比搜索的文本生成方法 [ ** SimCTG** ] ( https://github.com/yxuansu/SimCTG ) 以及基于 AltDiffusion 进行 DreamBooth 个性化微调, 示例见 [ AltDiffusionNaruto] ( https://github.com/FlagAI-Open/FlagAI/blob/master/examples/AltDiffusion/dreambooth.py ) .
272
+ - [ 12 Jan 2023] 发布v1.6.0版本, 新增支持并行训练库 [ ** BMTrain** ] ( https://github.com/OpenBMB/BMTrain ) 以及集成 [ ** Flash Attention** ] ( https://github.com/HazyResearch/flash-attention ) 到 Bert 和 Vit 模型提速端到端训练, 示例见 [ FlashAttentionBERT] ( https://github.com/FlagAI-Open/FlagAI/blob/master/examples/bert_title_generation_english/train_flash_atten.py ) 和 [ FlashAttentionViT] ( https://github.com/FlagAI-Open/FlagAI/blob/master/examples/vit_cifar100/train_single_gpu_flash_atten.py ) . 同时增加了基于对比搜索的文本生成方法 [ ** SimCTG** ] ( https://github.com/yxuansu/SimCTG ) 以及基于 AltDiffusion 进行 DreamBooth 个性化微调, 示例见 [ AltDiffusionNaruto] ( https://github.com/FlagAI-Open/FlagAI/blob/master/examples/AltDiffusion/dreambooth.py ) .
270
273
- [ 28 Nov 2022] 发布v1.5.0版本, 支持1.1B参数的 [ ** EVA-CLIP** ] ( https://github.com/FlagAI-Open/FlagAI/tree/master/examples/EVA_CLIP ) 以及[ ALM: 基于GLM的阿拉伯语大模型] , 示例见[ ** ALM** ] ( https://github.com/FlagAI-Open/FlagAI/tree/master/examples/ALM )
271
274
- [ 10 Nov 2022] 发布v1.4.0版本, 支持[ AltCLIP: 更改CLIP中的语言编码器以扩展语言功能] ( https://arxiv.org/abs/2211.06679v1 ) , 示例见[ ** AltCLIP** ] ( https://github.com/FlagAI-Open/FlagAI/tree/master/examples/AltCLIP ) 以及[ ** AltDiffusion** ] ( https://github.com/FlagAI-Open/FlagAI/tree/master/examples/AltDiffusion )
272
275
- [ 29 Aug 2022] 支持v1.3.0版本, 增加CLIP模块以及重新设计了tokenizer的API: [ #81 ] ( https://github.com/FlagAI-Open/FlagAI/pull/81 )
273
276
- [ 21 Jul 2022] 支持v1.2.0版本, 支持ViT系列模型: [ #71 ] ( https://github.com/FlagAI-Open/FlagAI/pull/71 )
274
277
- [ 29 Jun 2022] 支持v1.1.0版本, 支持OPT的加载,微调和推理[ #63 ] ( https://github.com/FlagAI-Open/FlagAI/pull/63 )
275
278
- [ 17 May 2022] 做出了我们的第一份贡献[ #1 ] ( https://github.com/FlagAI-Open/FlagAI/pull/1 )
276
279
277
- ## 许可 LICENSE
280
+ ## 许可 LICENSE
278
281
279
282
280
283
FlagAI飞智大部分项目基于 [ Apache 2.0 license] ( LICENSE ) ,但是请注意部分项目代码基于其他协议:
@@ -299,4 +302,4 @@ FlagAI飞智大部分项目基于 [Apache 2.0 license](LICENSE),但是请注
299
302
300
303
![ Star History Chart] ( https://api.star-history.com/svg?repos=FlagAI-Open/FlagAI&type=Date )]
301
304
302
- </div >
305
+ </div >
0 commit comments