XLNet团队:只要公平对比,BERT毫无还手之力

标签: tuicool | 发表时间:2019-07-24 00:00 | 作者:
出处:http://itindex.net/relian

今天,我们应该使用 BERT 还是 XLNet?直观看来 XLNet 要比 BERT 好一些,毕竟提出模型以后,XLNet 在 GLUE基准及其它很多 NLP 任务上都超过了 BERT,或者说超过了 BERT 和 BERT 的各种变体。而且从模型原理上来说,似乎 XLNet 那种随机排列的语言模型更适合预训练语言建模。

但早几天前,Facebook 表示只要训练更久一点、数据量再大一点,BERT 还是能重新达到 GLUE基准的第一名。毕竟最开始 BERT 只用了 13GB 的文本就完成预训练,而后 XLNet 却是在 126GB 的纯文本上训练出了新的 SOTA 模型。尽管 XLNet 在原论文中以相同的数据集对比了 BERT-base 和 XLNet-base,但 4 个任务上的测试结果说服力似乎不那么强?

为此,XLNet 团队以更公平的方式对比了 XLNet 和 BERT 的效果,对上述质疑进行了回应。研究者表示,他们几乎确保了每一个超参数都采用相同的值,使用相同的训练数据,这样对比 BERT 和 XLNet 就非常合理了。重要的是,这套超参是从 BERT 复制到 XLNet 的,也就是说 BERT 在训练过程中会略有一些优势——因为这些超参是谷歌专门为 BERT 优化的。

作为 XLNet 工作的导师,卡耐基梅隆大学(CMU)教授 Ruslan Salakhutdinov 也在社交网络上为自己弟子的研究站台。

最终,实验展示了两个非常有意思的结果:

在相同环境和配置下训练两个模型,XLNet 在所有数据集上都超过了 BERT,且提升还不小;

在 11 个基准的 8 个中,采用 XLNet 架构所获得的性能增益要超过采用 10 倍预训练数据所获得的性能增益。

这两个实验结果都表明,在公平对比下,BERT 似乎真的也就能挣扎一下。那么,问题来了,Facebook 的大规模 RoBERTa 又是怎样超过 XLNet 的?

公平的竞技场

7 月 19 号,Facebook 提交了一个名为 Robustly Optimized BERT pretraining Approach(RoBERTa)的模型,它在 11 项 NLP 任务中有 6 项超过了集成版的 XLNet,并且总分也比它略高一点。Facebook 表示,他们采用了 BERT-Large,并通过更多的数据与更长的训练来提升预训练过程。因为目前还没有公开资料,我们也不知道这个「更多」到底是多多少。

但是我们可以通过更公平的方式对比它们的效率啊,为此 XLNet 团队也就完成了这项更详细的测试任务。具体而言,在原论文中,XLNet 的研究人员就做了控制变量测试,在相同数据集下对比了 XLNet-base 和 BERT-base 模型。

之后,很多开发者关心预训练大模型之间的性能差异,因为这样可以更好地确定实践中到底该用 BERT 还是 XLNet。因此,研究团队对 XLNet-Large 和 BERT-Large 进行对比产生了兴趣,也就有了后续的公平竞技场。

在这次的研究中,研究人员确保几乎所有可能的超参数在 BERT 和 XLNet 上都是一致的。BERT 的超参数来自于论文,是在 BERT 上优化过,但是 XLNet 上没有优化过的。研究团队具体控制了以下超参数变量:

  • 同样的批大小:256;

  • 同样的训练步数:1M;

  • 同样的优化器:Adam、学习率1e-4、前 10k 预热、线性衰减;

  • 同样的训练语料:Wikipedia + BooksCorpus。研究人员使用和 BERT 相同的工具处理维基百科数据,但是因为未知原因,他们的维基百科语料仅有 2 B 的词,而 BERT 有 2.5B。因此,XLNet 实际上依赖的训练数据略微少一些;

  • 同样的模型参数:24 层、1024 个隐层单元、16 个注意力头;

  • 同样的微调参数搜索空间。

