Skip to content

Commit

Permalink
merge docs (#9657)
Browse files Browse the repository at this point in the history
* merge docs1218

* docs

* fix soft link

* rename

* fix merge docs

* rename

* merge docs 1220

* merge docs
  • Loading branch information
Mangodadada authored Dec 23, 2024
1 parent e91c2d3 commit c6ab784
Show file tree
Hide file tree
Showing 6 changed files with 157 additions and 41 deletions.
38 changes: 19 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@
<a href="https://trendshift.io/repositories/2246" target="_blank"><img src="https://trendshift.io/api/badge/repositories/2246" alt="PaddlePaddle%2FPaddleNLP | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>

## News 📢
* **2024.12.16 [PaddleNLP v3.0 Beta3](https://github.com/PaddlePaddle/PaddleNLP/releases/tag/v3.0.0-beta3)**:大模型功能全新升级,新增了Llama-3.2、DeepSeekV2模型,升级了TokenizerFast,快速分词,重构了SFTTrainer,一键开启SFT训练。此外,PaddleNLP还支持了优化器状态的卸载和重载功能,实现了精细化的重新计算,训练性能提升7%。在Unified Checkpoint方面,进一步优化了异步保存逻辑,模型存储加速95%,新增Checkpoint压缩功能,可节省78.5%存储空间。
最后,在大模型推理方面,升级Append Attention,支持了FP8量化,支持投机解码。
* **2024.12.16 [PaddleNLP v3.0 Beta3](https://github.com/PaddlePaddle/PaddleNLP/releases/tag/v3.0.0-beta3)**:大模型功能全新升级,新增了 Llama-3.2、DeepSeekV2模型,升级了 TokenizerFast,快速分词,重构了 SFTTrainer,一键开启 SFT 训练。此外,PaddleNLP 还支持了优化器状态的卸载和重载功能,实现了精细化的重新计算,训练性能提升7%。在 Unified Checkpoint 方面,进一步优化了异步保存逻辑,新增 Checkpoint 压缩功能,可节省78.5%存储空间。
最后,在大模型推理方面,升级 Append Attention,支持了 FP8量化,支持投机解码。

* **2024.12.13 📚《飞桨大模型套件 Unified Checkpoint 技术》**,加速模型存储95%,节省空间78%。支持全分布式策略调整自适应转换,提升模型训练的灵活性与可扩展性。训练-压缩-推理统一存储协议,无需手动转换提升全流程体验。Checkpoint 无损压缩结合异步保存,实现秒级存储并降低模型存储成本。适用于智能制造、指挥交通、医疗健康、金融服务等产业实际场景。12月24日(周二)19:00直播为您详细解读该技术如何优化大模型训练流程。报名链接:https://www.wjx.top/vm/huZkHn9.aspx?udsid=787976

Expand All @@ -41,9 +41,9 @@


<details><summary> <b>点击展开</b> </summary><div>

* **2024.08.08 📚《飞桨产业级大语言模型开发利器 PaddleNLP 3.0 重磅发布》**,训压推全流程贯通,主流模型全覆盖。大模型自动并行,千亿模型训推全流程开箱即用。提供产业级高性能精调与对齐解决方案,压缩推理领先,多硬件适配。覆盖产业级智能助手、内容创作、知识问答、关键信息抽取等应用场景。直播时间:8月22日(周四)19:00。报名链接:https://www.wjx.top/vm/Y2f7FFY.aspx?udsid=143844

* **2024.06.27 [PaddleNLP v3.0 Beta](https://github.com/PaddlePaddle/PaddleNLP/releases/tag/v3.0.0-beta0)**:拥抱大模型,体验全升级。统一大模型套件,实现国产计算芯片全流程接入;全面支持飞桨4D 并行配置、高效精调策略、高效对齐算法、高性能推理等大模型产业级应用流程;自研极致收敛的 RsLoRA+算法、自动扩缩容存储机制 Unified Checkpoint 和通用化支持的 FastFFN、FusedQKV 助力大模型训推;主流模型持续支持更新,提供高效解决方案。

* **2024.04.24 [PaddleNLP v2.8](https://github.com/PaddlePaddle/PaddleNLP/releases/tag/v2.8.0)**:自研极致收敛的 RsLoRA+算法,大幅提升 PEFT 训练收敛速度以及训练效果;引入高性能生成加速到 RLHF PPO 算法,打破 PPO 训练中生成速度瓶颈,PPO 训练性能大幅领先。通用化支持 FastFFN、FusedQKV 等多个大模型训练性能优化方式,大模型训练更快、更稳定。
Expand All @@ -59,7 +59,7 @@
### <a href=#高效易用的预训练> 🚀 高效易用的预训练 </a>

支持纯数据并行策略、分组参数切片的数据并行策略、张量模型并行策略和流水线模型并行策略的4D 高性能训练,Trainer 支持分布式策略配置化,降低复杂分布式组合带来的使用成本;
[Unified Checkpoint 大模型存储工具](./llm/docs/unified_checkpoint.md)可以使得训练断点支持机器资源动态扩缩容恢复。此外,异步保存,模型存储可加速95%,Checkpoint压缩,可节省78.5%存储空间。
[Unified Checkpoint 大模型存储工具](./llm/docs/unified_checkpoint.md)可以使得训练断点支持机器资源动态扩缩容恢复。此外,异步保存,模型存储可加速95%,Checkpoint 压缩,可节省78.5%存储空间。

### <a href=#高效精调> 🤗 高效精调 </a>

Expand Down Expand Up @@ -128,21 +128,21 @@

* 大模型预训练、精调(包含 SFT、PEFT 技术)、对齐、量化已支持 LLaMA 系列、Baichuan 系列、Bloom 系列、ChatGLM 系列、Mistral 系列、OPT 系列和 Qwen 系列,【LLM】模型预训练、精调、对齐、量化支持列表如下:

| Model | Pretrain | SFT | LoRA | FlashMask | Prefix Tuning | DPO/SimPO/ORPO | RLHF | Quantization |
|--------------------------------------------|:--------:|:---:|:----:|:---------:|:-------------:|:--------------:|:----:|:------------:|
| [Llama](./llm/config/llama) |||||||||
| [Qwen](./llm/config/qwen) ||||||| 🚧 | 🚧 |
| [Mixtral](./llm/config/mixtral) |||| 🚧 | 🚧 || 🚧 | 🚧 |
| [Mistral](./llm/config/mistral) |||| 🚧 ||| 🚧 | 🚧 |
| [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) |||| 🚧 | 🚧 | 🚧 | 🚧 | 🚧 |
| [Gemma](./llm/config/gemma) |||| 🚧 | 🚧 || 🚧 | 🚧 |
| [Yuan](./llm/config/yuan) |||| 🚧 | 🚧 || 🚧 | 🚧 |

| Model | Pretrain | SFT | LoRA | FlashMask | Prefix Tuning | DPO/SimPO/ORPO | RLHF | Mergekit | Quantization |
|--------------------------------------------|:--------:|:---:|:----:|:---------:|:-------------:|:--------------:|:----:|:-----:|:------------:|
| [Llama](./llm/config/llama) ||||||||||
| [Qwen](./llm/config/qwen) ||||||| 🚧 || 🚧 |
| [Mixtral](./llm/config/mixtral) |||| 🚧 | 🚧 || 🚧 || 🚧 |
| [Mistral](./llm/config/mistral) |||| 🚧 ||| 🚧 || 🚧 |
| [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) |||| 🚧 | 🚧 | 🚧 | 🚧 || 🚧 |
| [Gemma](./llm/config/gemma) |||| 🚧 | 🚧 || 🚧 || 🚧 |
| [Yuan](./llm/config/yuan) |||| 🚧 | 🚧 || 🚧 || 🚧 |
* [大模型推理](./llm/docs/predict/inference.md)已支持 LLaMA 系列、Qwen 系列、Mistral 系列、ChatGLM 系列、Bloom 系列和 Baichuan 系列,支持 Weight Only INT8及 INT4推理,支持 WAC(权重、激活、Cache KV)进行 INT8、FP8量化的推理,【LLM】模型推理支持列表如下:

| 模型名称/量化类型支持 | FP16/BF16 | WINT8 | WINT4 | INT8-A8W8 | FP8-A8W8 | INT8-A8W8C8 |
Expand Down
1 change: 1 addition & 0 deletions docs/llm/docs/mergekit.md
58 changes: 37 additions & 21 deletions llm/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,23 +13,23 @@
- **大模型无损量化**。大模型套件预先集成了 PaddleSlim LLM.PTQ 量化算法,以及业界广泛采用的 GPTQ 和 AWQ 的 W4量化方法,成功实现了对主流大模型的无损量化处理,显著加速了模型的推理速度。
- **高性能推理**。大模型套件的高性能推理模块内置了动态插入和全环节算子融合的高级策略,这极大地提升了并行推理的速度。同时,该模块隐藏了底层技术细节,为用户提供了开箱即用的高性能并行推理功能。

## 🛠️ 支持模型列表 🛠️

| Model | Pretrain | SFT | LoRA | Prefix Tuning | DPO/SimPO/ORPO | RLHF | Quantization | Torch convert |
|----------------------------------------|----------|-----|------|---------------|-----|------|--------------|---------------|
| [LLaMA](./config/llama) |||||||||
| [Qwen](./config/qwen) |||||| 🚧 | 🚧 ||
| [Mixtral](./config/mixtral) |||||| 🚧 | 🚧 | 🚧 |
| [Mistral](./config/mistral) |||||| 🚧 | 🚧 ||
| [Baichuan/Baichuan2](./config/llama) |||||| 🚧 |||
| [ChatGLM-6B](./config/chatglm) ||||| 🚧 | 🚧 |||
| [ChatGLM2/ChatGLM3](./config/chatglm2) |||||| 🚧 |||
| [Bloom](./config/bloom) ||||| 🚧 | 🚧 |||
| [GPT-3](./config/gpt-3) ||| 🚧 | 🚧 | 🚧 | 🚧 | 🚧 ||
| [OPT](./config/opt) | 🚧 ||| 🚧 | 🚧 | 🚧 | 🚧 ||
| [Gemma](./config/gemma) | 🚧 ||🚧 | 🚧 || 🚧 | 🚧 | 🚧 |
| [Yuan](./config/yuan) |||| 🚧 || 🚧 | 🚧 | 🚧 |
## 🛠️ 支持模型列表 🛠️

| Model | Pretrain | SFT | LoRA | Prefix Tuning | DPO/SimPO/ORPO | RLHF | Mergekit | Quantization | Torch convert |
|----------------------------------------|----------|-----|------|---------------|----------------|------|-------|--------------|---------------|
| [LLaMA](./config/llama) ||||||||||
| [Qwen](./config/qwen) |||||| 🚧 || 🚧 ||
| [Mixtral](./config/mixtral) |||||| 🚧 || 🚧 | 🚧 |
| [Mistral](./config/mistral) |||||| 🚧 || 🚧 ||
| [Baichuan/Baichuan2](./config/llama) |||||| 🚧 ||||
| [ChatGLM-6B](./config/chatglm) ||||| 🚧 | 🚧 ||||
| [ChatGLM2/ChatGLM3](./config/chatglm2) |||||| 🚧 ||||
| [Bloom](./config/bloom) ||||| 🚧 | 🚧 ||||
| [GPT-3](./config/gpt-3) ||| 🚧 | 🚧 | 🚧 | 🚧 || 🚧 ||
| [OPT](./config/opt) |||| 🚧 | 🚧 | 🚧 || 🚧 ||
| [Gemma](./config/gemma) |||| 🚧 || 🚧 || 🚧 | 🚧 |
| [Yuan](./config/yuan) |||| 🚧 || 🚧 || 🚧 | 🚧 |

- ✅: Supported
- 🚧: In Progress
Expand Down Expand Up @@ -202,7 +202,23 @@ python -u -m paddle.distributed.launch --gpus "0,1,2,3,4,5,6,7" ./alignment/dpo

飞桨大模型套件提供了提供了基于强化学习 PPO 算法对 LLM 进行人类偏好对齐的代码及完整使用示例,支持**3D 分布式并行训练以及 rollout 阶段使用预测优化进行生成加速**。详细使用教程详见[RLHF 文档](./docs/rlhf.md)

### 4. 量化
### 4. 模型融合
PadlleNLP 支持多种模型融合方法,包括**Linear、Slerp、Ties、DARE、DELLA**,并支持模型参数稀疏化方法与模型融合算法的灵活组合使用。
```shell
# 模型融合启动命令参考
python mergekit.py \
--device cpu \
--tensor_type np \
--n_process 2 \
--merge_method linear \
--model_path_list ../checkpoints/model1 ../checkpoints/model \
--output_path ../checkpoints/model_merge

```

更多模型融合算法与细节详见[模型融合文档](./docs/mergekit.md)

### 5. 量化

大模型量化将16位、32位浮点数的模型参数或激活量化为4位或8位整数能够有效降低模型存储空间和计算资源需求,同时加速推理速度。量化算法包含:

Expand Down Expand Up @@ -242,7 +258,7 @@ python run_quantization.py ./config/llama/fp8_ptq_argument.json

更多技术细节和模型量化使用详见[量化文档](./docs/quantization.md)

### 5. 推理
### 6. 推理

PaddleNLP 提供高性能推理,内置动态插入和全环节算子融合策略,极大加快并行推理的速度,同时支持 FP16/BF16、WINT8、WINT4、A8W8、A8W8C8多种推理方式。

Expand All @@ -268,15 +284,15 @@ python ./predict/predictor.py --model_name_or_path ./inference --inference_model

更多模型推理使用方法详见[大模型推理文档](./docs/predict/inference.md)

### 6. 服务化部署
### 7. 服务化部署

#### 6.1 环境准备
#### 7.1 环境准备

- python >= 3.8
- gradio
- flask

#### 6.2 Flask & Gradio UI 服务化部署
#### 7.2 Flask & Gradio UI 服务化部署

我们提供了一套基于动态图推理的简单易用 UI 服务化部署脚本,用户可以快速部署服务化推理。

Expand All @@ -294,7 +310,7 @@ python -m paddle.distributed.launch --gpus "0,1,2,3,4,5,6,7" ./predict/flask_ser

此外,如果想通过 API 脚本的方式跑推理,可参考:`./predict/request_flask_server.py` 文件。

### 7. PyTorch 模型权重转换
### 8. PyTorch 模型权重转换

PaddleNLP 提供了可自动将 PyTorch 相关的权重转化为 Paddle 权重的接口,代码如下:

Expand Down
Loading

0 comments on commit c6ab784

Please sign in to comment.