Skip to content

Commit ed7f01d

Browse files
yuanlehomeDrownFish19ckl117bukejiyu
authored
[Inference] Add deepseek doc (#9964)
* add deepseek doc * fix dead links * remove png * fp8 for mtp * check * add weight_block_size and moe_quant_type * Update inference.md * add server * fix * update * Update deepseek.md * update * update --------- Co-authored-by: DrownFish19 <DrownFish19@gmail.com> Co-authored-by: ckl117 <ckl117@163.com> Co-authored-by: bukejiyu <395822456@qq.com>
1 parent a381674 commit ed7f01d

File tree

14 files changed

+708
-35
lines changed

14 files changed

+708
-35
lines changed

README.md

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@
3333

3434
## News 📢
3535

36-
* **2025.02.20 🔥🔥《PP-UIE信息抽取智能引擎全新升级** 强化零样本学习能力,支持极少甚至零标注数据实现高效冷启动与迁移学习,显著降低数据标注成本;具备处理长文本能力,支持 8192 个Token长度文档信息抽取,实现跨段落识别关键信息,形成完整理解;提供完整可定制化的训练和推理全流程,训练效率相较于LLama-Factory实现了1.8倍的提升。
37-
2月26日(周三)19:00为您深度解析全新PP-UIE技术方案及在部署方面的功能、优势与技巧。报名链接:https://www.wjx.top/vm/mBKC6pb.aspx?udsid=606418
36+
* **2025.02.20 🔥🔥《PP-UIE 信息抽取智能引擎全新升级** 强化零样本学习能力,支持极少甚至零标注数据实现高效冷启动与迁移学习,显著降低数据标注成本;具备处理长文本能力,支持 8192 个 Token 长度文档信息抽取,实现跨段落识别关键信息,形成完整理解;提供完整可定制化的训练和推理全流程,训练效率相较于 LLama-Factory 实现了1.8倍的提升。
37+
2月26日(周三)19:00为您深度解析全新 PP-UIE 技术方案及在部署方面的功能、优势与技巧。报名链接:https://www.wjx.top/vm/mBKC6pb.aspx?udsid=606418
3838

3939
* **2025.02.10 PaddleNLP 现已支持 DeepSeek-R1系列模型,[在线使用](https://aistudio.baidu.com/projectdetail/8775758)**:依托全新的 PaddleNLP 3.0套件,DeepSeek-R1系列模型现已全面支持。凭借数据并行、数据分组切分并行、模型并行、流水线并行以及专家并行等一系列先进的分布式训练能力,结合 Paddle 框架独有的列稀疏注意力掩码表示技术——FlashMask 方法,DeepSeek-R1系列模型在训练过程中显著降低了显存消耗,同时取得了卓越的训练性能提升。
4040

@@ -154,17 +154,18 @@
154154
| [OPT](./llm/config/opt) |||| 🚧 | 🚧 | 🚧 | 🚧 || 🚧 |
155155
| [Gemma](./llm/config/gemma) |||| 🚧 | 🚧 || 🚧 || 🚧 |
156156
| [Yuan](./llm/config/yuan) |||| 🚧 | 🚧 || 🚧 || 🚧 |
157-
* [大模型推理](./llm/docs/predict/inference.md)已支持 LLaMA 系列、Qwen 系列、Mistral 系列、ChatGLM 系列、Bloom 系列和 Baichuan 系列,支持 Weight Only INT8及 INT4推理,支持 WAC(权重、激活、Cache KV)进行 INT8、FP8量化的推理,【LLM】模型推理支持列表如下:
157+
* [大模型推理](./llm/docs/predict/inference.md)已支持 LLaMA 系列、Qwen 系列、DeepSeek 系列、Mistral 系列、ChatGLM 系列、Bloom 系列和 Baichuan 系列,支持 Weight Only INT8及 INT4推理,支持 WAC(权重、激活、Cache KV)进行 INT8、FP8量化的推理,【LLM】模型推理支持列表如下:
158158

159-
| 模型名称/量化类型支持 | FP16/BF16 | WINT8 | WINT4 | INT8-A8W8 | FP8-A8W8 | INT8-A8W8C8 |
159+
| 模型名称/量化类型支持 | FP16/BF16 | WINT8 | WINT4 | INT8-A8W8 | FP8-A8W8 | INT8-A8W8C8 |
160160
|:----------------------------------------:|:---------:|:-----:|:-----:|:---------:|:--------:|:-----------:|
161161
| [LLaMA](./llm/docs/predict/llama.md) |||||||
162162
| [Qwen](./llm/docs/predict/qwen.md) |||||||
163-
| [Qwen-Moe](./llm/docs/predict/qwen.md) |||| 🚧 | 🚧 | 🚧 |
164-
| [Mixtral](./llm/docs/predict/mixtral.md) |||| 🚧 | 🚧 | 🚧 |
165-
| ChatGLM |||| 🚧 | 🚧 | 🚧 |
166-
| Bloom |||| 🚧 | 🚧 | 🚧 |
167-
| BaiChuan |||||| 🚧 |
163+
|[DeepSeek](./llm/docs/predict/deepseek.md)|||| 🚧 || 🚧 |
164+
| [Qwen-Moe](./llm/docs/predict/qwen.md) |||| 🚧 | 🚧 | 🚧 |
165+
| [Mixtral](./llm/docs/predict/mixtral.md) |||| 🚧 | 🚧 | 🚧 |
166+
| ChatGLM |||| 🚧 | 🚧 | 🚧 |
167+
| Bloom |||| 🚧 | 🚧 | 🚧 |
168+
| BaiChuan |||||| 🚧 |
168169

169170
## 安装
170171

docs/llm/docs/predict/deepseek.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../../../llm/docs/predict/deepseek.md

docs/llm/docs/predict/models.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,5 @@
77

88
llama.md
99
qwen.md
10+
deepseek.md
1011
mixtral.md

docs/llm/docs/prm.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../../llm/docs/prm.md

llm/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -495,7 +495,7 @@ curl 127.0.0.1:9965/v1/chat/completions \
495495
Note:
496496
1. 请保证 shm-size >= 5,不然可能会导致服务启动失败
497497

498-
更多模型请参考[LLaMA](./docs/predict/llama.md)[Qwen](./docs/predict/qwen.md)[Mixtral](./docs/predict/mixtral.md)
498+
更多模型请参考[LLaMA](./docs/predict/llama.md)[Qwen](./docs/predict/qwen.md)[DeepSeek](./docs/predict/deepseek.md)[Mixtral](./docs/predict/mixtral.md)
499499
更多关于该部署工具的使用方法,请查看[服务化部署流程](./server/docs/deploy_usage_tutorial.md)
500500

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

llm/application/information_extraction/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ for sentence, prompt, result in zip(sentences, prompts, results):
239239

240240
#### 3.2 数据标注
241241

242-
我们推荐使用数据标注平台[doccano](https://github.com/doccano/doccano) 进行数据标注,本示例也打通了从标注到训练的通道,即 doccano 导出数据后可通过[doccano.py](./doccano.py)脚本轻松将数据转换为输入模型时需要的形式,实现无缝衔接。标注方法的详细介绍请参考[doccano 数据标注指南](doccano.md)
242+
我们推荐使用数据标注平台[doccano](https://github.com/doccano/doccano) 进行数据标注,本示例也打通了从标注到训练的通道,即 doccano 导出数据后可通过[doccano.py](https://github.com/PaddlePaddle/PaddleNLP/blob/develop/llm/application/information_extraction/doccano.py)脚本轻松将数据转换为输入模型时需要的形式,实现无缝衔接。标注方法的详细介绍请参考[doccano 数据标注指南](doccano.md)
243243

244244
原始数据示例:
245245

@@ -288,8 +288,8 @@ python doccano.py \
288288
- ``schema_lang``: 选择 schema 的语言,可选有`ch``en`。默认为`ch`,英文数据集请选择`en`
289289

290290
备注:
291-
- 默认情况下 [doccano.py](./doccano.py) 脚本会按照比例将数据划分为 train/dev/test 数据集
292-
- 每次执行 [doccano.py](./doccano.py) 脚本,将会覆盖已有的同名数据文件
291+
- 默认情况下 doccano.py 脚本会按照比例将数据划分为 train/dev/test 数据集
292+
- 每次执行 doccano.py 脚本,将会覆盖已有的同名数据文件
293293
- 在模型训练阶段我们推荐构造一些负例以提升模型效果,在数据转换阶段我们内置了这一功能。可通过`negative_ratio`控制自动构造的负样本比例;负样本数量 = negative_ratio * 正样本数量。
294294
- 对于从 doccano 导出的文件,默认文件中的每条数据都是经过人工正确标注的。
295295

@@ -357,7 +357,7 @@ python -u -m paddle.distributed.launch --gpus "0,1" run_finetune.py ./config/qw
357357
- 支持 Weight Only INT8及 INT4推理,支持权重、激活、Cache KV 进行 INT8、FP8量化的推理
358358
- 支持动态图推理和静态图推理两种方式
359359

360-
在推理之前,推荐编译安装 PaddleNLP 大模型高性能自定义推理算子。使用这些高性能算子,可以大幅提升大模型推理速度。详细的安装教程请参考[大模型高性能推理算子安装教程](../../../csrc/README.md)
360+
在推理之前,推荐编译安装 PaddleNLP 大模型高性能自定义推理算子。使用这些高性能算子,可以大幅提升大模型推理速度。详细的安装教程请参考[大模型高性能推理算子安装教程](https://github.com/PaddlePaddle/PaddleNLP/blob/develop/csrc/README.md)
361361

362362
安装完之后,可按照下列指令,进行高性能推理。
363363

llm/application/information_extraction/doccano.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ schema = {
230230
#### 7.1 抽取式任务数据转换
231231

232232
- 当标注完成后,在 doccano 平台上导出 `JSONL(relation)` 形式的文件,并将其重命名为 `doccano_ext.json` 后,放入 `./data` 目录下。
233-
- 通过 [doccano.py](./doccano.py) 脚本进行数据形式转换,然后便可以开始进行相应模型训练。
233+
- 通过 [doccano.py](https://github.com/PaddlePaddle/PaddleNLP/blob/develop/llm/application/information_extraction/doccano.py) 脚本进行数据形式转换,然后便可以开始进行相应模型训练。
234234

235235
```shell
236236
python doccano.py \
@@ -251,8 +251,8 @@ python doccano.py \
251251
- ``schema_lang``: 选择 schema 的语言,可选有`ch``en`。默认为`ch`,英文数据集请选择`en`
252252

253253
备注:
254-
- 默认情况下 [doccano.py](./doccano.py) 脚本会按照比例将数据划分为 train/dev/test 数据集
255-
- 每次执行 [doccano.py](./doccano.py) 脚本,将会覆盖已有的同名数据文件
254+
- 默认情况下 doccano.py 脚本会按照比例将数据划分为 train/dev/test 数据集
255+
- 每次执行 doccano.py 脚本,将会覆盖已有的同名数据文件
256256
- 在模型训练阶段我们推荐构造一些负例以提升模型效果,在数据转换阶段我们内置了这一功能。可通过`negative_ratio`控制自动构造的负样本比例;负样本数量 = negative_ratio * 正样本数量。
257257
- 对于从 doccano 导出的文件,默认文件中的每条数据都是经过人工正确标注的。
258258

llm/docs/predict/best_practices.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ PaddleNLP 提供了多种环境变量,用于优化推理性能和资源使用
1111

1212
- `FLAGS_CUTLASS_FP8_GEMM`: fp8 gemm 是否使用 cutlass 版本,默认值为 False, 表示不开启。设置为 True,则在 A8W8模型上使用 Tensor Core 进行计算,性能会更好。
1313

14-
- `FLAGS_use_cutlass_device_best_config_path`: 在 `FLAGS_CUTLASS_FP8_GEMM` 设为 True 的前提下,使用该环境变量来指定离线调优出的 fp8 gemm 配置文件。配置文件可以通过`PaddleNLP/csrc/utils/tune_cutlass_fp8_*.py`产出,该脚本会自动搜索当前输入大小下提供的最优 gemm 配置并将结果记录下来,默认产出文件为`fp8_fuse_gemm_config.json`。不同 NVIDIA GPU 和 CUDA 版本需要分别调优,SM89架构 GPU 增加 dual_gemm 调优,具体可参考`dual_gemm.py`。可选值:`tune`,开启调优;空值或`default`,使用默认配置;任意值,优先使用配置文件中的参数,若无则使用默认配置。
14+
- `FLAGS_use_cutlass_device_best_config_path`: 在 `FLAGS_CUTLASS_FP8_GEMM` 设为 True 的前提下,使用该环境变量来指定离线调优出的 fp8 gemm 配置文件。配置文件可以通过`csrc/utils/tune_cutlass_fp8_*.py`产出,该脚本会自动搜索当前输入大小下提供的最优 gemm 配置并将结果记录下来,默认产出文件为`fp8_fuse_gemm_config.json`。不同 NVIDIA GPU 和 CUDA 版本需要分别调优,SM89及 SM90架构 GPU 增加 dual_gemm 调优,具体可参考`dual_gemm.py`。可选值:`tune`,开启调优;空值或`default`,使用默认配置;任意值,优先使用配置文件中的参数,若无则使用默认配置。此外,也支持 DeepSeek 系列模型 Block wise FP8 gemm 调优, 具体参考`csrc/tools/tune_fp8_gemm.sh`
1515

1616
- `FLAGS_cuda_core_int8_gemm`:是否开启小 Batch Int8 Gemm 优化,默认值不开启。设为1可开启,推理 A8W8模型时,平均性能会加速约40%-55%,适用于 SM>=70的显卡。
1717

@@ -29,6 +29,10 @@ PaddleNLP 提供了多种环境变量,用于优化推理性能和资源使用
2929

3030
**Append Attention 优化**
3131

32-
- `FLAGS_cascade_attention_max_partition_size`Append Attention decoder 计算时对 cache_kv 进行分 chunk 的 chunk 大小,默认值根据 batchsize 设置,batchsize=1时设置为128,batchsize>1时设置为512。显式设置时不再区分 batchsize
32+
- `FLAGS_cascade_attention_max_partition_size`:Attention decoder 计算时对 cache_kv 进行分 chunk 的 chunk 大小,默认值根据 batch_size 设置,batch_size = 1 时设置为 128,batchsize > 1 时设置为 512。显式设置时不再区分 batch_size
3333
- `FLAGS_dec_block_shape_q`:Append Attention decoder 计算时对 q 进行分块的分块大小,默认值为16。
3434
- `FLAGS_enc_block_shape_q`:Append Attention encoder 计算时对 q 进行分块的分块大小,默认值为64。
35+
36+
**MLA 相关优化**
37+
- `FLAGS_mla_use_tensorcore`:MLA 计算时是否使用 tensor core 实现,默认为 True,仅支持 Hoppers 架构显卡。为 False 时则采用 cuda core 实现,同时支持 Ampper 和
38+
Hopper 架构。

0 commit comments

Comments
 (0)