File tree Expand file tree Collapse file tree 5 files changed +11
-11
lines changed
advanced_guide/fastergeneration
locale/en/LC_MESSAGES/advanced_guide/fastergeneration Expand file tree Collapse file tree 5 files changed +11
-11
lines changed Original file line number Diff line number Diff line change @@ -8,7 +8,7 @@ FasterGeneration是PaddleNLP v2.2版本加入的一个高性能推理功能,
8
8
9
9
- 全面支持生成式预训练模型。包括GPT、BART、mBART、UnifiedTransformer和UNIMO-text。
10
10
- 支持大多数主流解码策略。包括Beam Search、Sampling、Greedy Search。以及Diverse Sibling Search、Length Penalty等子策略。
11
- - 解码速度快。最高可达非加速版generate函数的 **17倍 **。HuggingFace generate函数的 **8倍 **。**并支持FP16混合精度计算 **。 详细性能试验数据请参见 `FasterGeneration Performence <https://github.com/PaddlePaddle/PaddleNLP/tree/develop/examples/experimental/ faster_generation/perf >`_ 。
11
+ - 解码速度快。最高可达非加速版generate函数的 **17倍 **。HuggingFace generate函数的 **8倍 **。**并支持FP16混合精度计算 **。 详细性能试验数据请参见 `FasterGeneration Performence <https://github.com/PaddlePaddle/PaddleNLP/tree/develop/faster_generation/perf >`_ 。
12
12
- 易用性强。功能的入口为 `model.generate ` ,与非加速版生成api的使用方法相同,当满足加速条件时使用jit即时编译高性能算子并用于生成,不满足则自动切换回非加速版生成api。下图展示了FasterGeneration的启动流程:
13
13
14
14
.. image :: /imgs/faster_generation.png
@@ -23,7 +23,7 @@ FasterGeneration是PaddleNLP v2.2版本加入的一个高性能推理功能,
23
23
python samples/gpt_sample.py
24
24
25
25
26
- 如果是第一次执行,PaddleNLP会启动即时编译( `JIT Compile <https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/07_new_op /new_custom_op_cn.html#jit-compile >`_ )自动编译高性能解码算子。
26
+ 如果是第一次执行,PaddleNLP会启动即时编译( `JIT Compile <https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/new_op /new_custom_op_cn.html#jit-compile >`_ )自动编译高性能解码算子。
27
27
28
28
.. code-block ::
29
29
Original file line number Diff line number Diff line change @@ -49,7 +49,7 @@ msgstr ""
49
49
msgid ""
50
50
"解码速度快。最高可达非加速版generate函数的 **17倍**。HuggingFace generate函数的 "
51
51
"**8倍**。**并支持FP16混合精度计算**。 详细性能试验数据请参见 `FasterGeneration Performence "
52
- "<https://github.com/PaddlePaddle/PaddleNLP/tree/develop/examples/experimental/ faster_generation/perf>`_"
52
+ "<https://github.com/PaddlePaddle/PaddleNLP/tree/develop/faster_generation/perf>`_"
53
53
" 。"
54
54
msgstr ""
55
55
@@ -73,7 +73,7 @@ msgstr ""
73
73
#: ../advanced_guide/fastergeneration/fastergeneration.rst:26
74
74
msgid ""
75
75
"如果是第一次执行,PaddleNLP会启动即时编译( `JIT Compile "
76
- "<https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/07_new_op /new_custom_op_cn.html"
76
+ "<https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/new_op /new_custom_op_cn.html#jit-compile "
77
77
"#jit-compile>`_ )自动编译高性能解码算子。"
78
78
msgstr ""
79
79
Original file line number Diff line number Diff line change @@ -56,7 +56,7 @@ FasterGeneration的高性能解码相比原版generate方法加速明显,并
56
56
<img src =" ../docs/imgs/gpt_perf.png " width =" 800 " height =" 400 " />
57
57
</p >
58
58
59
- 更详细的性能数据请参见[ 这里] ( https://github.com/PaddlePaddle/PaddleNLP/tree/develop/examples/faster/ faster_generation/perf )
59
+ 更详细的性能数据请参见[ 这里] ( https://github.com/PaddlePaddle/PaddleNLP/tree/develop/faster_generation/perf )
60
60
61
61
## Quick Start
62
62
@@ -68,7 +68,7 @@ FasterGeneration的高性能解码相比原版generate方法加速明显,并
68
68
python samples/gpt_sample.py
69
69
```
70
70
71
- 如果是第一次执行,PaddleNLP会启动即时编译([ JIT Compile] ( https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/07_new_op /new_custom_op_cn.html#jit-compile ) )自动编译高性能解码算子。
71
+ 如果是第一次执行,PaddleNLP会启动即时编译([ JIT Compile] ( https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/new_op /new_custom_op_cn.html#jit-compile ) )自动编译高性能解码算子。
72
72
73
73
``` sh
74
74
...
Original file line number Diff line number Diff line change @@ -68,9 +68,9 @@ python export_model.py --model_name_or_path gpt2-medium-en --topk 4 --topp 0.0 -
68
68
69
69
各个选项的意义与上文的 ` infer.py ` 的选项相同。额外新增一个 ` --inference_model_dir ` 选项用于指定保存的模型文件、词表等文件。
70
70
71
- 若当前环境下没有需要的自定义 op 的动态库,将会使用 JIT 自动编译需要的动态库。如果需要自行编译自定义 op 所需的动态库,可以参考 [ 文本生成高性能加速] ( ../../../paddlenlp/ops/README.md ) 。编译好后,可以在执行 ` export_model.py ` 时使用 ` --decoding_lib ../../../paddlenlp/ops/build/lib/libdecoding_op.so ` 可以完成导入。
71
+ 若当前环境下没有需要的自定义 op 的动态库,将会使用 JIT 自动编译需要的动态库。如果需要自行编译自定义 op 所需的动态库,可以参考 [ 文本生成高性能加速] ( ../../../../ paddlenlp/ops/README.md ) 。编译好后,可以在执行 ` export_model.py ` 时使用 ` --decoding_lib ../ ../../../paddlenlp/ops/build/lib/libdecoding_op.so ` 可以完成导入。
72
72
73
- 注意:如果是自行编译的话,这里的 ` libdecoding_op.so ` 的动态库是参照文档 [ 文本生成高性能加速] ( ../../../paddlenlp/ops/README.md ) 中 ** ` Python 动态图使用自定义 op ` ** 编译出来的 lib,与相同文档中 ** ` C++ 预测库使用自定义 op ` ** 编译产出不同。因此,在使用预测库前,还需要额外导出模型:
73
+ 注意:如果是自行编译的话,这里的 ` libdecoding_op.so ` 的动态库是参照文档 [ 文本生成高性能加速] ( ../../../../ paddlenlp/ops/README.md ) 中 ** ` Python 动态图使用自定义 op ` ** 编译出来的 lib,与相同文档中 ** ` C++ 预测库使用自定义 op ` ** 编译产出不同。因此,在使用预测库前,还需要额外导出模型:
74
74
* 一次用于获取 Python 动态图下的 lib,用到 Python 端进行模型导出。
75
75
* 一次获取编译的基于预测库的可执行文件
76
76
@@ -87,6 +87,6 @@ python export_model.py --model_name_or_path gpt2-medium-en --topk 4 --topp 0.0 -
87
87
88
88
### C++ 预测库使用高性能加速
89
89
90
- C++ 预测库使用 FasterGPT 的高性能加速需要自行编译,可以参考 [ 文本生成高性能加速] ( ../../../paddlenlp/ops/README.md ) 文档完成基于 C++ 预测库的编译,同时也可以参考相同文档执行对应的 C++ 预测库的 demo 完成预测。
90
+ C++ 预测库使用 FasterGPT 的高性能加速需要自行编译,可以参考 [ 文本生成高性能加速] ( ../../../../ paddlenlp/ops/README.md ) 文档完成基于 C++ 预测库的编译,同时也可以参考相同文档执行对应的 C++ 预测库的 demo 完成预测。
91
91
92
- 具体的使用 demo 可以参考 [ GPT-2 预测库 C++ demo] ( ../../../paddlenlp/ops/faster_transformer/src/demo/gpt.cc ) 。
92
+ 具体的使用 demo 可以参考 [ GPT-2 预测库 C++ demo] ( ../../../../ paddlenlp/ops/faster_transformer/src/demo/gpt.cc ) 。
Original file line number Diff line number Diff line change 45
45
* ` FasterGPT() ` : 支持 GPT 模型的预测加速功能。使用示例可以参考 [ GPT 预测加速使用示例] ( ../../model_zoo/gpt/faster_gpt/ ) 。
46
46
* ` FasterUnifiedTransformer() ` : 支持 UnifiedTransformer 模型的预测加速功能。使用示例可以参考 [ UnifiedTransformer 预测加速使用示例] ( ../../examples/dialogue/unified_transformer/ ) 以及 PLATO-XL 的使用示例可以参考 [ PLATO-XL 11B 使用示例] ( ../../examples/dialogue/plato-xl/ ) 。
47
47
* ` FasterUNIMOText() ` : 支持 UNIMOText 模型预测加速功能。
48
- * 使用示例可以参考 [ UNIMOText 预测加速使用示例] ( ../../examples/faster/ faster_generation/samples/unimo_text_sample.py ) 。
48
+ * 使用示例可以参考 [ UNIMOText 预测加速使用示例] ( ../../faster_generation/samples/unimo_text_sample.py ) 。
49
49
* 同样,我们提供了动转静以及 Paddle Inference 使用的示例,详细可以参考 [ 动转静导出] ( ./faster_transformer/sample/unimo_text_export_model_sample.py ) 和 [ Paddle Inference 使用示例] ( ./faster_transformer/sample/unimo_text_inference.py ) 。
50
50
* ` FasterBART() ` : 支持 BART 模型预测加速功能。使用示例可以参考 [ BART 预测加速使用示例-sample] ( ./faster_transformer/sample/bart_decoding_sample.py ) ,[ BART 预测加速使用示例-文本摘要] ( ../../examples/text_summarization/bart ) 。
51
51
You can’t perform that action at this time.
0 commit comments