|
|
51CTO旗下网站
|
|
移动端

GitHub超9千星:一个API调用六种架构,27个预训练模型

只需一个API,直接调用BERT, GPT, GPT-2, Transfo-XL, XLNet, XLM等6大框架,包含了27个预训练模型。简单易用,功能强大。

作者:佚名来源:新智元|2019-07-21 19:45

GitHub超9千星:一个API调用六种架构,27个预训练模型

只需一个API,直接调用BERT, GPT, GPT-2, Transfo-XL, XLNet, XLM等6大框架,包含了27个预训练模型。简单易用,功能强大。

One API to rule them all。

3天前,著名最先进的自然语言处理预训练模型库项目pytorch-pretrained-bert改名Pytorch-Transformers重装袭来,1.0.0版横空出世。

GitHub超9千星:一个API调用六种架构,27个预训练模型

只需一个API,直接调用BERT, GPT, GPT-2, Transfo-XL, XLNet, XLM等6大框架,包含了27个预训练模型。

简单易用,功能强大。目前已经包含了PyTorch实现、预训练模型权重、运行脚本和以下模型的转换工具:

  • BERT,论文:“BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding”,论文作者:Jacob Devlin, Ming-Wei Chang, Kenton Lee,Kristina Toutanova
  • OpenAI 的GPT,论文:“Improving Language Understanding by Generative Pre-Training”,论文作者:Alec Radford, Karthik Narasimhan, Tim Salimans, Ilya Sutskever
  • OpenAI的GPT-2,论文:“Language Models are Unsupervised Multitask Learners”,论文作者:Alec Radford, Jeffrey Wu, Rewon Child, David Luan, Dario Amodei,Ilya Sutskever
  • 谷歌和CMU的Transformer-XL,论文:“Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context”,论文作者:Zihang Dai, Zhilin Yang, Yiming Yang, Jaime Carbonell, Quoc V. Le, Ruslan Salakhutdinov.
  • 谷歌和CMU的XLNet,论文:“XLNet: Generalized Autoregressive Pretraining for Language Understanding”,论文作者:Zhilin Yang, Zihang Dai, Yiming Yang, Jaime Carbonell, Ruslan Salakhutdinov, Quoc V. Le
  • Facebook的XLM,论文:“Cross-lingual Language Model Pretraining”,论文作者:Guillaume Lample,Alexis Conneau

这些实现都在几个数据集(参见示例脚本)上进行了测试,性能与原始实现相当,例如BERT中文全词覆盖在SQuAD数据集上的F1分数为93;OpenAI GPT 在RocStories上的F1分数为88;Transformer-XL在WikiText 103上的困惑度为18.3;XLNet在STS-B的皮尔逊相关系数为0.916。

项目中提供27个预训练模型,下面是这些模型的完整列表,以及每个模型的简短介绍。

GitHub超9千星:一个API调用六种架构,27个预训练模型

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

为了帮助微调这些模型,作者提供了几种可以在微调脚本中激活的技术 run_bert_classifier.py和run_bert_squad.py:梯度累积(gradient-accumulation),多GPU训练(multi-gpu training),分布式训练(distributed training )和16- bits 训练( 16-bits training)。

注意,这里要使用分布式训练和16- bits 训练,你需要安装NVIDIA的apex扩展。

作者在doc中展示了几个基于BERT原始实现和扩展的微调示例,分别为:

  • 九个不同GLUE任务的序列级分类器;
  • 问答集数据集SQUAD上的令牌级分类器;
  • SWAG分类语料库中的序列级多选分类器;
  • 另一个目标语料库上的BERT语言模型。

这里仅展示GLUE的结果:

GitHub超9千星:一个API调用六种架构,27个预训练模型

该项目是在Python 2.7和3.5+上测试(例子只在python 3.5+上测试)和PyTorch 0.4.1到1.1.0测试。

项目地址:

https://github.com/huggingface/pytorch-transformers

【编辑推荐】

  1. 如何以代码的形式提供安全性:11个入门提示
  2. 天天加班写代码却得不到升职加薪,这"五位法"值得每个程序员学习
  3. 杀手级AI补代码工具问世,支持23种语言及5种主流编辑器,程序员沸腾了
  4. GitHub Trending被国人长期“霸榜”,国外开发者SAY NO
  5. 阿波罗11号原始代码在GitHub开源
【责任编辑:张燕妮 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

16招轻松掌握PPT技巧

16招轻松掌握PPT技巧

GET职场加薪技能
共16章 | 晒书包

289人订阅学习

20个局域网建设改造案例

20个局域网建设改造案例

网络搭建技巧
共20章 | 捷哥CCIE

645人订阅学习

WOT2019全球人工智能技术峰会

WOT2019全球人工智能技术峰会

通用技术、应用领域、企业赋能三大章节,13大技术专场,60+国内外一线人工智能精英大咖站台,分享人工智能的平台工具、算法模型、语音视觉等技术主题,助力人工智能落地。
共50章 | WOT峰会

0人订阅学习

读 书 +更多

Microsoft SQL Server 2005技术内幕:T-SQL程序设

SQL Server 2005微软官方权威参考手册。 是Inside Microsoft SQL Server 2005系列书中的第一本,SQL Server类的顶尖之作。 全球公认SQL S...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客