此外,研究人员对数据相关的实现细节进行了改进,以便于和 BERT 比较。

  • 在 XLNet 之前的实现中,未被 mask 的字符不会在预训练中看到 CLS 和 SEP 标签。但在当前实现中,未被 mask 的字符可以看到 CLS 和 SEP 标签,这一点和 BERT 保持相同。

  • 在微调中,和 BERT 一样,研究人员使用了 BERT 的数据处理形式 [CLS, A, SEP, B, SEP],而不是保留 XLNet 本身的方式 [A, SEP, B, SEP, CLS]。

此外,研究人员考虑到了三种 BERT 的变体,并将每个单独任务最好的微调结果记录下来,三种变体分别是:

  • Model-I:BERT 作者自己发布的模型;

  • Model-II:全词 mask 的 BERT,也是原作者公布的;

  • Model-III:由于研究人员发现「下一句预测(NSP)」任务可能对性能带来影响,因此他们使用 BERT 预训练代码重新训练了一个没有 NSP 损失的模型。

XLNet 的作者认为,以上的设置可能给 BERT 带来一些优势,因为单个任务的最好表现结果可能出自不同的 BERT 变体。此外如下图所示的 XLNet-Large(as in paper),它采用了论文中训练结果,即使用更多训练数据和更大的批大小。

XLNet-Large(论文中的)、XLNet-Large-wikibook(和 BERT-Large 保持一致的)以及和 BERT 的对比,从测试结果来看,BERT 妥妥地被全面超越。

GLUE基准和 SQuAD验证集上的结果,以及 RACE 上的测试集结果如上图。训练中没有进行数据增强,模型构建中没有使用集成模型或者多任务学习。

从表中可以看到很多有意思的信息:

  • 虽然在几乎完全一致的数据集上预训练,XLNet 还是在所有数据集中超过了 BERT 的表现。

  • 多训练十倍数据量带来的性能提升(相比从 XLNet-Large-wikibooks 到 XLNet-Large 使用更多训练数据带来的提升),其提升幅度还不如从 BERT 转向 XLNet 高(11 个基准中 8 个超过了 BERT)。

  • 对于一些基准测试数据集,比如 CoLA 和 MRPC,模型训练更多的数据可以比训练更少的数据效果要好。

从上述实验结果中,我们或许已经可以得出结论。

XLNet 提高了性能。上面结果 1 与研究人员在原论文对 base 模型做的控制变量实验结果一致,表明在相同的训练条件下 XLNet 对 BERT 的明显优势。

XLNet-Large 可以更好地进行优化。结果 2 和结果 3 似乎表明之前发布的 XLNet-Large(经过更多数据训练)没有充分利用数据规模。因此,研究人员将继续研究如何正确扩展 XLNet 预训练语言。根据目前有限的观察结果,XLNet 团队认为以下训练细节可能发挥重要作用:

  • 数据相关:数据规模、数据源、数据清洗、数据编码、数据格式化

  • 优化相关:学习率(及规划)、批大小、训练步骤数、优化器

  • 重要的是,这些超参数可能彼此还有更高阶的交互

Facebook AI 最近的 GLUE 排行榜似乎也暗示了训练细节的重要性。

总而言之,本研究更加明确地将算法/模型的影响与其他因素分离,例如训练细节、大规模计算和大数据。基于实验结果,XLNet 团队认为算法与模型至少与其他因素一样重要,它们很可能都是实现自然语言理解的最终目标所必需的。这些新的结果很快也会被更新到 XLNet 论文上。

参考链接: https://medium.com/@xlnet.team/a-fair-comparison-study-of-xlnet-and-bert-with-large-models-5a4257f59dc0

相关 [xlnet 团队 公平] 推荐:

XLNet团队:只要公平对比,BERT毫无还手之力

- - IT瘾-tuicool
今天,我们应该使用 BERT 还是 XLNet. 直观看来 XLNet 要比 BERT 好一些,毕竟提出模型以后,XLNet 在 GLUE基准及其它很多 NLP 任务上都超过了 BERT,或者说超过了 BERT 和 BERT 的各种变体. 而且从模型原理上来说,似乎 XLNet 那种随机排列的语言模型更适合预训练语言建模.

如何评价在20个任务上超越BERT的XLNet?

