Skip to content

Commit

Permalink
fix deaflinks (PaddlePaddle#2137)
Browse files Browse the repository at this point in the history
  • Loading branch information
ZHUI committed May 13, 2022
1 parent a3ac5a9 commit e158e13
Show file tree
Hide file tree
Showing 16 changed files with 21 additions and 23 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -256,7 +256,7 @@ PaddleNLP提供了多粒度、多场景的NLP应用示例,面向动态图模
| 模型 | 简介 |
| :--------------------------------------------------------- | ------------------------------------------------------------ |
| [MiniLMv2](examples/model_compression/minilmv2) | 基于[MiniLMv2: Multi-Head Self-Attention Relation Distillation for Compressing Pretrained Transformers](https://arxiv.org/abs/2012.15828)论文策略的实现,是一种通用蒸馏方法。本实例以`bert-base-chinese`为教师模型,利用中文数据进行了通用蒸馏。 |
| [TinyBERT](./examples/model_compression/tinybert) | 基于论文[TinyBERT: Distilling BERT for Natural Language Understanding](https://arxiv.org/abs/1909.10351)的实现,提供了通用蒸馏和下游任务蒸馏的脚本。本实例利用开源模型`tinybert-6l-768d-v2`初始化,在GLUE的7个数据集上进行下游任务的蒸馏,最终模型参数量缩小1/2,预测速度提升2倍,同时保证模型精度几乎无损,其中精度可达教师模型`bert-base-uncased`的 98.90%。 |
| [TinyBERT](./model_zoo/tinybert) | 基于论文[TinyBERT: Distilling BERT for Natural Language Understanding](https://arxiv.org/abs/1909.10351)的实现,提供了通用蒸馏和下游任务蒸馏的脚本。本实例利用开源模型`tinybert-6l-768d-v2`初始化,在GLUE的7个数据集上进行下游任务的蒸馏,最终模型参数量缩小1/2,预测速度提升2倍,同时保证模型精度几乎无损,其中精度可达教师模型`bert-base-uncased`的 98.90%。 |
| [OFA-BERT](./examples/model_compression/ofa/) | 基于PaddleSlim Once-For-ALL(OFA)策略对BERT在GLUE任务的下游模型进行压缩,在精度无损的情况下可减少33%参数量,达到模型小型化的提速的效果。 |
| [Distill-LSTM](./examples/model_compression/distill_lstm/) | 基于[Distilling Task-Specific Knowledge from BERT into Simple Neural Networks](https://arxiv.org/abs/1903.12136)论文策略的实现,将BERT中英文分类的下游模型知识通过蒸馏的方式迁移至LSTM的小模型结构中,取得比LSTM单独训练更好的效果。 |
| [PP-MiniLM](examples/model_compression/pp-minilm) :star2: | 基于 PaddleSlim 通过模型蒸馏、剪裁、量化等级联模型压缩技术发布中文特色小模型 PP-MiniLM(6L768H) 及压缩方案,保证模型精度的同时模型推理速度达 BERT-base 的4.2倍,参数量相比减少52%,模型精度在中文语言理解评测基准 CLUE 高0.32。 |
Expand Down
4 changes: 2 additions & 2 deletions community/zhui/ernie-1.0-cluecorpussmall/README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# 详细介绍
本权重为使用PaddleNLP提供的[ERNIE-1.0预训练教程](https://github.com/PaddlePaddle/PaddleNLP/blob/develop/examples/language_model/ernie-1.0),在CLUECorpusSmall 14g数据集上训练得到的权重。
本权重为使用PaddleNLP提供的[ERNIE-1.0预训练教程](https://github.com/PaddlePaddle/PaddleNLP/blob/develop/model_zoo/ernie-1.0),在CLUECorpusSmall 14g数据集上训练得到的权重。

本模型结构与ernie-1.0完全相同。使用训练配置`batch_size=512, max_steps=100w`, 训练得到。模型使用方法与原始ernie-1.0权重相同。

预训练全流程参见:https://github.com/PaddlePaddle/PaddleNLP/blob/develop/examples/language_model/ernie-1.0/README.md
预训练全流程参见:https://github.com/PaddlePaddle/PaddleNLP/blob/develop/model_zoo/ernie-1.0/README.md

# 使用示例

Expand Down
2 changes: 1 addition & 1 deletion docs/advanced_guide/fastergeneration/fastergeneration.rst
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ FasterGeneration是PaddleNLP v2.2版本加入的一个高性能推理功能,
除了以上简单示例之外,PaddleNLP的examples中所有使用了 `model.generate()` 的示例都可以通过调整到合适的参数使用高性能推理。具体如下:

- `examples/dialogue/unified_transformer <https://github.com/PaddlePaddle/PaddleNLP/tree/develop/examples/dialogue/unified_transformer>`_
- `examples/language_model/gpt/faster_gpt <https://github.com/PaddlePaddle/PaddleNLP/tree/develop/examples/language_model/gpt/faster_gpt>`_
- `model_zoo/gpt/faster_gpt <https://github.com/PaddlePaddle/PaddleNLP/tree/develop/model_zoo/gpt/faster_gpt>`_
- `examples/text_generation/unimo-text <https://github.com/PaddlePaddle/PaddleNLP/tree/develop/examples/text_generation/unimo-text>`_
- `examples/text_summarization/bart <https://github.com/PaddlePaddle/PaddleNLP/tree/develop/examples/text_summarization/bart>`_

Expand Down
2 changes: 1 addition & 1 deletion docs/model_zoo/taskflow.md
Original file line number Diff line number Diff line change
Expand Up @@ -976,7 +976,7 @@ seg_accurate(texts)
<details><summary><b>参考资料</b> </summary><div>

1. [fxsjy/jieba](https://github.com/fxsjy/jieba)
2. [ZhuiyiTechnology/simbert]( https://github.com/ZhuiyiTechnology/simbert)
2. [ZhuiyiTechnology/simbert](https://github.com/ZhuiyiTechnology/simbert)
3. [CPM: A Large-scale Generative Chinese Pre-trained Language Model](https://arxiv.org/abs/2012.00413)

</div></details>
2 changes: 1 addition & 1 deletion docs/trainer.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ if training_args.do_train:
trainer.log_metrics("train", metrics)
trainer.save_state()
```
预训练的使用方式可以参考[ERNIE-1.0 Trainer](https://github.com/PaddlePaddle/PaddleNLP/blob/develop/examples/language_model/ernie-1.0/run_pretrain_trainer.py)版本。
预训练的使用方式可以参考[ERNIE-1.0 Trainer](https://github.com/PaddlePaddle/PaddleNLP/blob/develop/model_zoo/ernie-1.0/run_pretrain_trainer.py)版本。


## Trainer 实例化参数介绍
Expand Down
2 changes: 1 addition & 1 deletion examples/faster/faster_generation/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ mpirun -n 4 python gpt_mp_sample.py --tensor_para_size 4 --layer_para_size 1
除了以上示例之外,PaddleNLP的examples中大多使用了`model.generate`的示例都可以通过调整到合适的参数使用高性能推理。具体如下:

- [examples/dialogue/unified_transformer](https://github.com/PaddlePaddle/PaddleNLP/tree/develop/examples/dialogue/unified_transformer)
- [examples/language_model/gpt/faster_gpt](https://github.com/PaddlePaddle/PaddleNLP/tree/develop/examples/language_model/gpt/faster_gpt)
- [model_zoo/gpt/faster_gpt](https://github.com/PaddlePaddle/PaddleNLP/tree/develop/model_zoo/gpt/faster_gpt)
- [examples/text_generation/unimo-text](https://github.com/PaddlePaddle/PaddleNLP/tree/develop/examples/text_generation/unimo-text)
- [examples/text_summarization/bart](https://github.com/PaddlePaddle/PaddleNLP/tree/develop/examples/text_summarization/bart)

Expand Down
2 changes: 1 addition & 1 deletion examples/language_model/chinesebert/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@


## **模型预训练**
模型预训练过程可参考[Electra的README](https://github.com/PaddlePaddle/PaddleNLP/blob/develop/examples/language_model/electra/README.md)
模型预训练过程可参考[Electra的README](https://github.com/PaddlePaddle/PaddleNLP/blob/develop/model_zoo/electra/README.md)

## **Fine-tuning**

Expand Down
2 changes: 1 addition & 1 deletion examples/language_model/convbert/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Fine-tuning 使用GLUE数据,这部分Paddle已提供,在执行Fine-tuning


## **模型预训练**
模型预训练过程可参考[Electra的README](https://github.com/PaddlePaddle/PaddleNLP/blob/develop/examples/language_model/electra/README.md)
模型预训练过程可参考[Electra的README](https://github.com/PaddlePaddle/PaddleNLP/blob/develop/model_zoo/electra/README.md)

## **Fine-tuning**

Expand Down
2 changes: 1 addition & 1 deletion examples/language_model/experimental/ernie/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## ERNIE

注:PaddleNLP提供了最新版本的Ernie预训练代码,采用了全新的数据流设置。请使用[ernie-1.0](../../ernie-1.0)目录训练模型。不建议本示例进行模型训练任务。
注:PaddleNLP提供了最新版本的Ernie预训练代码,采用了全新的数据流设置。请使用[ernie-1.0](../../../../model_zoo/ernie-1.0)目录训练模型。不建议本示例进行模型训练任务。

ERNIE是百度开创性提出的基于知识增强的持续学习语义理解框架,它将大数据预训练与多源丰富知识相结合,通过持续学习技术,不断吸收海量文本数据中词汇、结构、语义等方面的知识,实现模型效果不断进化。

Expand Down
2 changes: 1 addition & 1 deletion examples/language_model/gpt-3/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
## 模型介绍
GPT-[3](https://arxiv.org/pdf/2005.14165.pdf) 是以[Transformer](https://arxiv.org/abs/1706.03762) 为基础的语言生成模型。GPT-3模型的最大参数量可以达到170B,如此大规模参数的模型对于训练使用的深度学习框架是一个巨大的挑战。

本示例主要提供了GPT-3的训练过程,数据准备、预测部署等内容请参见[GPT](../gpt) 目录。
本示例主要提供了GPT-3的训练过程,数据准备、预测部署等内容请参见[GPT](../../../model_zoo/gpt) 目录。
本示例包含了GPT-3的[静态图](./static)和动态图的多级并行训练流程。
用户可以根据自己的需求,训练GPT-3模型,或者参考本示例,使用模型并行、流水线并行等策略,开发训练其他大模型。

Expand Down
2 changes: 1 addition & 1 deletion examples/language_model/pretraining_data_prepare/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,4 +105,4 @@ python main.py --skip_formatting True \

按照以上方法构建完毕预训练数据之后,我们可以按照相应的预训练模型开始垂类预训练。

[BERT预训练](../bert#执行pre-training)完成继续预训练。
[BERT预训练](../../../model_zoo/bert#执行pre-training)完成继续预训练。
6 changes: 2 additions & 4 deletions model_zoo/ernie-1.0/data_tools/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@

本目录下主要包含一下文件:
```
../data_tools
├── create_pretraining_data.py
├── dataset_utils.py
├── ernie_dataset.py
Expand Down Expand Up @@ -163,12 +162,11 @@ python -u create_pretraining_data.py \
```

### Ernie预训练开始
得到了处理好的训练数据,就可以开始Ernie模型的预训练了。ernie预训练的代码在`examples/language_model/ernie-1.0`
得到了处理好的训练数据,就可以开始Ernie模型的预训练了。ernie预训练的代码在`model_zoo/ernie-1.0`
简单将预处理好的数据,拷贝到data目录,即可开始Ernie模型预训练。
```
cd ../ernie-1.0
mkdir data
mv ../data_tools/baike_sample* ./data
mv ./data_tools/baike_sample* ./data
sh run_static.sh
# 建议修改 run_static.sh 中的配置,将max_steps设置小一些。
```
Expand Down
2 changes: 1 addition & 1 deletion model_zoo/ernie-doc/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ python -c "import nltk; nltk.download('punkt')"

### 分类任务

分类任务支持多种数据集的评测,目前支持`imdb`, `iflytek`, `thucnews`, `hyp`四个数据集(有关数据集的描述可查看[PaddleNLP文本分类数据集](../../../docs/data_prepare/dataset_list.md))。可通过参数`dataset`指定具体的数据集,下面以`imdb`为例子运行分类任务。
分类任务支持多种数据集的评测,目前支持`imdb`, `iflytek`, `thucnews`, `hyp`四个数据集(有关数据集的描述可查看[PaddleNLP文本分类数据集](../../docs/data_prepare/dataset_list.md))。可通过参数`dataset`指定具体的数据集,下面以`imdb`为例子运行分类任务。

#### 单卡训练

Expand Down
2 changes: 1 addition & 1 deletion model_zoo/ernie-health/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ PaddleNLP中提供了ERNIE-Health训练好的模型参数。该版本为160G医

- 推荐使用至少4张16G以上显存的GPU进行预训练。
- 数据量应尽可能接近ERNIE-Health论文中训练数据的量级,以获得好的预训练模型效果。
- 若资源有限,可以直接使用开源的ERNIE-Health模型进行Fine-tuning,具体实现可参考 [CBLUE样例](https://github.com/PaddlePaddle/PaddleNLP/tree/develop/examples/biomedical/cblue)
- 若资源有限,可以直接使用开源的ERNIE-Health模型进行Fine-tuning,具体实现可参考 [CBLUE样例](https://github.com/PaddlePaddle/PaddleNLP/tree/develop/examples/benchmark/cblue)

#### 单机单卡

Expand Down
8 changes: 4 additions & 4 deletions model_zoo/gpt/faster_gpt/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,9 +68,9 @@ python export_model.py --model_name_or_path gpt2-medium-en --topk 4 --topp 0.0 -

各个选项的意义与上文的 `infer.py` 的选项相同。额外新增一个 `--inference_model_dir` 选项用于指定保存的模型文件、词表等文件。

若当前环境下没有需要的自定义 op 的动态库,将会使用 JIT 自动编译需要的动态库。如果需要自行编译自定义 op 所需的动态库,可以参考 [文本生成高性能加速](../../../../paddlenlp/ops/README.md)。编译好后,可以在执行 `export_model.py` 时使用 `--decoding_lib ../../../../paddlenlp/ops/build/lib/libdecoding_op.so` 可以完成导入。
若当前环境下没有需要的自定义 op 的动态库,将会使用 JIT 自动编译需要的动态库。如果需要自行编译自定义 op 所需的动态库,可以参考 [文本生成高性能加速](../../../paddlenlp/ops/README.md)。编译好后,可以在执行 `export_model.py` 时使用 `--decoding_lib ../../../paddlenlp/ops/build/lib/libdecoding_op.so` 可以完成导入。

注意:如果是自行编译的话,这里的 `libdecoding_op.so` 的动态库是参照文档 [文本生成高性能加速](../../../../paddlenlp/ops/README.md)**`Python 动态图使用自定义 op`** 编译出来的 lib,与相同文档中 **`C++ 预测库使用自定义 op`** 编译产出不同。因此,在使用预测库前,还需要额外导出模型:
注意:如果是自行编译的话,这里的 `libdecoding_op.so` 的动态库是参照文档 [文本生成高性能加速](../../../paddlenlp/ops/README.md)**`Python 动态图使用自定义 op`** 编译出来的 lib,与相同文档中 **`C++ 预测库使用自定义 op`** 编译产出不同。因此,在使用预测库前,还需要额外导出模型:
* 一次用于获取 Python 动态图下的 lib,用到 Python 端进行模型导出。
* 一次获取编译的基于预测库的可执行文件

Expand All @@ -87,6 +87,6 @@ python export_model.py --model_name_or_path gpt2-medium-en --topk 4 --topp 0.0 -

### C++ 预测库使用高性能加速

C++ 预测库使用 FasterGPT 的高性能加速需要自行编译,可以参考 [文本生成高性能加速](../../../../paddlenlp/ops/README.md) 文档完成基于 C++ 预测库的编译,同时也可以参考相同文档执行对应的 C++ 预测库的 demo 完成预测。
C++ 预测库使用 FasterGPT 的高性能加速需要自行编译,可以参考 [文本生成高性能加速](../../../paddlenlp/ops/README.md) 文档完成基于 C++ 预测库的编译,同时也可以参考相同文档执行对应的 C++ 预测库的 demo 完成预测。

具体的使用 demo 可以参考 [GPT-2 预测库 C++ demo](../../../../paddlenlp/ops/faster_transformer/src/demo/gpt.cc)
具体的使用 demo 可以参考 [GPT-2 预测库 C++ demo](../../../paddlenlp/ops/faster_transformer/src/demo/gpt.cc)
2 changes: 1 addition & 1 deletion paddlenlp/ops/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
目前支持 JIT 的预测加速 API 有:
* `FasterTransformer()/TransformerGenerator()`: 支持 Transformer 模型的预测加速功能。使用示例可以参考 [Transformer 预测加速使用示例-sample](./faster_transformer/sample/decoding_sample.py),[Transformer 预测加速使用示例-机器翻译](../../examples/machine_translation/transformer/faster_transformer/)。
* `FasterGPT()`: 支持 GPT 模型的预测加速功能。使用示例可以参考 [GPT 预测加速使用示例](../../examples/language_model/gpt/faster_gpt/)。
* `FasterGPT()`: 支持 GPT 模型的预测加速功能。使用示例可以参考 [GPT 预测加速使用示例](../../model_zoo/gpt/faster_gpt/)。
* `FasterUnifiedTransformer()`: 支持 UnifiedTransformer 模型的预测加速功能。使用示例可以参考 [UnifiedTransformer 预测加速使用示例](../../examples/dialogue/unified_transformer/) 以及 PLATO-XL 的使用示例可以参考 [PLATO-XL 11B 使用示例](../../examples/dialogue/plato-xl/)。
* `FasterUNIMOText()`: 支持 UNIMOText 模型预测加速功能。
* 使用示例可以参考 [UNIMOText 预测加速使用示例](../../examples/faster/faster_generation/samples/unimo_text_sample.py)。
Expand Down

0 comments on commit e158e13

Please sign in to comment.