Pytorch-Transformers 1.0 发布,支持六个预训练框架,含 27 个预训练模型

澳门新葡亰平台网址大全

  雷锋网AI科技评论按:刚刚,在Github上发布了开源Pytorch-Transformers1.0,该项目支持BERT,GPT,GPT-2,Transfo-XL,XLNet,XLM等,并包含27个预训练模型。

让我们来看看。

哪个支持

PyTorch-Transformers(以前称为pytorch-pretrained-bert)是用于预训练模型的开源库,具有最高的自然语言处理性能。

开源库现在包括PyTorch实现,预训练模型权重,运行脚本和以下模型的转换工具:

1,Google的BERT,论文:“BERT:预训练深度双向变换器的语言理解”,作者:JacobDevlin,Ming-WeiChang,KentonLee,KristinaToutanova

2. OpenAI的GPT。论文:“改善语言训练,通过生成预训”,作者:AlecRadford,KarthikNarasimhan,TimSalimans,IlyaSutskever

? 3,OpenAI GPT-2,论文:“?LanguageModelsareUnsupervisedMultitaskLearners”,作者:AlecRadford,JeffreyWu,RewonChild,DavidLuan,DarioAmodei,IlyaSutskever

? 4,Google和CMU的Transformer-XL?论文:“?Transformer-XL: AttentiveLanguageModelsBeyondaFixed-LengthContext”,作者:ZihangDai *,ZhilinYang *,YimingYang,JaimeCarbonell,QuocV.Le,RuslanSalakhutdinov

5,谷歌和CMU的XLNet,论文:“XLNet:广义回归预测语言理解”,作者:ZhilinYang *,ZihangDai *,YimingYang,JaimeCarbonell,RuslanSalakhutdinov,QuocV.Le

? 6,Facebook的XLM,论文:“?Cross-lingualLanguageModelPretraining”,作者:GuillaumeLample,AlexisConneau

这些实现在几个数据集上进行了测试(参见示例脚本),其性能与原始实现相当。例如,SQUAD数据集上的BERT中文单词覆盖率为93分,而OpenAIGPT在RocStories上的F1分数为88分。 Transformer-XL在WikiText103上的混淆为18.3,而STS-B中的XLNet的Pearson相关系数为0.916。

27个预先训练的模型

该项目有27种预培训模型。以下是这些模型的完整列表,以及每个模型的简短介绍。

示例

BERT-base和BERT-large分别是110M和340M参数模型,很难在单个GPU上使用推荐的批量大小对其进行微调以获得良好的性能(在大多数情况下,批量大小为32)。

为了帮助微调这些模型,我们提供了几种技术run_bert_classifier.py和run_bert_squad.py,可以在微调脚本中激活:梯度累积,多次喷射。分布式训练和16位训练。请注意,要使用分布式培训和16位培训,您需要安装NVIDIA的apex扩展。

作者展示了几个基于BERT的原始实现(以及doc中的扩展微调示例:

九个不同GLUE任务的序列级分类器;

问题集上的令牌级别分类器数据集SQUAD;

SWAG分类语料库中的序列级多选分类器;

目标语料库上的另一种BERT语言模型。

我们只在这里显示GLUE的结果:

以下是在GLUE基准开发集上使用uncasedBERT基本模型的结果。所有实验均在批量大小为32的P100 GPU上运行。虽然相对原始,但结果看起来不错。

安装

该项目在Python 2.7和3.5+上测试(示例仅在python 3.5+上测试)和PyTorch 0.4.1到1.1.0测试

Pip安装:

Pipinstallpytorch变压器

测试:

Python的mpytest-SV

Python的mpytest-SV

门户网站:

源代码:

文件:

扩展阅读

[深]周明:自然语言处理的未来,

多画面向您展示变形金刚的工作方式,

超越BERT和GPT,微软亚洲研究院开源新模型MASS!

一个延续故事达到AI人类水平,OpenAI大规模无人监督语言模型GPT-2,雷锋网雷锋网络