Skip to content

Commit

Permalink
Merge branch 'develop' into deadlinks
Browse files Browse the repository at this point in the history
  • Loading branch information
ZeyuChen authored May 18, 2022
2 parents af3594f + a847d88 commit c27dabb
Show file tree
Hide file tree
Showing 21 changed files with 151 additions and 72 deletions.
8 changes: 4 additions & 4 deletions README_cn.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,10 @@
</div>

* 🔥 2022.5.16 [**PaddleNLP v2.3**](https://github.com/PaddlePaddle/PaddleNLP/releases/tag/v2.3.0)全新发布!🎉
* 🔥 通用信息抽取技术 [**UIE**](./model_zoo/uie)发布,单个模型可以同时支持命名实体识别、关系抽取、事件抽取、情感分析等任务。
* 🔥 开源文心大模型 [**ERNIE 3.0**](./model_zoo/ernie-3.0)轻量级模型,在CLUE Benchmark上实现同规模结构效果最佳。
* 🏥 新增中文医疗领域预训练模型 [ERNIE-Health](./model_zoo/ernie-health),CBLUE中文医疗信息处理评测冠军模型。
* 💬 新增大规模百亿开放域对话预训练模型 PLATO-XL (11B),并提供⚡FasterGeneration⚡高性能GPU并行推理加速。
* 🔥 通用信息抽取技术[**UIE**](./model_zoo/uie)发布,单个模型可以同时支持命名实体识别、关系抽取、事件抽取、情感分析等任务。
* 🔥 开源文心大模型[**ERNIE 3.0**](./model_zoo/ernie-3.0)轻量级模型,在CLUE Benchmark上实现同规模结构效果最佳。
* 🏥 新增中文医疗领域预训练模型[**ERNIE-Health**](./model_zoo/ernie-health),CBLUE中文医疗信息处理评测冠军模型。
* 💬 新增大规模百亿开放域对话预训练模型[**PLATO-XL (11B)**](https://github.com/PaddlePaddle/PaddleNLP/tree/develop/model_zoo/plato-xl) ,并提供⚡FasterGeneration⚡高性能GPU并行推理加速。

* 2022.12.12 **PaddleNLP v2.2**发布!新增开箱即用的NLP能力[Taskflow](./docs/model_zoo/taskflow.md)!配套语义检索、智能问答、评论观点抽取[产业案例](./applications),快速搭建端到端NLP系统!配套视频课程[直通车](https://aistudio.baidu.com/aistudio/course/introduce/24902)

Expand Down
4 changes: 2 additions & 2 deletions docs/advanced_guide/fastergeneration/fastergeneration.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ FasterGeneration是PaddleNLP v2.2版本加入的一个高性能推理功能,

- 全面支持生成式预训练模型。包括GPT、BART、mBART、UnifiedTransformer和UNIMO-text。
- 支持大多数主流解码策略。包括Beam Search、Sampling、Greedy Search。以及Diverse Sibling Search、Length Penalty等子策略。
- 解码速度快。最高可达非加速版generate函数的 **17倍**。HuggingFace generate函数的 **8倍**。**并支持FP16混合精度计算**。 详细性能试验数据请参见 `FasterGeneration Performence <https://github.com/PaddlePaddle/PaddleNLP/tree/develop/examples/experimental/faster_generation/perf>`_ 。
- 解码速度快。最高可达非加速版generate函数的 **17倍**。HuggingFace generate函数的 **8倍**。**并支持FP16混合精度计算**。 详细性能试验数据请参见 `FasterGeneration Performence <https://github.com/PaddlePaddle/PaddleNLP/tree/develop/faster_generation/perf>`_ 。
- 易用性强。功能的入口为 `model.generate` ,与非加速版生成api的使用方法相同,当满足加速条件时使用jit即时编译高性能算子并用于生成,不满足则自动切换回非加速版生成api。下图展示了FasterGeneration的启动流程:

.. image:: /imgs/faster_generation.png
Expand All @@ -23,7 +23,7 @@ FasterGeneration是PaddleNLP v2.2版本加入的一个高性能推理功能,
python samples/gpt_sample.py
如果是第一次执行,PaddleNLP会启动即时编译( `JIT Compile <https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/07_new_op/new_custom_op_cn.html#jit-compile>`_ )自动编译高性能解码算子。
如果是第一次执行,PaddleNLP会启动即时编译( `JIT Compile <https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/new_op/new_custom_op_cn.html#jit-compile>`_ )自动编译高性能解码算子。

.. code-block::
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ msgstr ""
msgid ""
"解码速度快。最高可达非加速版generate函数的 **17倍**。HuggingFace generate函数的 "
"**8倍**。**并支持FP16混合精度计算**。 详细性能试验数据请参见 `FasterGeneration Performence "
"<https://github.com/PaddlePaddle/PaddleNLP/tree/develop/examples/experimental/faster_generation/perf>`_"
"<https://github.com/PaddlePaddle/PaddleNLP/tree/develop/faster_generation/perf>`_"
" 。"
msgstr ""

Expand All @@ -73,7 +73,7 @@ msgstr ""
#: ../advanced_guide/fastergeneration/fastergeneration.rst:26
msgid ""
"如果是第一次执行,PaddleNLP会启动即时编译( `JIT Compile "
"<https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/07_new_op/new_custom_op_cn.html"
"<https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/new_op/new_custom_op_cn.html#jit-compile"
"#jit-compile>`_ )自动编译高性能解码算子。"
msgstr ""

Expand Down
99 changes: 69 additions & 30 deletions examples/benchmark/clue/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -321,7 +321,7 @@
</td>
</tr>
<tr>
<td rowspan=4 align=center> 6L768H </td>
<td rowspan=5 align=center> 6L768H </td>
<td style="text-align:center">
<span style="font-size:18px">ERNIE 3.0-Medium-zh</span>
</td>
Expand Down Expand Up @@ -359,6 +359,44 @@
<span style="font-size:18px"><b>69.73</b></span>
</td>
</tr>
<tr>
<td style="text-align:center">
<span style="font-size:18px">HLF/RBT6, Chinese</span>
</td>
<td style="text-align:center">
<span style="font-size:18px">69.74</span>
</td>
<td style="text-align:center">
<span style="font-size:18px">73.15</span>
</td>
<td style="text-align:center">
<span style="font-size:18px">56.62</span>
</td>
<td style="text-align:center">
<span style="font-size:18px">59.68</span>
</td>
<td style="text-align:center">
<span style="font-size:18px">79.26</span>
</td>
<td style="text-align:center">
<span style="font-size:18px">73.15</span>
</td>
<td style="text-align:center">
<span style="font-size:18px">75.00</span>
</td>
<td style="text-align:center">
<span style="font-size:18px">80.04</span>
</td>
<td style="text-align:center">
<span style="font-size:18px">62.26/84.72</span>
</td>
<td style="text-align:center">
<span style="font-size:18px">78.26</span>
</td>
<td style="text-align:center">
<span style="font-size:18px">59.93</span>
</td>
</tr>
<tr>
<td style="text-align:center">
<span style="font-size:18px">TinyBERT<sub>6</sub>, Chinese</span>
Expand Down Expand Up @@ -435,41 +473,41 @@
</td>
</tr>
<tr>
<td style="text-align:center">
<span style="font-size:18px">RBT6, Chinese</span>
<td style="text-align:center">
<span style="font-size:18px">UER/Chinese-RoBERTa (L6-H768)</span>
</td>
<td style="text-align:center">
<span style="font-size:18px">69.74</span>
<span style="font-size:18px">66.67</span>
</td>
<td style="text-align:center">
<span style="font-size:18px">73.15</span>
<span style="font-size:18px">70.13</span>
</td>
<td style="text-align:center">
<span style="font-size:18px">56.62</span>
<span style="font-size:18px">56.41</span>
</td>
<td style="text-align:center">
<span style="font-size:18px">59.68</span>
<span style="font-size:18px">59.79</span>
</td>
<td style="text-align:center">
<span style="font-size:18px">79.26</span>
<span style="font-size:18px">77.38</span>
</td>
<td style="text-align:center">
<span style="font-size:18px">73.15</span>
<span style="font-size:18px">71.86</span>
</td>
<td style="text-align:center">
<span style="font-size:18px">75.00</span>
<span style="font-size:18px">69.41</span>
</td>
<td style="text-align:center">
<span style="font-size:18px">80.04</span>
<span style="font-size:18px">76.73</span>
</td>
<td style="text-align:center">
<span style="font-size:18px">62.26/84.72</span>
<span style="font-size:18px">53.22/75.03</span>
</td>
<td style="text-align:center">
<span style="font-size:18px">78.26</span>
</td>
<span style="font-size:18px">77.00</span>
</td>
<td style="text-align:center">
<span style="font-size:18px">59.93</span>
<span style="font-size:18px">54.77</span>
</td>
</tr>
<tbody>
Expand Down Expand Up @@ -499,22 +537,23 @@ AFQMC、TNEWS、IFLYTEK、CMNLI、OCNLI、CLUEWSC2020、CSL 、CHID 和 C<sup>3<

不同预训练模型在下游任务上做 Grid Search 之后的最优超参(learning_rate、batch_size)如下:

| Model | AFQMC | TNEWS | IFLYTEK | CMNLI | OCNLI | CLUEWSC2020 | CSL | CMRC2018 | CHID | C<sup>3</sup> |
| ----------------------------- | ------- | ------- | ------- | -------- | -------- | ----------- | ------- | -------- | ------- | ------------- |
| RoBERTa-wwm-ext-large | 1e-5,32 | 3e-5,32 | 2e-5,32 | 1e-5,16 | 1e-5,16 | 2e-5,16 | 2e-5,16 | 3e-5,32 | 1e-5,24 | 2e-5,24 |
| ERNIE 3.0-Base-zh | 3e-5,16 | 3e-5,32 | 5e-5,32 | 3e-5,32 | 2e-5,64 | 2e-5,16 | 2e-5,32 | 2e-5,24 | 3e-5,24 | 3e-5,32 |
| ERNIE-Gram-zh | 1e-5,16 | 5e-5,16 | 5e-5,16 | 2e-5,32 | 2e-5,64 | 3e-5,16 | 3e-5,64 | 3e-5,32 | 2e-5,24 | 2e-5,24 |
| Mengzi-BERT-Base | 3e-5,32 | 5e-5,32 | 5e-5,16 | 2e-5,16 | 2e-5,16 | 3e-5,8 | 1e-5,16 | 3e-5,24 | 3e-5,24 | 2e-5,32 |
| ERNIE 1.0 | 3e-5,16 | 3e-5,32 | 5e-5,16 | 5e-5,32 | 3e-5,16 | 2e-5,8 | 2e-5,16 | 3e-5,32 | 3e-5,24 | 3e-5,24 |
| RoBERTa-wwm-ext | 3e-5,32 | 3e-5,64 | 5e-5,16 | 3e-5,32 | 2e-5,32 | 3e-5,32 | 2e-5,32 | 3e-5,32 | 2e-5,32 | 3e-5,24 |
| BERT-Base-Chinese | 2e-5,16 | 5e-5,16 | 5e-5,16 | 5e-5,64 | 3e-5,16 | 3e-5,16 | 1e-5,16 | 3e-5,24 | 2e-5,32 | 3e-5,24 |
| ERNIE 3.0-Medium-zh | 3e-5,32 | 3e-5,64 | 5e-5,32 | 2e-5,32 | 1e-5,64 | 3e-5,16 | 2e-5,32 | 3e-5,24 | 2e-5,24 | 1e-5,24 |
| TinyBERT<sub>6</sub> ,Chinese | 1e-5,16 | 3e-5,32 | 5e-5,16 | 5e-5,32 | 3e-5,64 | 3e-5,16 | 3e-5,16 | 8,3e-5 | 3e-5,24 | 2e-5,24 |
| RoFormerV2 Small | 5e-5,16 | 2e-5,16 | 5e-5,16 | 5e-5,32 | 2e-5,16 | 3e-5,8 | 3e-5,16 | 3e-5,24 | 3e-5,24 | 3e-5,24 |
| RBT6, Chinese | 3e-5,16 | 5e-5,16 | 5e-5,16 | 5e-5,64 | 3e-5,32 | 3e-5,32 | 3e-5,16 | 3e-5,32 | 3e-5,24 | 3e-5,24 |
| Model | AFQMC | TNEWS | IFLYTEK | CMNLI | OCNLI | CLUEWSC2020 | CSL | CMRC2018 | CHID | C<sup>3</sup> |
| -------------------------------- | ------- | ------- | ------- | -------- | -------- | ----------- | ------- | -------- | ------- | ------------- |
| RoBERTa-wwm-ext-large | 1e-5,32 | 3e-5,32 | 2e-5,32 | 1e-5,16 | 1e-5,16 | 2e-5,16 | 2e-5,16 | 3e-5,32 | 1e-5,24 | 2e-5,24 |
| ERNIE 3.0-Base-zh | 3e-5,16 | 3e-5,32 | 5e-5,32 | 3e-5,32 | 2e-5,64 | 2e-5,16 | 2e-5,32 | 2e-5,24 | 3e-5,24 | 3e-5,32 |
| ERNIE-Gram-zh | 1e-5,16 | 5e-5,16 | 5e-5,16 | 2e-5,32 | 2e-5,64 | 3e-5,16 | 3e-5,64 | 3e-5,32 | 2e-5,24 | 2e-5,24 |
| Mengzi-Bert-Base | 3e-5,32 | 5e-5,32 | 5e-5,16 | 2e-5,16 | 2e-5,16 | 3e-5,8 | 1e-5,16 | 3e-5,24 | 3e-5,24 | 2e-5,32 |
| ERNIE 1.0 | 3e-5,16 | 3e-5,32 | 5e-5,16 | 5e-5,32 | 3e-5,16 | 2e-5,8 | 2e-5,16 | 3e-5,32 | 3e-5,24 | 3e-5,24 |
| RoBERTa-wwm-ext | 3e-5,32 | 3e-5,64 | 5e-5,16 | 3e-5,32 | 2e-5,32 | 3e-5,32 | 2e-5,32 | 3e-5,32 | 2e-5,32 | 3e-5,24 |
| BERT-Base-Chinese | 2e-5,16 | 5e-5,16 | 5e-5,16 | 5e-5,64 | 3e-5,16 | 3e-5,16 | 1e-5,16 | 3e-5,24 | 2e-5,32 | 3e-5,24 |
| ERNIE 3.0-Medium-zh | 3e-5,32 | 3e-5,64 | 5e-5,32 | 2e-5,32 | 1e-5,64 | 3e-5,16 | 2e-5,32 | 3e-5,24 | 2e-5,24 | 1e-5,24 |
| TinyBERT<sub>6</sub> ,Chinese | 1e-5,16 | 3e-5,32 | 5e-5,16 | 5e-5,32 | 3e-5,64 | 3e-5,16 | 3e-5,16 | 8,3e-5 | 3e-5,24 | 2e-5,24 |
| RoFormerV2 Small | 5e-5,16 | 2e-5,16 | 5e-5,16 | 5e-5,32 | 2e-5,16 | 3e-5,8 | 3e-5,16 | 3e-5,24 | 3e-5,24 | 3e-5,24 |
| HLF/RBT6, Chinese | 3e-5,16 | 5e-5,16 | 5e-5,16 | 5e-5,64 | 3e-5,32 | 3e-5,32 | 3e-5,16 | 3e-5,32 | 3e-5,24 | 3e-5,24 |
| UER/Chinese-RoBERTa (L6-H768) | 2e-5,16 | 5e-5,32 | 5e-5,16 | 5e-5,32 | 3e-5,16 | 5e-5,8 | 3e-5,16 | 3e-5,24 | 3e-5,24 | 3e-5,32 |


其中,`ERNIE 3.0-Base-zh``ERNIE 3.0-Medium-zh``ERNIE-Gram-zh``ERNIE 1.0` 在 CLUEWSC2020 处的 dropout_prob 为 0.0,`ERNIE 3.0-Base-zh``RBT6, Chinese``Mengzi-BERT-Base``ERNIE-Gram-zh``ERNIE 1.0``TinyBERT6, Chinese` 在 IFLYTEK 处的 dropout_prob 为 0.0。
其中,`ERNIE 3.0-Base-zh``ERNIE 3.0-Medium-zh``ERNIE-Gram-zh``ERNIE 1.0` 在 CLUEWSC2020 处的 dropout_prob 为 0.0,`ERNIE 3.0-Base-zh``HLF/RBT6, Chinese``Mengzi-BERT-Base``ERNIE-Gram-zh``ERNIE 1.0``TinyBERT6, Chinese``UER/Chinese-RoBERTa (L6-H768)` 在 IFLYTEK 处的 dropout_prob 为 0.0。


## 一键复现模型效果
Expand Down Expand Up @@ -559,8 +598,8 @@ python -u ./run_clue_classifier.py \
另外,如需评估,传入参数 `--do_eval` 即可,如果只对读入的 checkpoint 进行评估不训练,则不需传入 `--do_train`

其中参数释义如下:
- `model_name_or_path` 指示了 Fine-tuning 使用的具体预训练模型,可以是 PaddleNLP 提供的预训练模型,可以选择[Transformer预训练模型汇总](https://paddlenlp.readthedocs.io/zh/latest/model_zoo/index.html#transformer) 中相对应的中文预训练权重。注意 CLUE 任务应选择中文预训练权重。

- `model_name_or_path` 指示了 Fine-tuning 使用的具体预训练模型,可以是 PaddleNLP 提供的预训练模型,可以选择[Transformer预训练模型汇总](https://paddlenlp.readthedocs.io/zh/latest/model_zoo/index.html#transformer) 中相对应的中文预训练权重。注意 CLUE 任务应选择中文预训练权重。
- `task_name` 表示 Fine-tuning 的分类任务,当前支持 AFQMC、TNEWS、IFLYTEK、OCNLI、CMNLI、CSL、CLUEWSC2020。
- `max_seq_length` 表示最大句子长度,超过该长度将被截断。
- `batch_size` 表示每次迭代**每张卡**上的样本数目。
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -281,11 +281,11 @@ def do_inference(args):

if args.profile:
import importlib
import util.recorder as recorder
import tls.recorder as recorder
try:
mod = importlib.import_module("auto_log")
except ImportError:
mod = importlib.import_module("util.recorder")
mod = importlib.import_module("tls.recorder")
args.mod = mod

do_inference(args)
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
import paddle
import psutil

from util.benchmark_utils import PaddleInferBenchmark
from tls.benchmark_utils import PaddleInferBenchmark

import paddle
if paddle.is_compiled_with_cuda():
Expand Down
2 changes: 1 addition & 1 deletion examples/machine_translation/transformer/static/train.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
sys.path.append(
os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir)))
import reader
from util.record import AverageStatistical
from tls.record import AverageStatistical

FORMAT = '%(asctime)s-%(levelname)s: %(message)s'
logging.basicConfig(level=logging.INFO, format=FORMAT)
Expand Down
4 changes: 2 additions & 2 deletions examples/machine_translation/transformer/train.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
from paddlenlp.utils.log import logger
from paddlenlp.utils import profiler

from util.record import AverageStatistical
from util.to_static import apply_to_static
from tls.record import AverageStatistical
from tls.to_static import apply_to_static


def parse_args():
Expand Down
4 changes: 2 additions & 2 deletions faster_generation/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ FasterGeneration的高性能解码相比原版generate方法加速明显,并
<img src="../docs/imgs/gpt_perf.png" width="800" height ="400" />
</p>

更详细的性能数据请参见[这里](https://github.com/PaddlePaddle/PaddleNLP/tree/develop/examples/faster/faster_generation/perf)
更详细的性能数据请参见[这里](https://github.com/PaddlePaddle/PaddleNLP/tree/develop/faster_generation/perf)

## Quick Start

Expand All @@ -68,7 +68,7 @@ FasterGeneration的高性能解码相比原版generate方法加速明显,并
python samples/gpt_sample.py
```

如果是第一次执行,PaddleNLP会启动即时编译([JIT Compile](https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/07_new_op/new_custom_op_cn.html#jit-compile))自动编译高性能解码算子。
如果是第一次执行,PaddleNLP会启动即时编译([JIT Compile](https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/new_op/new_custom_op_cn.html#jit-compile))自动编译高性能解码算子。

```sh
...
Expand Down
Loading

0 comments on commit c27dabb

Please sign in to comment.