Transformers:NLP界的“大哥”丨EMNLP 2020最佳Demo论文

AMiner平台由清华大学计算机系研发,拥有我国完全自主知识产权。平台包含了超过2.3亿学术论文/专利和1.36亿学者的科技图谱,提供学者评价、专家发现、智能指派、学术地图等科技情报专业化服务。系统2006年上线,吸引了全球220个国家/地区1000多万独立IP访问,数据下载量230万次,年度访问量超过1100万,成为学术搜索和社会网络挖掘研究的重要数据和实验平台。

Transformers:我就是NLP界的“大哥”!
和“大哥”我做类似事情的人相比:服务周到的你没我小弟(基模型)多,小弟数量差不多的,你没我服务周到,服务和小弟都差不多的,不好意思~我支持者(社区)又多又活跃。所以~
在这里插入图片描述

今天和大家分享的这篇论文,是EMNLP2020 最佳Demo论文,作者来自Hugging Face团队。
在这里插入图片描述

论文地址:https://www.aminer.cn/pub/5d9f01503a55acde6fb2efa1?conf=emnlp2020
论文代码:https://github.com/huggingface/transformers

Transformers 是什么

Transformers 是一个号称包含NLP界最先进技术的NLP库,此库包括一个统一的API和一个良性生态系统:

API收集整理最先进的通用预训练模型,良性生态系统包含库、很多下游NLP任务目标的实例、教程和脚本,这些内容全部在社区共享;用户受益于社区低门槛高可用内容,成长为大神后反哺社区,社区内容进一步丰富吸引到更多的用户,快速增长的社区用户更快的更新丰富社区内容,形成一个良性积极的生态系统。

无论你是小白还是大神,都可以在社区找到你需要的信息。

Transformers 的前因

迁移学习方法与大规模语言模型相结合已经成为现代自然语言处理研究的主流方向。他们为NLP带来了新思路:先预训练一个通用预训练模型,然后在此预训练模型的下游训练目标任务。然而,这些通用模型的训练过程是昂贵且费时的(预训练数据集规模和模型规模上指数级增长);这就导致只有小部分群体有这个财力和物力及人力,资源有限的群体想分一杯技术红利难上加难。

举个栗子:

RoBERTa (Liu et al., 2019) 使用 1024 32GB V100对160GB大小的文本数据集进行训练,在亚马逊网络服务云计算上,这样的预训练费用在10万美金左右。
在这里插入图片描述

如果有人把代表一系列NLP任务的最先进水平结合迁移学习和大规模模型的预训练模型复现并共享,让研究者们更容易复现原作者的性能,研究当前方法、验证假设时不再需要从零开始开发它们,把注意力集中在形成和验证新的假设上。会如何?

过去10个月,该库名称的连续变化:从pytorch-pretrained-bert 到pytorch-transformers to 最后Transformers反应了Transformers范围的高速膨胀,也从侧面验证了吃土群体对Transformers的追捧:到目前已有200多篇研究论文报告使用了此库,一些流行的NLP框架(比如:Spacy (Honnibal and Montani, 2017), AllenNLP (Gardner et al., 2018), Flair(Akbik et al., 2018))以依赖或者包装器的方式集成了Transformers。

Transformers 做了什么?

Transformers 对所有模型设计了统一的前端:参数、配置、分词、模型推理。设有三个基本组件:配置类、模型类和分词类。所有组件都和PyTorch 和TensorFlow(从2.0版本开始)兼容。

3.1 基模型(base model)

Transformers把所有模型都按相同的层次结构进行了抽象化处理。一个基类实现模型的计算图,从编码(在嵌入矩阵上的映射)开始,经过一系列的自注意力层,直到最后隐藏状态层。每个模型都有自己的模型基类,各不相同,模型基类性能非常接近原作者模型实现的性能。
在这里插入图片描述

3.2互操作性

在PyTorch训练保存,在TensorFlow加载应用(单向的呦,反过来是行不通滴),Transformers为PyTorch提供了优化器,目前可用的有Adam,AdamW。(敲黑板:没有提及TensorFlow目前可用的优化器)
Transformers为PyTorch提供了附加的学习率调度器,多种调度且可定制化(人家是亲生的嘛)。在这里插入图片描述

3.3自动化类
自动化类实现程序可以在不同的模型/配置/分词器之间快速切换,总共有四个高级抽象被引用为Auto类:AutoConfig、AutoTokenizer、AutoModel(用于PyTorch)和TFAutoModel(用于TensorFlow)。

3.4 Write with Transformer和Conversational AI

Write with Transformer 是一个交互式界面,有文本建议生成功能(类似自动完成插件)。

Conversational AI 是一个名叫“Talking Dog”的会话客户端,在此客户端可以使用结合Transformers 基模型的迁移学习进行端到端自然语言理解华为文本生成。(代码及预训练权重见:https://github.com/huggingface/transfer-learning-conv-ai

3.5 兼容性

库中所有模型都与TorchScript兼容,可以在Python、c++ 等环境中运行。
把Transformers模型改造成Core ML权重的表示方式,这样就可以很容易的嵌入到移动应用。

Transformers的优点

分享即助人,Transformers 把自然语言理解(Natural Language Understanding :NLU)和自然语言生成(Natural Language Generation :NLG)相关的最先进的具有模型代码的架构和各种预训练权重整合在一起;让低资源用户可以复用预训练模型而不用从头再训练。

易访问和高性能,尽可能低的入门门槛(与2个主要深度学习框架PyTorch (Paszke et al.,2017) 和TensorFlow (from release 2.0) (Abadi et al., 2015)高度兼容(已经兼容)),尽可能接近原作者报告性能的模型,所有模型通过一个简单统一的API就可以访问。

可解释性和多样性,模型内部表示数据的易于访问;统一前端的库使得在公共语言理解基准测试上对比几种不同结构的性能变得更容易;让研究者可以无缝运用基线代码去探索这些模型衍生出的新的假设

生产应用,高度兼容TorchScript让研究到生产的过渡更平稳

其他

目前支持的语言理解基准测试:

语言理解:提供GLUE SuperGLUE 两种基准测试,评估自然语言理解所有的数据集详细信息请移步论文附录的第七页。

机器理解:提供 SQuAD1.1 SQuAD2.0 两种基准测试

基准测试:SWAG RACE ARC

目前可参考的实现及预训练权重:

生成模型:GPT, GPT-2, Transformer-XL, XLNet, XLM

语言理解模型:Bert, DistilBert, RoBERTa, XLM

提供了30多个预训练权重,有10多个模型采用来多种语言进行预训练,其中有2个模型的训练语言超过100种。


NeurIPS2020即将开始,欢迎各位作者老师和同学加入分享团队,促进学术交流,让知识正真流动起来!

扫码了解更多NeurIPS2020会议信息

在这里插入图片描述

添加“小脉”微信,留言“NeurIPS”,即可加入【NeurIPS会议交流群】,与更多论文作者学习交流!
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值