13
13
- ** 大模型无损量化** 。大模型套件预先集成了 PaddleSlim LLM.PTQ 量化算法,以及业界广泛采用的 GPTQ 和 AWQ 的 W4量化方法,成功实现了对主流大模型的无损量化处理,显著加速了模型的推理速度。
14
14
- ** 高性能推理** 。大模型套件的高性能推理模块内置了动态插入和全环节算子融合的高级策略,这极大地提升了并行推理的速度。同时,该模块隐藏了底层技术细节,为用户提供了开箱即用的高性能并行推理功能。
15
15
16
- ## 🛠️ 支持模型列表 🛠️
17
16
18
- | Model | Pretrain | SFT | LoRA | Prefix Tuning | DPO/SimPO/ORPO | RLHF | Quantization | Torch convert |
19
- | ----------------------------------------| ----------| -----| ------| ---------------| -----| ------| --------------| ---------------|
20
- | [ LLaMA] ( ./config/llama ) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
21
- | [ Qwen] ( ./config/qwen ) | ✅ | ✅ | ✅ | ✅ | ✅ | 🚧 | 🚧 | ✅ |
22
- | [ Mixtral] ( ./config/mixtral ) | ✅ | ✅ | ✅ | ❌ | ✅ | 🚧 | 🚧 | 🚧 |
23
- | [ Mistral] ( ./config/mistral ) | ❌ | ✅ | ✅ | ✅ | ✅ | 🚧 | 🚧 | ✅ |
24
- | [ Baichuan/Baichuan2] ( ./config/llama ) | ✅ | ✅ | ✅ | ✅ | ✅ | 🚧 | ✅ | ✅ |
25
- | [ ChatGLM-6B] ( ./config/chatglm ) | ❌ | ✅ | ✅ | ✅ | 🚧 | 🚧 | ✅ | ❌ |
26
- | [ ChatGLM2/ChatGLM3] ( ./config/chatglm2 ) | ❌ | ✅ | ✅ | ✅ | ✅ | 🚧 | ✅ | ✅ |
27
- | [ Bloom] ( ./config/bloom ) | ❌ | ✅ | ✅ | ✅ | 🚧 | 🚧 | ✅ | ✅ |
28
- | [ GPT-3] ( ./config/gpt-3 ) | ✅ | ✅ | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | ✅ |
29
- | [ OPT] ( ./config/opt ) | 🚧 | ✅ | ✅ | 🚧 | 🚧 | 🚧 | 🚧 | ✅ |
30
- | [ Gemma] ( ./config/gemma ) | 🚧 | ✅ | 🚧 | 🚧 | ✅ | 🚧 | 🚧 | 🚧 |
31
- | [ Yuan] ( ./config/yuan ) | ✅ | ✅ | ✅ | 🚧 | ✅ | 🚧 | 🚧 | 🚧 |
17
+ ## 🛠️ 支持模型列表 🛠️
32
18
19
+ | Model | Pretrain | SFT | LoRA | Prefix Tuning | DPO/SimPO/ORPO | RLHF | Mergekit | Quantization | Torch convert |
20
+ | ----------------------------------------| ----------| -----| ------| ---------------| ----------------| ------| -------| --------------| ---------------|
21
+ | [ LLaMA] ( ./config/llama ) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
22
+ | [ Qwen] ( ./config/qwen ) | ✅ | ✅ | ✅ | ✅ | ✅ | 🚧 | ✅ | 🚧 | ✅ |
23
+ | [ Mixtral] ( ./config/mixtral ) | ✅ | ✅ | ✅ | ❌ | ✅ | 🚧 | ✅ | 🚧 | 🚧 |
24
+ | [ Mistral] ( ./config/mistral ) | ✅ | ✅ | ✅ | ✅ | ✅ | 🚧 | ✅ | 🚧 | ✅ |
25
+ | [ Baichuan/Baichuan2] ( ./config/llama ) | ✅ | ✅ | ✅ | ✅ | ✅ | 🚧 | ✅ | ✅ | ✅ |
26
+ | [ ChatGLM-6B] ( ./config/chatglm ) | ✅ | ✅ | ✅ | ✅ | 🚧 | 🚧 | ✅ | ✅ | ❌ |
27
+ | [ ChatGLM2/ChatGLM3] ( ./config/chatglm2 ) | ✅ | ✅ | ✅ | ✅ | ✅ | 🚧 | ✅ | ✅ | ✅ |
28
+ | [ Bloom] ( ./config/bloom ) | ✅ | ✅ | ✅ | ✅ | 🚧 | 🚧 | ✅ | ✅ | ✅ |
29
+ | [ GPT-3] ( ./config/gpt-3 ) | ✅ | ✅ | 🚧 | 🚧 | 🚧 | 🚧 | ✅ | 🚧 | ✅ |
30
+ | [ OPT] ( ./config/opt ) | ✅ | ✅ | ✅ | 🚧 | 🚧 | 🚧 | ✅ | 🚧 | ✅ |
31
+ | [ Gemma] ( ./config/gemma ) | ✅ | ✅ | ✅ | 🚧 | ✅ | 🚧 | ✅ | 🚧 | 🚧 |
32
+ | [ Yuan] ( ./config/yuan ) | ✅ | ✅ | ✅ | 🚧 | ✅ | 🚧 | ✅ | 🚧 | 🚧 |
33
33
34
34
- ✅: Supported
35
35
- 🚧: In Progress
@@ -202,7 +202,23 @@ python -u -m paddle.distributed.launch --gpus "0,1,2,3,4,5,6,7" ./alignment/dpo
202
202
203
203
飞桨大模型套件提供了提供了基于强化学习 PPO 算法对 LLM 进行人类偏好对齐的代码及完整使用示例,支持** 3D 分布式并行训练以及 rollout 阶段使用预测优化进行生成加速** 。详细使用教程详见[ RLHF 文档] ( ./docs/rlhf.md ) 。
204
204
205
- ### 4. 量化
205
+ ### 4. 模型融合
206
+ PadlleNLP 支持多种模型融合方法,包括** Linear、Slerp、Ties、DARE、DELLA** ,并支持模型参数稀疏化方法与模型融合算法的灵活组合使用。
207
+ ``` shell
208
+ # 模型融合启动命令参考
209
+ python mergekit.py \
210
+ --device cpu \
211
+ --tensor_type np \
212
+ --n_process 2 \
213
+ --merge_method linear \
214
+ --model_path_list ../checkpoints/model1 ../checkpoints/model \
215
+ --output_path ../checkpoints/model_merge
216
+
217
+ ```
218
+
219
+ 更多模型融合算法与细节详见[ 模型融合文档] ( ./docs/mergekit.md ) 。
220
+
221
+ ### 5. 量化
206
222
207
223
大模型量化将16位、32位浮点数的模型参数或激活量化为4位或8位整数能够有效降低模型存储空间和计算资源需求,同时加速推理速度。量化算法包含:
208
224
@@ -242,7 +258,7 @@ python run_quantization.py ./config/llama/fp8_ptq_argument.json
242
258
243
259
更多技术细节和模型量化使用详见[ 量化文档] ( ./docs/quantization.md ) 。
244
260
245
- ### 5 . 推理
261
+ ### 6 . 推理
246
262
247
263
PaddleNLP 提供高性能推理,内置动态插入和全环节算子融合策略,极大加快并行推理的速度,同时支持 FP16/BF16、WINT8、WINT4、A8W8、A8W8C8多种推理方式。
248
264
@@ -268,15 +284,15 @@ python ./predict/predictor.py --model_name_or_path ./inference --inference_model
268
284
269
285
更多模型推理使用方法详见[ 大模型推理文档] ( ./docs/predict/inference.md ) 。
270
286
271
- ### 6 . 服务化部署
287
+ ### 7 . 服务化部署
272
288
273
- #### 6 .1 环境准备
289
+ #### 7 .1 环境准备
274
290
275
291
- python >= 3.8
276
292
- gradio
277
293
- flask
278
294
279
- #### 6 .2 Flask & Gradio UI 服务化部署
295
+ #### 7 .2 Flask & Gradio UI 服务化部署
280
296
281
297
我们提供了一套基于动态图推理的简单易用 UI 服务化部署脚本,用户可以快速部署服务化推理。
282
298
@@ -294,7 +310,7 @@ python -m paddle.distributed.launch --gpus "0,1,2,3,4,5,6,7" ./predict/flask_ser
294
310
295
311
此外,如果想通过 API 脚本的方式跑推理,可参考:` ./predict/request_flask_server.py ` 文件。
296
312
297
- ### 7 . PyTorch 模型权重转换
313
+ ### 8 . PyTorch 模型权重转换
298
314
299
315
PaddleNLP 提供了可自动将 PyTorch 相关的权重转化为 Paddle 权重的接口,代码如下:
300
316
0 commit comments