Skip to content

Commit 21714c3

Browse files
authored
Alter faster to fast in FG (PaddlePaddle#4213)
* fix fast got * fix pretrained config used in fg
1 parent 0f21d52 commit 21714c3

File tree

187 files changed

+1778
-1643
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

187 files changed

+1778
-1643
lines changed

README_cn.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ AutoTokenizer.from_pretrained("ernie-3.0-medium-zh", use_fast=True)
244244

245245
为了实现更极致的模型部署性能,安装FastTokenizers后只需在`AutoTokenizer` API上打开 `use_fast=True`选项,即可调用C++实现的高性能分词算子,轻松获得超Python百余倍的文本处理加速,更多使用说明可参考[FastTokenizer文档](./fast_tokenizer)
246246

247-
#### ⚡️ FasterGeneration:高性能生成加速库
247+
#### ⚡️ FastGeneration:高性能生成加速库
248248

249249
<div align="center">
250250
<img src="https://user-images.githubusercontent.com/11793384/168407831-914dced0-3a5a-40b8-8a65-ec82bf13e53c.gif" width="400">
@@ -255,10 +255,10 @@ model = GPTLMHeadModel.from_pretrained('gpt-cpm-large-cn')
255255
...
256256
outputs, _ = model.generate(
257257
input_ids=inputs_ids, max_length=10, decode_strategy='greedy_search',
258-
use_faster=True)
258+
use_fast=True)
259259
```
260260

261-
简单地在`generate()`API上打开`use_faster=True`选项,轻松在Transformer、GPT、BART、PLATO、UniLM等生成式预训练模型上获得5倍以上GPU加速,更多使用说明可参考[FasterGeneration文档](./faster_generation)
261+
简单地在`generate()`API上打开`use_fast=True`选项,轻松在Transformer、GPT、BART、PLATO、UniLM等生成式预训练模型上获得5倍以上GPU加速,更多使用说明可参考[FastGeneration文档](./fast_generation)
262262

263263
#### 🚀 Fleet:飞桨4D混合并行分布式训练技术
264264

README_en.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ AutoTokenizer.from_pretrained("ernie-3.0-medium-zh", use_fast=True)
232232

233233
Set `use_fast=True` to use C++ Tokenizer kernel to achieve 100x faster on text pre-processing. For more usage please refer to [FastTokenizer](./fast_tokenizer).
234234

235-
#### FasterGeneration: High Perforance Generation Library
235+
#### FastGeneration: High Perforance Generation Library
236236

237237
<div align="center">
238238
<img src="https://user-images.githubusercontent.com/11793384/168407831-914dced0-3a5a-40b8-8a65-ec82bf13e53c.gif" width="400">
@@ -243,10 +243,10 @@ model = GPTLMHeadModel.from_pretrained('gpt-cpm-large-cn')
243243
...
244244
outputs, _ = model.generate(
245245
input_ids=inputs_ids, max_length=10, decode_strategy='greedy_search',
246-
use_faster=True)
246+
use_fast=True)
247247
```
248248

249-
Set `use_faster=True` to achieve 5x speedup for Transformer, GPT, BART, PLATO, UniLM text generation. For more usage please refer to [FasterGeneration](./faster_generation).
249+
Set `use_fast=True` to achieve 5x speedup for Transformer, GPT, BART, PLATO, UniLM text generation. For more usage please refer to [FastGeneration](./fast_generation).
250250

251251
#### 🚀 Fleet: 4D Hybrid Distributed Training
252252

