From abbfb622a653aaf100b312f5aa40f684ad07ca49 Mon Sep 17 00:00:00 2001
From: DrownFish19
+
+
PaddleNLP预训练模型适用任务汇总(点击展开详情)
-
-
-
-
-
-
-
-
### 🔧 多硬件训推一体
支持英伟达GPU、昆仑芯XPU、昇腾NPU、海光DCU、燧原GCU 等多个硬件的大模型训练和推理,同时套件接口支持硬件快速切换,大幅降低硬件切换的研发成本。
@@ -64,12 +61,32 @@ PaddleNLP unified checkpoint大模型存储格式在模型参数分布上支持
------------------------------------------------------------------------------------------
+## 模型支持
+
+| Model | Pretrain | SFT | LoRA | Prefix Tuning | DPO | Quantization | Weight convert |
+|--------------------------------------------|----------|-----|------|---------------|-----|--------------|----------------|
+| [LLaMA](./llm/config/llama) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
+| [Qwen](./llm/config/qwen) | ✅ | ✅ | ✅ | ✅ | ✅ | 🚧 | ✅ |
+| [Mixtral](./llm/config/mixtral) | ✅ | ✅ | ✅ | ❌ | 🚧 | 🚧 | 🚧 |
+| [Baichuan/Baichuan2](./llm/config/llama) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
+| [ChatGLM-6B](./llm/config/chatglm) | ❌ | ✅ | ✅ | ✅ | 🚧 | ✅ | ❌ |
+| [ChatGLM2/ChatGLM3](./llm/config/chatglm2) | ❌ | ✅ | ✅ | ✅ | 🚧 | ✅ | ✅ |
+| [Bloom](./llm/config/bloom) | ❌ | ✅ | ✅ | ✅ | 🚧 | ✅ | ✅ |
+| [GPT-3](./llm/config/gpt-3) | ✅ | ✅ | 🚧 | 🚧 | 🚧 | 🚧 | ✅ |
+| [OPT](./llm/config/opt) | 🚧 | ✅ | ✅ | 🚧 | 🚧 | 🚧 | ✅ |
+
+* ✅: Supported
+* 🚧: In Progress
+* ❌: Not Supported
+
+------------------------------------------------------------------------------------------
+
## 安装
### 环境依赖
- python >= 3.8
-- paddlepaddle >= 3.0beta
+- paddlepaddle >= 3.0.0b0
### pip安装
@@ -103,33 +120,26 @@ PaddleNLP提供了方便易用的Auto API,能够快速的加载模型和Tokeni
['\n你好!我是一个AI语言模型,可以回答你的问题和提供帮助。']
```
-### 一键UIE预测
-
-PaddleNLP提供[一键预测功能](./docs/model_zoo/taskflow.md),无需训练,直接输入数据即可开放域抽取结果。这里以信息抽取-命名实体识别任务,UIE模型为例:
+### 大模型预训练
+```shell
+mkdir -p llm/data && cd llm/data
+wget https://bj.bcebos.com/paddlenlp/models/transformers/llama/data/llama_openwebtext_100k.bin
+wget https://bj.bcebos.com/paddlenlp/models/transformers/llama/data/llama_openwebtext_100k.idx
+cd .. # change folder to PaddleNLP/llm
+python -u -m paddle.distributed.launch --gpus "0,1,2,3,4,5,6,7" run_pretrain.py ./config/llama/pretrain_argument.json
+```
-```python
->>> from pprint import pprint
->>> from paddlenlp import Taskflow
-
->>> schema = ['时间', '选手', '赛事名称'] # Define the schema for entity extraction
->>> ie = Taskflow('information_extraction', schema=schema)
->>> pprint(ie("2月8日上午北京冬奥会自由式滑雪女子大跳台决赛中中国选手谷爱凌以188.25分获得金牌!"))
-[{'时间': [{'end': 6,
- 'probability': 0.9857378532924486,
- 'start': 0,
- 'text': '2月8日上午'}],
- '赛事名称': [{'end': 23,
- 'probability': 0.8503089953268272,
- 'start': 6,
- 'text': '北京冬奥会自由式滑雪女子大跳台决赛'}],
- '选手': [{'end': 31,
- 'probability': 0.8981548639781138,
- 'start': 28,
- 'text': '谷爱凌'}]}]
+### 大模型SFT精调
+```shell
+mkdir -p llm/data && cd llm/data
+wget https://bj.bcebos.com/paddlenlp/datasets/examples/AdvertiseGen.tar.gz && tar -zxvf AdvertiseGen.tar.gz
+cd .. # change folder to PaddleNLP/llm
+python -u -m paddle.distributed.launch --gpus "0,1,2,3,4,5,6,7" run_finetune.py ./config/llama/sft_argument.json
```
+更多大模型全流程步骤,请参考[大模型全流程工具链](./llm)。
+
更多PaddleNLP内容可参考:
-- [大模型全流程工具链](./llm),包含主流中文大模型的全流程方案。
- [精选模型库](./legacy/model_zoo),包含优质预训练模型的端到端全流程使用。
- [多场景示例](./legacy/examples),了解如何使用PaddleNLP解决NLP多种技术问题,包含基础技术、系统应用与拓展应用。
- [交互式教程](https://aistudio.baidu.com/aistudio/personalcenter/thirdview/574995),在🆓免费算力平台AI Studio上快速学习PaddleNLP。
From fbe13ebe6599e01b9391f56815f3c5bc94fdff46 Mon Sep 17 00:00:00 2001
From: DrownFish19
+ 特性 |
+ 模型支持 |
安装 |
快速开始 |
- 特性 |
社区交流
@@ -32,7 +33,6 @@
* **2024.06.27 [PaddleNLP v3.0 Beta](https://github.com/PaddlePaddle/PaddleNLP/releases/tag/v3.0.0)**:拥抱大模型,体验全升级。统一大模型工具链,实现国产计算芯片全流程接入;全面支持飞桨4D并行配置、高效精调策略、高效对齐算法、高性能推理等大模型产业级应用流程;自研极致收敛的RsLoRA+算法、全断点存储机制Unified Checkpoint和通用化支持FastFNN、FusedQKV助力大模型训推;主流模型持续支持更新,提供高效解决方案。
-
* **2024.04.24 [PaddleNLP v2.8](https://github.com/PaddlePaddle/PaddleNLP/releases/tag/v2.8.0)**:自研极致收敛的RsLoRA+算法,大幅提升PEFT训练收敛速度以及训练效果;引入高性能生成加速到RLHF PPO算法,打破 PPO 训练中生成速度瓶颈,PPO训练性能大幅领先。通用化支持 FastFNN、FusedQKV等多个大模型训练性能优化方式,大模型训练更快、更稳定。
* **2024.01.04 [PaddleNLP v2.7](https://github.com/PaddlePaddle/PaddleNLP/releases/tag/v2.7.1)**: 大模型体验全面升级,统一工具链大模型入口。统一预训练、精调、压缩、推理以及部署等环节的实现代码,到 `PaddleNLP/llm`目录。全新[大模型工具链文档](https://paddlenlp.readthedocs.io/zh/latest/llm/finetune.html),一站式指引用户从大模型入门到业务部署上线。全断点存储机制 Unified Checkpoint,大大提高大模型存储的通用性。高效微调升级,支持了高效微调+LoRA同时使用,支持了QLoRA等算法。
@@ -47,17 +47,17 @@
### 🔧 多硬件训推一体
-支持英伟达GPU、昆仑芯XPU、昇腾NPU、海光DCU、燧原GCU 等多个硬件的大模型训练和推理,同时套件接口支持硬件快速切换,大幅降低硬件切换的研发成本。
+支持英伟达GPU、昆仑XPU、昇腾NPU、燧原GCU和海光DCU等多个硬件的大模型训练和推理,套件接口支持硬件快速切换,大幅降低硬件切换研发成本。
### 🚀 高效易用的预训练
-支持数据、完全分片数据、张量、流水线并行的高性能训练,同时PaddleNLP Trainer支持分布式策略配置化,降低复杂分布式组合带来的使用成本;
-PaddleNLP unified checkpoint大模型存储格式在模型参数分布上支持动态扩缩容训练,降低硬件切换带来的迁移成本。
+支持数据、分片、张量、流水线并行的4D高性能训练,Trainer支持分布式策略配置化,降低复杂分布式组合带来的使用成本;
+Unified Checkpoint大模型存储格式在模型参数分布上支持动态扩缩容训练,降低硬件切换带来的迁移成本。
### 🤗 高效精调与高效对齐
-精调和对齐算法深度结合零填充数据流和FlashMask高性能算子,降低训练无效数据填充和无效数据计算,大幅提升精调和对齐训练吞吐。
+精调和对齐算法深度结合零填充数据流和FlashMask高性能算子,降低训练无效数据填充和计算,大幅提升精调和对齐训练吞吐。
### 🎛️ 无损压缩和高性能推理
-大模型套件高性能推理模块内置动态插入和全环节算子融合策略,极大加快并行推理的速度。同时隐藏了底层实现的细节,实现了开箱即用高性能并行推理能力。
+大模型套件高性能推理模块内置动态插入和全环节算子融合策略,极大加快并行推理速度。底层实现细节封装化,实现开箱即用的高性能并行推理能力。
------------------------------------------------------------------------------------------
@@ -79,6 +79,7 @@ PaddleNLP unified checkpoint大模型存储格式在模型参数分布上支持
* 🚧: In Progress
* ❌: Not Supported
+详细列表👉[模型参数支持](https://github.com/PaddlePaddle/PaddleNLP/issues/8663)
------------------------------------------------------------------------------------------
## 安装
@@ -102,8 +103,8 @@ pip install --pre --upgrade paddlenlp -f https://www.paddlepaddle.org.cn/whl/pad
更多关于PaddlePaddle和PaddleNLP安装的详细教程请查看[Installation](./docs/get_started/installation.rst)。
-
------------------------------------------------------------------------------------------
+
## 快速开始
### 大模型文本生成
@@ -146,7 +147,6 @@ python -u -m paddle.distributed.launch --gpus "0,1,2,3,4,5,6,7" run_finetune.py
------------------------------------------------------------------------------------------
-
## 社区交流
- 微信扫描二维码并填写问卷,回复小助手关键词(NLP)之后,即可加入交流群领取福利
@@ -154,9 +154,9 @@ python -u -m paddle.distributed.launch --gpus "0,1,2,3,4,5,6,7" run_finetune.py
- 与众多社区开发者以及官方团队深度交流。
- 10G重磅NLP学习大礼包!
-
-
+
+
o8Odz2Du44pzzWjv)|3K@%KVPLo{%?=zQ2(k8J&^wDU&pUJUz)-C
z=05`;@YZ6gb`TI)WH0}a;tHfE5D-v^CQ4v?u(TAHzLf>Nu7Q=FA-%JO^-C)VZf7pw
z(8ADOm&n<|+|rKAnTPmK4KCpL *%5#Sf4)SNe2uDpy-th^xJ~t0iZu#hi W>zW&`Dl
zM-db5j^j3k!Ra@pi5~yORVX1;91~why$QyCJpm89R;bAO2kZQc(`16Sj6=1538$SSkx;fD>OiAA4F?{snr^c2ODu^5O
H1D
xQYueMrfkGgJOyA5-gB))b`a0C7`8p&gcM`n
z-0s%q0a1+r{_vR)8rsAiPmBIxh2yX5_rj(ihNt6E{1pI+R3{{GGC#Y#__#RN+;JjW
zxU^LH6%K
-HYI2`kXIf(^`MTwCs$Pl>c*U|%6zcgz&Ncwj`
zP0K>Ty=+P;8&|6-XVG2Eb$;h6HC}@zVtN|E+S5Wj+kaU!#kref1QR=+?ROL01OR~S
z$_lh%eX3R_UhGiLA=Hc0$5D?>W`6CiKWT!;&=uA}{I!#D`da6sX{`-qH#O{+yAynl
zJ#V3VbfwtNd>Tgcc~`f2&QhH>3*5mG21ifyL+#H*e_oJ65Kg!Goo#lesi~LnzbeGP
zz*DX8^7A0}WKIcCH6=o*IG8E+f925&{mdlciCfMWXw%c=FDozgRlih{m|RfG^m{?j
zspE9C_fql!FV%MJvIFykQ-3h#D&`omsR8UjJW)i!;&ay|o_651BLc%>ea>OLk8}~M
zwW-61yKA27xsltWsfcKCI`0S+$4(Y}aY{Bf9vylGin9tbNq&u2@=os&lR$HTQ&T
z`?W9pcp88^hn`>`cJ=!DN6}9Ri8@T-#P{P(Yi%Zk6=1f#$I-ZsC$B(|?!)$a9Nf(I
z`Wi4ogV6*Lqu=YUWyvuLGnbXk0wwb^YdEZtlp!v>|Jr4am`N*5X0Y1bsoFXh2V7m&
z8@h~(iGe7ciO046gWaxg7ebZ0Tk)7ny=VhQIvu0CW>~&9js0%JNy_M!EYnR3
zRytL39qk!1y^+LaqtGCNUD^wx=hOe7}P29*ZW5(yqXZ0P{TG`(Or7zg)5@A
z7o|ATws$L{Cv?5{doajPm4utYX?9N1*>Xbd