Skip to content

sandyhouse/bert-megatron

Repository files navigation

简体中文 | English

PaddleNLP旨在帮助开发者提高文本建模的效率,通过丰富的模型库、简洁易用的API,提供飞桨2.0的最佳实践并加速NLP领域应用产业落地效率。

License python version support os

特性

  • 丰富的模型库

    • 涵盖了NLP主流应用相关的前沿模型,包括中文词向量、预训练模型、词法分析、文本分类、文本匹配、文本生成、机器翻译、通用对话、问答系统等。
  • 简洁易用的API

    • 深度兼容飞桨2.0的高层API体系,提供更多可复用的文本建模模块,可大幅度减少数据处理、组网、训练环节的代码开发,提高开发效率。
  • 高性能分布式训练

    • 通过高度优化的Transformer网络实现,结合混合精度与Fleet分布式训练API,可充分利用GPU集群资源,高效完成预训练模型的分布式训练。

安装

环境依赖

  • python >= 3.6
  • paddlepaddle >= 2.0.0-rc1
pip install paddlenlp==2.0.0b

快速开始

数据集快速加载

from paddlenlp.datasets import ChnSentiCorp

train_dataset, dev_dataset, test_dataset= ChnSentiCorp.get_datasets(['train', 'dev', 'test'])

可参考Dataset文档查看更多数据集。

一键加载中文词向量

from paddlenlp.embeddings import TokenEmbedding

wordemb = TokenEmbedding("w2v.baidu_encyclopedia.target.word-word.dim300")
print(wordemb.cosine_sim("国王", "王后"))
>>> 0.63395125
wordemb.cosine_sim("艺术", "火车")
>>> 0.14792643

内置50+中文词向量,更多使用方法请参考 Embedding文档

一键加载经典模型

from paddlenlp.models import Ernie, Senta, SimNet

ernie = Ernie("ernie-1.0", num_classes=2, task="seq-cls")

senta = Senta(network="bow", vocab_size=1024, num_classes=2)

simnet = SimNet(network="gru", vocab_size=1024, num_classes=2)

更多使用方法请参考Models API

一键加载高质量中文预训练模型

from paddlenlp.transformers import ErnieModel, BertModel, RobertaModel, ElectraModel

ernie = ErnieModel.from_pretrained('ernie-1.0')

bert = BertModel.from_pretrained('bert-wwm-chinese')

roberta = RobertaModel.from_pretrained('roberta-wwm-ext')

electra = ElectraModel.from_pretrained('chinese-electra-small')

请参考 Pretrained-Models查看目前支持的预训练模型。

API 使用文档

可交互式Notebook教程

更多教程参见PaddleNLP on AI Studio

社区贡献与技术交流

  • 欢迎您加入PaddleNLP的SIG社区,贡献优秀的模型实现、公开数据集、教程与案例、外围小工具。
  • 现在就加入PaddleNLP的QQ技术交流群,一起交流NLP技术吧!⬇️

License

PaddleNLP遵循Apache-2.0开源协议

About

Paddle megatron on bert

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published