Facebook开源加强版BERT,全面超越XLNet

来源:www.xjctc.net   时间: 2020-01-23

BERT刚从祭坛上拉下来,再一次统治了GLUE,SQUAD和RACE排名。

今年6月,谷歌发布了XLNet,指出并解决了BERT的缺点,并全面粉碎了BERT之前20多个指标的结果。与BERT相比,数据和计算能力增加了很多,这也引起了业界的激烈讨论:我应该使用BERT还是XLNet?

Facebook几天前宣布:如果培训时间更长且数据量更大,BERT仍然可以达到GLUE基准测试的第一名。

今天,Facebook开源了这个增强版的基于BERT的预训练模型RoBERTa,全称“Robustly优化BERT方法”强大的BERT方法优化,在GLUE,SQUAD和RACE中取得了最好的成绩三个排名。

在今天的官方推文中,Facebook AI也直接了解主导这种方法的方式:更长的培训时间,更多的数据,更强大的调整。

Facebook还强调了RoBERTa诞生的重要性:

调整BERT培训计划可以显着提高其在各种NLP任务上的表现,同时也展示了这种方法的竞争力。更广泛地说,这项研究进一步表明,监视培训可能达到或超过更传统的监测方法的表现。 RoBERTa是Facebook不断致力于推广自我监控系统中最先进技术的一部分,该系统可减少对时间和资源密集型数据标签的依赖。

该研究由Facebook AI和华盛顿大学研究团队完成,并发表了论文和代码,并附有链接:

链接到纸张:单击此处输入

github代码链接:单击此处输入

亮点:基于bert改进的roberta

roberta基于bert的改进在四个方面实现,包括:

用更大的批量和更多的数据对模型进行更长时间的训练;

删除下一个预测目标;

更长的训练时间;

动态更改应用于训练数据的屏蔽模式。

本文的贡献是:

提出了一种重要的bert设计选择和训练策略,并提出了一种提高下游任务性能的方案;

本文使用了一个新的数据集ccnews,并证实了更多的数据用于预训练,进一步提高了下游任务的性能;

经过预训练的蒙面语言模型比其他已发布的方法更具竞争力,并且在pytorch中具有用于模型训练和参数调整的开源代码。

模型内部架构

前一个bert使用了transformer结构。更改后,roberta使用了l层transformer架构。每个区块使用一个自我关注的头部和一个隐藏的尺寸h。

在解释模型的内部原理之前,简要介绍nlp领域常用的变压器结构。

?变压器主要结构图

该模型分为两部分:编码器和解码器。编码器和解码器的输入是通过使用众所周知的嵌入将令牌(通常应该是字或字符)转换成d维向量。对于解码器,线性变换和softmax函数用于将解码输出转换为预测下一个令牌的概率。

变压器用于机器翻译任务,性能极佳,可并行化,大大缩短了培训时间。

模型预训练

在预训练模型的过程中,需要完成两个指标:蒙面语言模型(MLM)和下一句预测(NSP)

蒙面语言模型(MLM):MLM的目标是在一系列蒙版令牌中交叉熵。在输入中选择随机令牌样本,并将其替换为特殊令牌[MASK]。 BERT模型始终选择15%的输入令牌。相反,在所选令牌(选定的令牌)中,80%的所选令牌被令牌[MASK]替换,10%的所选令牌保持不变,而另外10%被替换为随机选择的词汇令牌。

下一句话预测(NSP)下一句话预测:预测两个片段之间的二元分类丢失,并判断是否存在先前或不存在依赖关系,其中正样本来自文本语料库以提取连续句子,而负样本来自来自不同文档的片段是成对的,并且以相同的概率对正样本和负样本进行采样。

模型参数优化

BERT使用以下参数:β1=0.9,β2=0.999,α=1e-6,L2权重为0.01,学习率增加,在前10,000步中达到1e-4的峰值,然后线性衰减; BERT训练时间在所有层和注意结构中使用0.1的丢失,使用GELU激活功能,模型预训练具有S=1,000,000个更新,并且小批量包含B=256个序列和T=512个令牌序列。

实验结果

在控制训练数据时,我们观察到与BERTLARGE相比,RoBERTa大大改善了结果。当数据集从16GB增加到160GB,训练时间从100K到300K到500K时,模型的准确性逐渐提高。

RoBERTa在开发和测试中使用提供的SQuAD数据,+表示依赖额外外部训练数据的结果。从以下两个表中我们可以看出,与XLNet相比,RoBERTa的准确性有所提高,表中的数字是粗体。

RACE测试集的结果表明,RoBERTa的Accyracy比BERT(大)高10%,比XLNet(大)高2%。

BERT和XLNet之战

自成立以来,BERT一直处于河流和湖泊中间的动荡状态。

去年10月,谷歌发布了主导GLUE名单的BERT模型。当时,BERT的最大创新是提出掩蔽语言模型作为预训练任务,解决了GPT无法双向编码且ELMo无法进行深度双向编码的问题。从那天起,许多任务不再需要复杂的网络结构,也不需要大量的注释数据。学术界已经基于BERT做了很多事情。

2019年6月19日,谷歌发布了XLNet模型,发现并解决了BERT的缺点,并全面阐述了BERT对20多个指标的结果。与BERT相比,数据和计算能力增加了很多。

语言模型预训练导致显着的性能提升,但是不同方法之间的谨慎仍然具有挑战性,并且计算训练成本昂贵。同样,超参数选择对最终结果有重大影响。

但是,XLNet的宝座还没有稳定下来。在充分测量了许多关键超参数和训练数据大小的影响后,研究人员发现伯特的训练显然是不够的。改进的Bert模型可以达到或超过每个后续版本。模特表现。

本月早些时候,XLNet团队尝试比较XLNet和BERT的效果,以便在相同的环境和配置中训练两种模型,以响应行业讨论。

研究人员试图让每个超参数使用相同的值并使用相同的训练数据。

最终结果

实验中有一些有趣的观察结果:

使用相同的训练公式来训练相同的数据,XLNet超越了BERT,在所有数据集中具有相当大的优势。

在11个基准测试中,使用10倍以上数据的好处小于从bert切换到xlnet的性能增益。

在一些基准测试中,例如cola和mrpc,在更多数据上训练的模型比在更少数据上训练的模型的功能要弱。

尽管这项研究是由xlnet团队发布的,但这两者之间的长期争论仍有很大价值。

  • 友情链接:
  • 版权所有© 新疆计算机培训中心 | 新ICP备10201303号-1 | www.xjctc.net . All Rights Reserved | 网站地图