README.md 5.5 KB
Newer Older
Z
Zeyu Chen 已提交
1
简体中文 | [English](./README_en.md)
Z
Zeyu Chen 已提交
2

Z
Zeyu Chen 已提交
3
<p align="center">
Z
Zeyu Chen 已提交
4
  <img src="./docs/imgs/paddlenlp.png" width="520" height ="100" />
Z
Zeyu Chen 已提交
5 6
</p>

Z
Zeyu Chen 已提交
7
------------------------------------------------------------------------------------------
8

Z
Zeyu Chen 已提交
9 10 11
![License](https://img.shields.io/badge/license-Apache%202-red.svg)
![python version](https://img.shields.io/badge/python-3.6+-orange.svg)
![support os](https://img.shields.io/badge/os-linux%2C%20win%2C%20mac-yellow.svg)
12

Z
Zeyu Chen 已提交
13
## 简介
14

Z
Zeyu Chen 已提交
15 16 17
PaddleNLP 2.0拥有丰富的模型库、简洁易用的API与高性能的分布式训练的能力,旨在为飞桨开发者提升文本建模效率,并提供基于PaddlePaddle 2.0的NLP领域最佳实践。

## 特性
Z
Zeyu Chen 已提交
18 19

- **丰富的模型库**
Z
Zeyu Chen 已提交
20
  - 涵盖了NLP主流应用相关的前沿模型,包括中文词向量、预训练模型、词法分析、文本分类、文本匹配、文本生成、机器翻译、通用对话、问答系统等,更多详细介绍请查看[PaddleNLP模型库](./docs/model_zoo.md)
Z
Zeyu Chen 已提交
21 22

- **简洁易用的API**
Z
Zeyu Chen 已提交
23
  - 深度兼容飞桨2.0的高层API体系,提供可复用的文本建模模块,可大幅度减少数据处理、组网、训练环节的代码开发量,提升文本建模开发效率。
P
pkpk 已提交
24

Z
Zeyu Chen 已提交
25
- **高性能分布式训练**
Z
Zeyu Chen 已提交
26
  - 通过深度优化的混合精度训练策略与Fleet分布式训练API,可充分利用GPU集群资源,高效完成大规模预训练模型的分布式训练。
P
pkpk 已提交
27

Z
Zeyu Chen 已提交
28

Z
Zeyu Chen 已提交
29
## 安装
P
pkpk 已提交
30

Z
Zeyu Chen 已提交
31
### 环境依赖
Z
Zeyu Chen 已提交
32 33

- python >= 3.6
Z
Zeyu Chen 已提交
34 35
- paddlepaddle >= 2.0.0

Z
Zeyu Chen 已提交
36
```
Z
Zeyu Chen 已提交
37
pip install paddlenlp==2.0.0rc
Z
Zeyu Chen 已提交
38
```
P
pkpk 已提交
39

Z
Zeyu Chen 已提交
40
## 快速开始
Z
Zeyu Chen 已提交
41

Z
Zeyu Chen 已提交
42
### 数据集快速加载
P
pkpk 已提交
43

Z
Zeyu Chen 已提交
44
```python
Z
Zeyu Chen 已提交
45
from paddlenlp.datasets import ChnSentiCorp
Z
Zeyu Chen 已提交
46

Z
Zeyu Chen 已提交
47
train_ds, dev_ds, test_ds = ChnSentiCorp.get_datasets(['train', 'dev', 'test'])
P
pkpk 已提交
48 49
```

Z
Zeyu Chen 已提交
50
可参考[Dataset文档](./docs/datasets.md)查看更多数据集。
Z
Zeyu Chen 已提交
51

Z
Zeyu Chen 已提交
52
### 一键加载中文词向量
P
pkpk 已提交
53

Z
Zeyu Chen 已提交
54
```python
Z
Zeyu Chen 已提交
55
from paddlenlp.embeddings import TokenEmbedding
Z
Zeyu Chen 已提交
56

Z
Zeyu Chen 已提交
57 58 59 60 61
wordemb = TokenEmbedding("w2v.baidu_encyclopedia.target.word-word.dim300")
print(wordemb.cosine_sim("国王", "王后"))
>>> 0.63395125
wordemb.cosine_sim("艺术", "火车")
>>> 0.14792643
Z
Zeyu Chen 已提交
62
```
Z
Zeyu Chen 已提交
63

Z
Zeyu Chen 已提交
64
内置50+中文词向量,更多使用方法请参考 [Embedding文档](./examples/word_embedding/README.md)
Z
Zeyu Chen 已提交
65

Z
Zeyu Chen 已提交
66

Z
Zeyu Chen 已提交
67
### 一键加载高质量中文预训练模型
P
pkpk 已提交
68

Z
Zeyu Chen 已提交
69
```python
Z
Zeyu Chen 已提交
70
from paddlenlp.transformers import ErnieModel, BertModel, RobertaModel, ElectraModel, GPT2ForPretraining
Z
Zeyu Chen 已提交
71

Z
Zeyu Chen 已提交
72
ernie = ErnieModel.from_pretrained('ernie-1.0')
Z
Zeyu Chen 已提交
73
bert = BertModel.from_pretrained('bert-wwm-chinese')
Z
Zeyu Chen 已提交
74
roberta = RobertaModel.from_pretrained('roberta-wwm-ext')
Z
Zeyu Chen 已提交
75
electra = ElectraModel.from_pretrained('chinese-electra-small')
Z
Zeyu Chen 已提交
76
gpt2 = GPT2ForPretraining.from_pretrained('gpt2-base-cn')
Y
Yibing Liu 已提交
77 78
```

Z
Zeyu Chen 已提交
79 80
请参考 [Pretrained-Models](./docs/transformers.md)查看目前支持的预训练模型。

Z
Zeyu Chen 已提交
81
## 模型库及其应用
Z
Zeyu Chen 已提交
82

Z
Zeyu Chen 已提交
83
PaddleNLP模型库整体介绍请参考文档[PaddleNLP Model Zoo](./docs/model_zoo.md).
Z
Zeyu Chen 已提交
84
模型应用场景介绍请参考[PaddleNLP Examples](./examples/README.md):
Z
Zeyu Chen 已提交
85

Z
Zeyu Chen 已提交
86 87 88 89 90 91 92
- [词向量](./examples/word_embedding/README.md)
- [词法分析](./examples/lexical_analysis/README.md)
- [语言模型](./examples/language_model)
- [文本分类](./examples/text_classification/README.md)
- [文本生成](./examples/text_generation/README.md)
- [语义匹配](./examples/text_matching/README.md)
- [命名实体识别](./examples/named_entity_recognition/README.md)
Z
Zeyu Chen 已提交
93
- [文本图学习](./examples/text_graph/erniesage/README.md)
Z
Zeyu Chen 已提交
94 95 96
- [通用对话](./examples/dialogue)
- [机器翻译](./examples/machine_translation)
- [阅读理解](./examples/machine_reading_comprehension)
Z
Zeyu Chen 已提交
97

Z
Zeyu Chen 已提交
98 99 100
## 进阶应用

- [模型压缩](./examples/model_compression/)
Z
Zeyu Chen 已提交
101

Z
Zeyu Chen 已提交
102
## API 使用文档
Z
Zeyu Chen 已提交
103 104

- [Transformer API](./docs/transformers.md)
Z
Zeyu Chen 已提交
105
  * 基于Transformer结构相关的预训练模型API,包含ERNIE, BERT, RoBERTa, Electra等主流经典结构和下游任务。
Z
Zeyu Chen 已提交
106
- [Data API](./docs/data.md)
Z
Zeyu Chen 已提交
107
  * 文本数据处理Pipeline的相关API说明。
Z
Zeyu Chen 已提交
108
- [Dataset API](./docs/datasets.md)
109
  * 数据集相关API,包含自定义数据集,数据集贡献与数据集快速加载等功能说明。
Z
Zeyu Chen 已提交
110
- [Embedding API](./docs/embeddings.md)
111
  * 词向量相关API,支持一键快速加载包预训练的中文词向量,VisulDL高维可视化等功能说明。
112
- [Metrics API](./docs/metrics.md)
113
  * 针对NLP场景的评估指标说明,与飞桨2.0框架高层API兼容。
Z
Zeyu Chen 已提交
114

Z
Zeyu Chen 已提交
115

Z
Zeyu Chen 已提交
116
## 交互式Notebook教程
Y
Yibing Liu 已提交
117

Z
Zeyu Chen 已提交
118
- [使用Seq2Vec模块进行句子情感分类](https://aistudio.baidu.com/aistudio/projectdetail/1283423)
Z
Zeyu Chen 已提交
119 120
- [如何通过预训练模型Fine-tune下游任务](https://aistudio.baidu.com/aistudio/projectdetail/1294333)
- [使用BiGRU-CRF模型完成快递单信息抽取](https://aistudio.baidu.com/aistudio/projectdetail/1317771)
Z
Zeyu Chen 已提交
121
- [使用预训练模型ERNIE优化快递单信息抽取](https://aistudio.baidu.com/aistudio/projectdetail/1329361)
Z
Zeyu Chen 已提交
122
- [使用Seq2Seq模型完成自动对联](https://aistudio.baidu.com/aistudio/projectdetail/1321118)
Z
Zeyu Chen 已提交
123 124
- [使用预训练模型ERNIE-GEN实现智能写诗](https://aistudio.baidu.com/aistudio/projectdetail/1339888)
- [使用TCN网络完成新冠疫情病例数预测](https://aistudio.baidu.com/aistudio/projectdetail/1290873)
S
Steffy-zxf 已提交
125

Z
Zeyu Chen 已提交
126
更多教程参见[PaddleNLP on AI Studio](https://aistudio.baidu.com/aistudio/personalcenter/thirdview/574995)
S
Steffy-zxf 已提交
127 128


Z
Zeyu Chen 已提交
129
## 社区贡献与技术交流
S
Steffy-zxf 已提交
130

Z
Zeyu Chen 已提交
131
- 欢迎您加入PaddleNLP的SIG社区,贡献优秀的模型实现、公开数据集、教程与案例、外围小工具。
Z
Zeyu Chen 已提交
132
- 现在就加入PaddleNLP的QQ技术交流群,一起交流NLP技术吧!⬇️
S
Steffy-zxf 已提交
133

Z
Zeyu Chen 已提交
134
<div align="center">
Z
Zeyu Chen 已提交
135
  <img src="./docs/imgs/qq.png" width="200" height="200" />
Z
Zeyu Chen 已提交
136
</div>  
Y
Yibing Liu 已提交
137 138


Z
Zeyu Chen 已提交
139
## License
Y
Yibing Liu 已提交
140

Z
Zeyu Chen 已提交
141
PaddleNLP遵循[Apache-2.0开源协议](./LICENSE)