- - 知乎每日精选
谢 @henryWang 邀. (不知道为啥我又 at 不上人. 效果就不比了,屠榜了没什么好说的. BERT 有两个目标,Masked Language Model 和 Next Sentence Prediction,前者用于提取单词之间的关系,后者用来提取句子之间的关系. 前者带来的问题在于, 训练时引入 [MASK] token 使得 train/test 不一致,于是又用了很多乱七八糟的方法来补救(以一定概率保留原词,一定概率换成别的单词等等).

团队

- Lorna - 坏脾气的小肥
我最近心情起落比较大,如果把时间线再拉长一点,则是去年多自负,今年多自责. 冷静下来的时候也会想,我能不能做得更好. 每一个团队都有它的长处,有它的短处,对于团队的缺陷首先要问自己几个问题:. 1、有没有激励大家全心全意地认同和投入这个项目. 2、有没有分工合理,使每个人认同和投入自己的任务. 3、他的缺陷是否可以通过工作指导、严格督促,在半年或一年时间里自我完善.

公平

- 海 - 不许联想
今天一个朋友把张楚的微博转贴给我看,我看完就乐了. “和树音乐合谈解约具体事宜,树音乐坚持公平的解约赔款为500万人民币. 以无偿为他出版一张新词曲唱片,一张以前作品翻唱唱片,加200万演出费方式完成,并希望我在协议上签字. 我觉得这个协议要是公平的话不是他疯了就是我疯了. 假如,这个人不是张楚,是何勇,他就又会拎着一把斧子找唱片公司算账了.

团队管理101招

- 狂之想 - C++博客-牵着老婆满街逛
转载自:http://www.iteer.net/modules/doc/article.php?storyid=1402. 无论你是新手还是资深管理人,对你而言,管理好团队都是重要且具激励性的挑战. 切记:每位成员都能为团队作出一些贡献. 谨慎地设定团队目标,且认真严肃地对待它们. 尽早决定何种形态的团队适合你的目标.

DBA团队的使命

- 2sin18 - Alibaba DBA Team
DBA团队的使命:提供高可用、高性能、可扩展的数据存储服务. 高可用:可用性是运维的根本,我们不管做什么事情,都要把可用性放在第一位. 高性能:对性能的关注是我们一直坚持、做的最好的一面,仍需要继续做到极致. 可扩展:也就是最适合的,易部署,可线形透明伸缩. 数据存储:不只是关注某个数据库本身,是基于对各种最先进的数据存储技术的精深理解,提供最专业的服务.

谈团队知识管理

- - 人月神话的BLOG
如果要谈学习型团队,那么团队知识管理就相当重要,团队知识管理介于企业知识管理和个人知识管理之间,核心是知识能够成为整个团队的资产,并为团队创造价值. 今年在团队知识管理上,重点就是按照cmmi的一些思路,形成指导书,规范流程,工具模板,培训教材,检查单的完整知识库积累. 明确各个岗位职责和分工边界,能够按着规范流程做事情,大量前期积累的知识库又能够帮助团队成员快速的学习和解决问题.

谈技术团队目标

- - Tim[后端技术]
技术主管新年想得最多的一件事必定是如何比上一年做得更好. 宏大的目标设定每个团队都会做,谈几个不引人注意的小问题. 见过一些技术团队将计划定义为“按时完成需求”,需求驱动并没有什么不对,但是研发工作仅考虑被动需求的话是很难做好. 之前完成的许多需求有什么共性. 经常出问题/bug/故障的项目/功能/模块是哪些.

团队沟通杂感

- - 人月神话的BLOG
随时随地的短时间的,快速迭代的培训和教练作用远远大于正规的系统培训. 系统性培训一个是针对性往往弱,另外一个就是对团队成员有较高的要求,即自我强烈的系统性学习欲望. 走动时管理目的是及时的发现各种问题和团队技能之欠缺点,有针对性的进行沟通和经验传递,这需要团队管理者有敏锐的洞察力,不能脱离到团队工作事务之外.

某种理想的团队

- - 博客园_知识库
  (这篇文字灵感缘起于昨天发的一条半开玩笑半自嘲的 微博,由于设置了IFTTT被同步到我的 Twitter上,又被欢乐地转发了很多,估计是触发了某种有趣的共鸣). 现在我招聘已经被逼成这样了:先发自己和团队成员的简历给候选人,看你有没有兴趣跟一群这样水准的人一起做事,然后我争取到“面试你的机会”.