重回榜首!Facebook开源加强版BERT,全面超越XLNet

  • 时间:
  • 浏览:17
  • 来源:半粒糖博客 - 专注共享亿梦博客资源

大数据文摘出品

作者:宁静

已经 被拉下神坛的BERT又一次称霸了GLUE、SQuAD和RACE六个 排行榜。

今年六月,谷歌发布XLNet,指出并防止了BERT的缺点,在20多个指标上全面刷爆了BERT已经 的成绩,数据、算力相比BERT增加了可是,也在业内引起了激烈讨论:到底该用BERT还是XLNet

Facebook前几天表态:将会训练更久某些、数据量再大某些,BERT 还是能重新达到 GLUE 基准的第一名。

今天,Facebook开源了某些基于BERT开发的加强版预训练模型RoBERTa,全称”Robustly optimized BERT approach”——强力优化BERT依据,在GLUE、SQuAD和RACE六个 排行榜上都取得了最优成绩。

在今天的官方推文中,Facebook AI也直接明了地点出了某些依据的称霸诀窍:更久的训练时间、更多的数据、更强力调参。

Facebook也强调了RoBERTa诞生的意义:

调整BERT训练程序还都能不能显着提高其在各种NLP任务上的表现,一并也表明了某些依据的竞争力。更广泛来看,这项研究进一步证明了,监督训练有将会达到或超过更传统的监督依据的表现。RoBERTa是Facebook不断致力于推动自我监督系统最先进技术的一每种,该系统的开发还都能不能减少对时间和资源密集型数据标签的依赖。

这项研究由Facebook AI和华盛顿大学的研究团队一并完成,并公开了论文和代码,先附上链接:

论文链接:

https://arxiv.org/pdf/1907.11692.pdf

Github代码链接:

https://github.com/pytorch/fairseq/tree/master/examples/roberta

亮点:RoBERTa基于BERT的改进

RoBERTa基于BERT的改进在六个方面展开,包括:

  1. 更长时间地训练模型,批量更大,数据更多;
  2. 删除下一句预测的目标;
  3. 较长时间的训练;
  4. 动态改变应用于训练数据的masking模式。

论文的贡献在于:

  1. 提出了一套重要的BERT设计选着和训练策略,并引入了都能不能提高下游任务成绩的备选方案;
  2. 文中使用某种新的数据集CCNEWS,并确认使用更多数据进行预训练,进一步改善了下游任务的性能;
  3. 预训练的masked language model相比发表的某些依据都更具有竞争力,将会开源了在PyTorch中模型训练和参数微调的代码。

模型內部架构

已经 的BERT采用Transformer 內部,改经后的RoBERTa使用的是L层的transformer 架构,每个block 都使用六个 self-attention head和隐藏维度H。

在讲解模型內部原理已经 先简单介绍NLP领域中常用的Transformer 內部:

Transformer的主体內部图

模型分为编码器和解码器六个 每种,编码器和解码器的输入可是 利用学习好的embeddings将tokens(一般应该是词将会字符)转化为d维向量。对解码器来说,利用线性变换以及softmax函数将解码的输出转化为六个 预测下六个 token的概率。

Transformer用于机器翻译任务,表现极好,可并行化,因此大大减少训练时间。

模型预训练

在预训练模型的过程中,需用完成六个 指标:Masked Language Model (MLM) 和Next Sentence Prediction (NSP)

  • Masked Language Model (MLM) :MLM的目标是masked tokens序列中的交叉熵,选着输入中的随机token样本,并替换为特殊的token [MASK],BERT模型一致选着输入token中的15%作为将会的替换,在所选的token(selected tokens)中,400%的selected tokens替换为token [MASK],10%的selected tokens保持不变,另外10%替换为随机选着的词汇表token。
  • Next Sentence Prediction (NSP)下一句预测:预测六个 语段之间的二元分类损失,判断励志的话 有越来越 前后的依从关系,其中正样曾经自于文本语料库中提取连续的励志的话 ,负样曾经自于不同文档的段进行配对,正负样本相同的概率进行采样。

模型参数优化

BERT用以下参数:β1= 0.9,β2= 0.999,ǫ = 1e-6,L2权重为0.01,伴随着学习率的加快,在前10,000个steps中达到峰值1e-4,因此线性衰减;BERT训练时在所有层和attention內部中采用0.1的 dropout ,使用GELU激活函数,模型预训练有S = 1,000,000次更新,小批量暗含B = 256个sequences和T = 512的tokens序列。

实验结果

当控制训练数据时,亲戚亲戚朋友观察到RoBERTa比BERTLARGE结果有了很大的改进,当数据集从16GB增加到1400GB,训练次数从400K到400K再到4000K的过程中,模型准确度也逐渐提升。

RoBERTa在开发和测试中使用了提供的SQuAD数据,+表示依赖于额外內部训练数据的结果,从下面六个 表中,还都能不能看后RoBERTa相比XLNet有精度上的提升,表中加粗的数字。

在RACE测试集上的结果显示,RoBERTa的Accyracy相比BERT(large)提高了10个百分点,相比XLNet(large)提高了六个 百分点。

BERT与XLNet之争

自诞生起,BERT在江湖中地地位时不时颇动荡。

去年10月,谷歌放出了称霸GLUE榜单的BERT模型,当时BERT最大的创新可是 提出了Masked Language Model作为预训练任务,防止了GPT都能不能双向编码、ELMo都能不能高度双向编码的疑问报告 。已经 从那天起,可是任务后会 再需用复杂化的网络內部,可是 需用小量的标注数据,业界学术界都基于BERT做了可是事情。

2019年6月19日,谷歌又放出了六个 模型XLNet,找到并防止了BERT的缺点,在20多个指标上全面刷爆了BERT已经 的成绩,数据、算力相比BERT增加了可是。

语言模型预训练因为着了显著的性能增益,因此在不同依据之间仔细仍然具有挑战性,计算的训练成本是昂贵的,同样,超参数选着对最终结果有显著的影响。

因此,XLNet的王座终没做稳,在充分测量某些关键的超参数和训练数据大小的影响,研究人员发现,Bert的训练明显缺陷,改进后的Bert模型还都能不能达到或超过在已经 发布的每六个 模型的性能。

本月初,XLNet 团队尝试以某种在相同环境和配置下训练六个 模型的依据,对比了 XLNet 和 BERT 的效果,表态业内的讨论。

研究者尝试让每六个 超参数都采用相同的值,使用相同的训练数据。

最终结果