applications/text_summarization/pegasus/README.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
- [模型训练](#模型训练)
1818
- [模型预测](#模型预测)
1919
- [模型推理部署](#模型推理部署)
20-
- [FasterGeneration加速及模型静态图导出](#fastergeneration加速及模型静态图导出)
20+
- [FastGeneration加速及模型静态图导出](#fastgeneration加速及模型静态图导出)
2121
- [模型部署](#模型部署)
2222
- [References](#references)
2323

@@ -30,7 +30,7 @@
3030

3131
- 效果领先。在LCSTS上效果达到SOTA。
3232
- 开箱即用。本项目提供TaskFlow接口,无需训练,仅需几行代码便可预测。
33-
- 高性能推理。本项目基于[FasterGeneration](https://github.com/PaddlePaddle/PaddleNLP/tree/develop/faster_generation)
33+
- 高性能推理。本项目基于[FastGeneration](https://github.com/PaddlePaddle/PaddleNLP/tree/develop/fast_generation)
3434
进行推理加速,能够提供更高性能的推理体验。
3535
- 训练推理全流程打通。本项目提供了全面的定制训练流程,从数据准备、模型训练预测,到模型推理部署,一应俱全。
3636

@@ -90,7 +90,7 @@ IDEA-CCNL/Randeng-Pegasus-238M-Summary-Chinese"模型,还支持large模型: "I
9090

9191
- 模型部署需要将保存的最佳模型参数(动态图)导出成静态图参数,用于后续的推理部署。
9292

93-
- 文本摘要应用提供了基于Paddle Inference的本地部署predictor,并且支持在GPU设备使用FasterGeneration进行加速
93+
- 文本摘要应用提供了基于Paddle Inference的本地部署predictor,并且支持在GPU设备使用FastGeneration进行加速
9494

9595
- 文本摘要应用提供了基于Paddle Serving的服务端部署方案。
9696

@@ -259,10 +259,10 @@ Finetuned baseline的模型在[LCSTS](https://aclanthology.org/D15-1229/)测试
259259

260260
### 模型推理部署
261261

262-
#### FasterGeneration加速及模型静态图导出
262+
#### FastGeneration加速及模型静态图导出
263263

264264
使用动态图训练结束之后,可以通过[静态图导出脚本](export_model.py)
265-
实现基于FasterGeneration的高性能预测加速,并将动态图参数导出成静态图参数,静态图参数保存在`output_path`指定路径中。运行方式:
265+
实现基于FastGeneration的高性能预测加速,并将动态图参数导出成静态图参数,静态图参数保存在`output_path`指定路径中。运行方式:
266266

267267
```shell
268268
python export_model.py \

applications/text_summarization/pegasus/deploy/paddle_inference/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Paddle Inference Python端预测部署主要包含两个步骤:
1717

1818

1919
## 导出预测部署模型
20-
部署时需要使用预测格式的模型(即动态图转静态图操作)。预测格式模型相对训练格式模型而言,在拓扑上裁剪掉了预测不需要的算子,并且会做特定部署优化。具体操作详见[FasterGeneration加速及模型静态图导出](../../README.md)
20+
部署时需要使用预测格式的模型(即动态图转静态图操作)。预测格式模型相对训练格式模型而言,在拓扑上裁剪掉了预测不需要的算子,并且会做特定部署优化。具体操作详见[FastGeneration加速及模型静态图导出](../../README.md)
2121

2222
## 基于Python预测
2323
<!-- 同上,高性能预测的默认输入和输出形式也为文件,可分别通过 test_path 和 save_path 进行指定,通过如下命令便可以基于Paddle Inference 进行高性能预测: -->

applications/text_summarization/pegasus/deploy/paddle_serving/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ pip install paddle-serving-server-gpu==0.8.3.post112 # -i https://pypi.tuna.tsin
4949

5050
使用Paddle Serving做服务化部署时,需要将保存的inference模型转换为serving易于部署的模型。
5151

52-
用已安装的paddle_serving_client将静态图参数模型转换成serving格式。关于如何使用将训练后的动态图模型转为静态图模型详见[FasterGeneration加速及模型静态图导出](../../README.md)
52+
用已安装的paddle_serving_client将静态图参数模型转换成serving格式。关于如何使用将训练后的动态图模型转为静态图模型详见[FastGeneration加速及模型静态图导出](../../README.md)
5353

5454
模型转换命令如下:
5555
```shell

applications/text_summarization/pegasus/predict.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ def generate(args):
167167
length_penalty=args.length_penalty,
168168
early_stopping=args.early_stopping,
169169
diversity_rate=args.diversity_rate,
170-
use_faster=args.faster,
170+
use_fast=args.faster,
171171
)
172172
total_time += time.time() - start_time
173173
if step % args.logging_steps == 0:

applications/text_summarization/unimo-text/README.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
- [模型训练](#模型训练)
1919
- [模型预测](#模型预测)
2020
- [模型推理部署](#模型推理部署)
21-
- [FasterGeneration加速及模型静态图导出](#fastergeneration加速及模型静态图导出)
21+
- [FastGeneration加速及模型静态图导出](#fastgeneration加速及模型静态图导出)
2222
- [模型部署](#模型部署)
2323
- [References](#references)
2424

@@ -30,7 +30,7 @@
3030
本项目是基于预训练语言模型UNIMO-Text的文本摘要,具有以下优势:
3131
- 效果领先。
3232
- 开箱即用。本项目提供TaskFlow接口,无需训练,仅需几行代码便可预测。
33-
- 高性能推理。本项目基于[FasterGeneration](https://github.com/PaddlePaddle/PaddleNLP/tree/develop/faster_generation)进行推理加速,能够提供更高性能的推理体验。
33+
- 高性能推理。本项目基于[FastGeneration](https://github.com/PaddlePaddle/PaddleNLP/tree/develop/fast_generation)进行推理加速,能够提供更高性能的推理体验。
3434
- 训练推理全流程打通。本项目提供了全面的定制训练流程,从数据准备、模型训练预测,到模型推理部署,一应俱全。
3535

3636
### 基于预训练语言模型的文本摘要
@@ -92,7 +92,7 @@ PaddleNLP提供开箱即用的产业级NLP预置任务能力,无需训练,
9292

9393
- 模型部署需要将保存的最佳模型参数(动态图)导出成静态图参数,用于后续的推理部署。
9494

95-
- 文本摘要应用提供了基于Paddle Inference的本地部署predictor,并且支持在GPU设备使用FasterGeneration进行加速
95+
- 文本摘要应用提供了基于Paddle Inference的本地部署predictor,并且支持在GPU设备使用FastGeneration进行加速
9696

9797
- 文本摘要应用提供了基于Paddle Serving的服务端部署方案。
9898

@@ -259,9 +259,9 @@ Finetuned baseline的模型在[LCSTS](https://aclanthology.org/D15-1229/)测试
259259

260260
### 模型推理部署
261261

262-
#### FasterGeneration加速及模型静态图导出
262+
#### FastGeneration加速及模型静态图导出
263263

264-
使用动态图训练结束之后,可以通过[静态图导出脚本](export_model.py)实现基于FasterGeneration的高性能预测加速,并将动态图参数导出成静态图参数,静态图参数保存在`output_path`指定路径中。运行方式:
264+
使用动态图训练结束之后,可以通过[静态图导出脚本](export_model.py)实现基于FastGeneration的高性能预测加速,并将动态图参数导出成静态图参数,静态图参数保存在`output_path`指定路径中。运行方式:
265265

266266
```shell
267267
python export_model.py \

applications/text_summarization/unimo-text/deploy/paddle_inference/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Paddle Inference Python端预测部署主要包含两个步骤:
1717

1818

1919
## 导出预测部署模型
20-
部署时需要使用预测格式的模型(即动态图转静态图操作)。预测格式模型相对训练格式模型而言,在拓扑上裁剪掉了预测不需要的算子,并且会做特定部署优化。具体操作详见[FasterGeneration加速及模型静态图导出](../../README.md)
20+
部署时需要使用预测格式的模型(即动态图转静态图操作)。预测格式模型相对训练格式模型而言,在拓扑上裁剪掉了预测不需要的算子,并且会做特定部署优化。具体操作详见[FastGeneration加速及模型静态图导出](../../README.md)
2121

2222
## 基于Python预测
2323
<!-- 同上,高性能预测的默认输入和输出形式也为文件,可分别通过 test_path 和 save_path 进行指定,通过如下命令便可以基于Paddle Inference 进行高性能预测: -->

applications/text_summarization/unimo-text/deploy/paddle_serving/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ pip install paddle-serving-server-gpu==0.8.3.post112 # -i https://pypi.tuna.tsin
4949

5050
使用Paddle Serving做服务化部署时,需要将保存的inference模型转换为serving易于部署的模型。
5151

52-
用已安装的paddle_serving_client将静态图参数模型转换成serving格式。关于如何使用将训练后的动态图模型转为静态图模型详见[FasterGeneration加速及模型静态图导出](../../README.md)
52+
用已安装的paddle_serving_client将静态图参数模型转换成serving格式。关于如何使用将训练后的动态图模型转为静态图模型详见[FastGeneration加速及模型静态图导出](../../README.md)
5353

5454
模型转换命令如下:
5555
```shell

docs/FAQ.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ emb.set_state_dict(load_layer_state_dict) # 加载模型参数
139139

140140
##### Q1.5 如何提升模型的性能,提升QPS?
141141

142-
**A:** 从工程角度,对于服务器端部署可以使用[Paddle Inference](https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/05_inference_deployment/inference/inference_cn.html)高性能预测引擎进行预测部署。对于Transformer类模型的GPU预测还可以使用PaddleNLP中提供的[FasterTransformer](https://github.com/PaddlePaddle/PaddleNLP/tree/develop/paddlenlp/ops)功能来进行快速预测,其集成了[NV FasterTransformer](https://github.com/NVIDIA/FasterTransformer)并进行了功能增强。
142+
**A:** 从工程角度,对于服务器端部署可以使用[Paddle Inference](https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/05_inference_deployment/inference/inference_cn.html)高性能预测引擎进行预测部署。对于Transformer类模型的GPU预测还可以使用PaddleNLP中提供的[FastGeneration](https://github.com/PaddlePaddle/PaddleNLP/tree/develop/paddlenlp/ops)功能来进行快速预测,其集成了[NV FasterTransformer](https://github.com/NVIDIA/FasterTransformer)并进行了功能增强。
143143

144144
从模型策略角度,可以使用一些模型小型化技术来进行模型压缩,如模型蒸馏和裁剪,通过小模型来实现加速。PaddleNLP中集成了ERNIE-Tiny这样一些通用小模型供下游任务微调使用。另外PaddleNLP提供了[模型压缩示例](https://github.com/PaddlePaddle/PaddleNLP/tree/develop/examples/model_compression),实现了DynaBERT、TinyBERT、MiniLM等方法策略,可以参考对自己的模型进行蒸馏压缩。
145145

0 commit comments

Comments
 (0)