RoBERTa:一种稳健优化的BERT预训练方法

Yinhan Liu ∗ § Myle Ott ∗§ Naman Goyal ∗§ Jingfei Du ∗§ Mandar Joshi † Danqi Chen § Omer Levy § Mike Lewis § Luke Zettlemoyer †§ Veselin Stoyanov § † Paul G. Allen School of Computer Science & Engineering, University of Washington, Seattle, WA { mandar90,lsz } @cs.washington.edu § Facebook AI { yinhanliu,myleott,naman,jingfeidu, danqi,omerlevy,mikelewis,lsz,ves } @fb.com

摘要

语言模型预训练带来了显著的性能提升,但仔细比较不同方法是一项挑战。

训练的计算成本很高,通常是在不同大小的私有数据集上进行的,我们将展示,超参数选择对最终结果有重大影响。

我们对BERT预训练(Devlin et al.,2019)进行了复制研究,仔细衡量了许多关键超参数和训练数据大小的影响。我们发现,BERT的训练明显不足,可以达到或超过其后发布的每个模型的性能。我们最好的模型在胶水、比赛和阵容方面都取得了最先进的成绩。这些结果突出了以前被忽视的设计选择的重要性,并对最近报告的改进来源提出了疑问。我们发布了我们的模型和代码。1.

1引言

诸如ELMo(Peters et al.,2018)、GPT(Radford et al.,2018)、BERT(Devlin et al.,2019)、XLM(Lample and Conneau,2019)和XLNet(Yang et al.,2019)等自我培训方法带来了显著的性能提升,但要确定这些方法的哪些方面贡献最大,可能很有挑战性。训练的计算成本很高,限制了可以进行的调整量,并且通常是使用大小不同的私有训练数据进行的,这限制了我们衡量建模进步效果的能力。
    https://github.com/pytorch/fairseq我们对BERT预训练(Devlin et al.,2019)进行了复制研究,其中包括仔细评估超参数调整和训练集大小的影响。我们发现BERT的训练明显不足,并提出了一种改进的训练BERT模型配方,我们称之为RoBERTa,它可以匹配或超过所有BERT后方法的性能。
    我们的修改很简单,包括:(1)训练模型的时间更长,批量更大,数据更多;(2) 删除下一句预测目标;(3) 长序列的训练;和(4)动态地改变应用于训练数据的掩蔽模式。我们还收集了一个与其他私人使用的数据集大小相当的大型新数据集(CC-N EWS),以更好地控制训练集的大小效应。
    当控制训练数据时,我们改进的训练程序改进了GLUE和SQuAD上公布的BERT结果。
    当对额外数据进行更长时间的训练的后,我们的模型在公共胶水排行榜上获得88.5分,与Yang等人(2019)报告的88.4分相匹配。我们的模型在九分之四的粘合任务上建立了新的最先进水平:MNLI、QNLI、RTE和STS-B。我们还将在阵容和比赛上取得最先进的成绩。
    总体而言,我们重新确定BERT的掩码式语言模型训练目标与其他最近提出的训练目标(如扰动自回归语言建模)具有竞争力(Yang et al.,2019)。2综上所述,本文的贡献有:(1)我们提出了一套重要的BERT设计选择和训练策略,并引入了能够提高下游任务绩效的备选方案;(2) 我们使用了一个新的数据集CC-news,并确认在预训练中使用更多的数据进一步提高了下游任务的性能;(3) 我们的训练改进表明,在正确的设计选择下,掩码式语言模型预训练与最近发布的所有其他方法相比具有竞争力。我们发布了在PyTorch中实现的模型、预训练和微调代码(Paszke et al.,2017)。

2背景

在本节中,我们简要概述了BERT(Devlin et al.,2019)的预训练方法和一些训练选择,我们将在下一节中进行实验研究。

2.1设置

BERT将两段(tokens序列)、的串联作为输入。片段通常由多个自然句组成。这两个片段作为单个输入序列呈现给BERT,并使用特殊的tokens对其进行分隔:

M和N受到约束,使得M+N<T,其中这是一个控制训练期间最大序列长度的参数。
    该模型首先在大型未标记文本语料库上进行预训练,然后使用结束任务标记的数据进行微调。

2.2架构

BERT使用了现在普遍存在的transformer架构(Vaswani et al.,2017),我们将不详细介绍该架构。我们使用带有L层的transformer架构。每个块使用一个自我注意头和隐藏维度H。

2.3训练目标

在预训练,BERT使用两个目标:掩码式语言建模和下一句预测。
    掩码式语言模型(MLM)选择输入序列中tokens的随机样本,并用特殊token[MASK]替换。传销的目标是预测掩码式tokens的交叉熵损失。BERT统一选择15%的输入tokens进行可能的替换。在选定的tokens中,80%被[MASK]替换,10%保持不变,10%被随机选择的词汇token替换。
    在最初的实现中,随机屏蔽和替换在开始时执行一次,并在训练期间保存,尽管在实践中,数据是重复的,因此mask对于每个训练句子并不总是相同的(参见第4.1节)。
    下一句预测(NSP)NSP是一种二元分类损失,用于预测原始文本中两段是否相互跟随。
    正例子是从文本语料库中选取连续的句子来创建的。负示例是通过将不同文档中的段配对来创建的。正和负示例以相同的概率采样。
    NSP目标旨在提高下游任务的性能,如自然语言推理(Bowman et al.,2015),这需要对句子之间的关系进行推理。

2.4优化

BERT与Adam(Kingma和Ba,2015)使用以下参数进行优化:β1=0。9,β2=0。999,ǫ=1e-6和L 2重量衰减为0。01。在前10000个步骤中,学习速率被预热到1e-4的峰值,然后线性衰减。BERT训练时,所有层的dropout为0.1,注意力权重和GELU激活函数(Hendrycks和Gimpel,2016)。模型针对S=1000000更新进行预训练,小批量包含B=256个最大长度为T=512个tokens的序列。

2.5数据

BERT(BERT)曾接受过书籍cor-PUS(Zhu et al.,2015)和英文IKIPEDIA(总计16GB的未压缩文本)组合的训练的。3.

3实验装置

在本节中,我们描述了BERT复制研究的实验装置。

3.1实施

我们在FAIRSEQ中重新实施了BERT(Ott等人,2019年)。我们主要遵循第2节中给出的原始BERT优化超参数,但峰值学习率和预热步骤数除外,这两个参数分别针对每个设置进行调整。此外,我们还发现训练对Adam epsilon项非常敏感,在某些情况下,我们在调整后获得了更好的性能或稳定性。同样,我们发现设置β2=0。98以提高大批量训练的稳定性。
    我们使用最多T=512个tokens的序列进行预训练。与Devlin et al.(2019)不同,我们不会随机注入短序列,也不会在前90%的更新中使用缩短的序列长度进行训练。我们训练只使用全长序列。
    我们在DGX-1机器上训练混合精度浮点算法,每台机器都有8×32GB Nvidia V100 GPU,由infiniband互连(Micikevicius et al.,2018)。

3.2数据

伯特风格的预训练主要依赖于大量的文本。Baevski等人(2019)证明,增加数据大小可以提高最终任务性能。有几项工作训练的了比原始BERT更大、更多样化的数据集(Radford et al.,2019;Yang et al.,2019;Zellers et al.,2019)。不幸的是,并非所有其他数据集都可以公开发布。在我们的研究中,我们专注于收集尽可能多的数据进行实验,使我们能够根据每次比较的情况匹配数据的总体质量和数量。
    我们考虑了五个不同大小和领域的英语语料库,总计超过160GB的未压缩文本。我们使用以下文本语料库:•图书语料库(Zhu et al.,2015)加上英语网络百科全书。这是用于训练BERT的原始数据。(16GB)。
    •CC-N EWS,我们从CommonCrawl新闻数据集的英语部分收集(Nagel,2016)。该数据包含2016年9月至2019年2月期间爬行的6300万篇英语新闻文章。(过滤后为76GB)。4•开放网络文本(Gokaslan和Cohen,2019),Radford et al.(2019)中描述的网络文本cor-pus的开源再创造。文本是从Reddit上共享的URL中提取的web内容,至少有三个UPVOUTS。(38GB)。5•stories,Trinh和Le(2018)引入的一个数据集,其中包含一个子集CommonCrawl数据,该数据集经过筛选,以匹配Winograd模式的类似故事的样式。(31GB)。

3.3评估

在之前的工作之后,我们使用以下三个基准来评估我们对下游任务的预训练模型。
    GLUE通用语言理解评估(GLUE)基准(Wang et al.,2019b)是9个用于评估自然语言理解系统的数据集的集合。6个任务分为单句分类任务和句子对分类任务。GLUE组织者提供了训练和开发数据拆分以及提交服务器和排行榜,允许参与者根据私人提供的测试数据评估和比较他们的系统。
    对于第4节中的复制研究,我们报告了在相应的单任务训练数据(即,没有多任务训练或集合)上微调预训练模型后的开发集结果。我们的微调程序遵循原始BERT论文(Devlin et al.,2019)。
    在第5节中,我们还报告了从公共排行榜获得的测试集结果。这些结果取决于我们在第5.1节中描述的一些特定于任务的修改。
    SQuAD斯坦福问答数据集(SQuAD)提供了一段上下文和一个问题。任务是通过从上下文中提取相关跨度来回答问题。
    我们评估了两个版本的SQuAD:V1.1和V2.0(Rajpurkar等人,2016、2018)。在V1.1中,上下文始终包含答案,而在V2.0中,某些问题没有在提供的上下文中得到回答,这使得任务更具挑战性。
    对于SQuAD V1.1,我们采用了与BERT相同的跨度预测方法(Devlin et al.,2019)。对于SQuAD V2.0,我们添加了一个额外的二元分类器来预测问题是否可以回答,我们通过对分类和跨度损失项求和来进行训练。在评估过程中,我们仅预测分类为可回答的对的跨度指数。
    RACE考试阅读理解(RACE)(Lai等人,2017)任务是一个大规模阅读理解数据集,包含28000多篇文章和近100000个问题。该数据集收集自中国为中学生设计的英语考试。在RACE中,每篇文章都与多个问题相关联。对于每个问题,任务是从四个选项中选择一个正确答案。与其他流行的阅读理解数据集相比,RACE的语境要长得多,需要推理的问题比例也非常大。

4训练程序分析

本节探讨并量化了哪些选择对成功的预训练BERT模型很重要。我们保持模型架构不变。7具体而言,我们首先使用与BERT基地相同的配置(L=12,H=768,A=12,110M参数)对BERT模型进行训练。

4.1静态与动态掩码

如第2节所述,BERT依赖于随机掩码和预测tokens。原始的BERT实现在数据预处理期间执行了一次掩码,从而产生了一个静态mask。为了避免对每个历元中的每个训练实例使用相同的mask,将训练数据复制10次,以便在训练的40个历元中以10种不同的方式对每个序列进行掩码式屏蔽。因此,在训练期间,每个训练序列都被用相同的mask观察了四次。
    我们将此策略与动态掩码进行比较,在动态掩蔽中,我们每次向模型提供序列时都会生成掩码模式。当进行更多步骤的预训练或使用更大的数据集时,这变得至关重要。
    结果表1将Devlin等人(2019年)公布的BERT基结果与我们使用静态或动态掩码重新实施的结果进行了比较。我们发现,我们用静态掩码重新实现的性能与原始BERT模型相似,动态掩码与静态掩码相当或略好。
    鉴于这些结果和动态掩码的额外效率优势,我们在剩下的实验中使用了动态掩码。

表1:BERT基静态和动态掩码的比较。我们报道了SQuAD的F1以及MNLI-m和SST-2的准确性。报告的结果是5次随机初始化(种子)的中间值。参考结果来自Yang等人(2019)。

4.2模型输入格式和下一句预测

在最初的BERT预训练过程中,模型观察到两个串联的文档段,它们要么从同一个文档(p=0.5)连续采样,要么从不同的文档中采样。除了掩码式语言建模目标外,模型还经过训练的,可以通过辅助下一句预测(NSP)损失来预测观察到的文档片段是否来自相同或不同的文档。
    假设NSP损失是训练原始BERT模型的重要因素。
    Devlin等人(2019年)观察到,移除NSP会影响绩效,QNLI、MNLI和SQuAD 1.1的绩效会显著下降。
    然而,最近的一些研究质疑了NSP损失的必要性(Lample和Conneau,2019年;Yang等人,2019年;Joshi等人,2019年)。
    为了更好地理解这种差异,我们比较了几种替代的训练格式:•段对+NSP:这遵循BERT(Devlin等人,2019)中使用的原始输入格式,NSP丢失。每个输入都有一对段,每个段可以包含多个自然句子,但总的组合长度必须小于512个tokens。
    •句子对+NSP:每个输入都包含一对自然句子,可以从一个文档的连续部分采样,也可以从单独的文档中采样。由于这些输入明显短于512个tokens,我们增加了批量大小,以便tokens的总数与段对+NSP相似。我们保留NSP损失。
    •完整句子:每个输入都包含从一个或多个文档中连续采样的完整句子,因此总长度最多为512个tokens。输入可能跨越文档边界。当我们到达一个文档的末尾时,我们开始从下一个文档中抽取句子,并在文档之间添加一个额外的分隔符token。我们消除了NSP损失。
    •文档句子:输入的结构类似于完整的句子,只是它们不能跨越文档边界。在文档末尾附近采样的输入可能短于512个tokens,因此在这些情况下,我们会动态增加批处理大小,以获得与完整句子相似的tokens总数。我们消除了NSP损失。
    结果表2显示了四种不同设置的结果。我们首先比较Devlin等人的原始段对输入格式。
    (2019)到句子对格式;两种格式都保留NSP损失,但后者使用单句。我们发现使用个别句子会影响下游任务的表现,我们假设这是因为模型无法学习长期依赖性。
    接下来,我们比较无NSP损失的训练和有单个文档文本块的训练(DOC-句子)。我们发现,与Devlin等人(2019)相比,该设置优于最初发布的BERT基结果,并且移除NSP损失匹配或略微改善下游任务性能。
    最初的BERT实现可能只删除了损失项,而仍然保留了段对输入格式。
    最后,我们发现限制来自单个文档的序列(DOC-句)比打包来自多个文档的序列(完整句)的性能稍好。
    然而,由于DOC-句格式的结果是不变的批量大小,我们在剩下的实验中使用了完整的句子,以便与相关工作进行比较。

表2:book corpus和W IKIPEDIA上预训练的基础模型的开发集结果。所有模型都经过1M步的训练的,批量大小为256个序列。我们报道了SQuAD的F1以及MNLI-m、SST-2和RACE的准确率。报告的结果是五次随机初始化(种子)的中间值。BERT基和XLNet基的结果来自Yang等人(2019)。

4.3大批量训练

神经机器翻译的过去工作表明,当学习率适当提高时,使用非常大的小批量进行训练既可以提高优化速度,也可以提高结束任务的性能(Ott等人,2018)。最近的研究表明,BERT也可以接受大批量训练(You等人,2019年)。
    Devlin等人(2019年)最初训练了1M步的BERT基,批量大小为256个序列。通过梯度累积,这在计算成本上相当于对125K个步骤(批次大小为2K序列)或31K个步骤(批次大小为8K)进行训练。
    在表3中,我们比较了在控制通过训练数据的次数的情况下,随着批量大小的增加,BERT基地的困惑和最终任务性能。我们观察到,大批量的训练提高了掩码式语言建模目标的复杂性,以及最终任务的准确性。通过分布式数据并行训练,大批量也更容易并行化,8在以后的实验中,我们使用8K序列进行批量训练。
    值得注意的是,You等人(2019年)用更大的批次大小训练BERT,最多32K序列。我们将进一步探索大批量训练的局限性留给未来的工作。

表3:在图书语料库和不同批量的IKIPEDIA(bsz)上训练的的基础模型的保持训练数据(ppl)和开发集准确性的困惑。我们为每个设置调整学习速率(lr)。模型对数据的传递次数(历次)相同,计算成本也相同。

4.4文本编码

字节对编码(BPE)(Sennrich et al.,2016)是字符和单词级表示的混合,允许处理自然语言语料库中常见的大型词汇。BPE依赖于通过对训练语料库进行统计分析提取的子词单元,而不是完整的单词。
    BPE词汇表的大小通常在10K-100K子单词单位之间。然而,在建模大型和多样的语料库时,unicode字符可以占这个词汇表的很大一部分,例如本工作中考虑的语料库。
    Radford et al.(2019)介绍了一种巧妙的BPE实现,它使用字节而不是unicode字符作为基本子字单元。使用字节可以学习中等大小(50K个单位)的子单词词汇表,它仍然可以对任何输入文本进行编码,而不引入任何“未知”tokens。
    最初的BERT实现(Devlin et al.,2019)使用大小为30K的字符级BPE词汇表,该词汇表是在使用启发式标记化规则对输入进行预处理后学习的。继Radford et al.(2019)之后,我们转而考虑使用更大的字节级BPE词汇表(包含50K子单词单元)对训练进行培训,而无需对输入进行任何额外的预处理或标记化。这分别为BERT BASE和BERT LARGE增加了约15M和20M的额外参数。
    早期的实验表明,这些编码之间只有细微的差异,Radford等人(2019年)的BPE在某些任务上的最终任务性能稍差。尽管如此,我们相信通用编码方案的优势超过了性能上的微小下降,并在剩下的实验中使用这种编码。这些编码的更详细比较将留待以后的工作进行。

5 RoBERTa

在上一节中,我们提出了对BERT预训练程序的修改,以提高最终任务的性能。我们现在汇总这些改进并评估其综合影响。
    我们将这种配置称为RoBERTa,因为它明显优化了BERT方法。具体而言,RoBERTa接受了动态掩码(第4.1节)、无NSP丢失的完整句子(第4.2节)、大型小批量(第4.3节)和较大字节级BPE(第4.4节)的训练的。
    此外,我们还调查了在之前的工作中被低估的另外两个重要因素:(1)用于预训练的数据,以及(2)通过数据的训练次数。例如,最近提出的XLNet架构(Yang et al.,2019)使用比原始BERT(Devlin et al.,2019)多近10倍的数据进行预训练。它还经过训练的,批量是优化步骤的八倍,因此在预训练中看到的序列是BERT的四倍。
    为了帮助将这些因素的重要性从其他建模选择中分离出来(例如,预训练目标),我们首先按照BERT大型架构(L=24,H=1024,A=16355m参数)对RoBERTa进行训练。我们在Devlin等人(2019)使用的可比图书语料库和IKIPEDIA数据集上预训练了10万个步骤。我们使用1024个V100 GPU对模型进行大约一天的预训练。
    结果我们在表4中给出了我们的结果。在控制训练数据时,我们观察到RoBERTa比最初报告的BERT大结果有了很大的改进,重申了我们在第4节中探讨的设计选择的重要性。
    接下来,我们将此数据与第3.2节中描述的三个附加数据集相结合。我们使用与之前相同的训练步骤数(100K),对组合数据进行训练训练。
    我们总共预训练了160GB以上的文本。我们观察到所有下游任务的性能进一步提高,验证了数据大小和多样性在预训练中的重要性。9最后,我们对RoBERTa进行了更长时间的预训练,将预训练步骤的数量从100K增加到300K,然后进一步增加到500K。我们再次观察到下游任务性能显著提高,300K和500K步长模型在大多数任务中都优于XLNet LARGE。我们注意到,即使是我们训练时间最长的模型似乎也不会过度拟合我们的数据,并且可能会从额外的训练中受益。
    在本文的其余部分,我们根据三个不同的基准:GLUE、SQuaD和RACE来评估我们最好的RoBERTa模型。具体而言,我们认为RoBERTa(训练的)在第3.2节中介绍的所有五个数据集中接受了500K步的培训。

表4:随着我们对更多数据(16GB)的预训练,RoBERTa的开发集结果→ 160GB的文本)和更长时间的预训练(100K→ 30万→ 500K步)。每一行都累积了以上行的改进。RoBERTa符合BERT LARGE的架构和训练目标。BERT LARGE和XLNet LARGE的结果分别来自Devlin et al.(2019)和Yang et al.(2019)。所有GLUE任务的完整结果见附录。

5.1 GLUE结果

对于GLUE,我们考虑两种微调设置。
    在第一个设置(single task,dev)中,我们为每个GLUE任务分别微调RoBERTa,只使用相应任务的训练数据。我们考虑对每个任务进行有限的超参数扫描,并考虑批量大小∈ {16,32}和学习率∈ {1 e− 5,2 e− 5,3 e− 5},对前6%的步骤进行线性预热,然后线性衰减到0。我们对10个时代进行微调,并根据dev集上每个任务的评估指标执行提前停止。其余超参数与预训练相同。
    在此设置中,我们报告了五次随机初始化过程中每个任务的开发集结果中值,无需模型置乱。
    在第二个场景(合奏,测试)中,我们通过GLUE排行榜将RoBERTa与测试集上的其他方法进行比较。虽然GLUE排行榜的许多提交依赖于多任务微调,但我们的提交仅依赖于单任务微调。对于RTE、STS和MRPC,我们发现从MNLI单任务模型开始进行微调是有帮助的,而不是从基线预训练的RoBERTa开始。我们探索了一个稍宽的超参数空间,如附录所述,并将每个任务集成在5到7个模型之间。
    特定于任务的修改GLUE的两项任务需要特定于任务的微调方法,以实现有竞争力的排行榜结果。
    QNLI:最近提交的GLUE排行榜采用了QNLI任务的成对排名公式,其中候选人答案从训练集中挖掘出来并相互比较,单个(问题,候选人)对被归类为正(Liu等人,2019b,a;Yang等人,2019)。这一公式大大简化了任务,但与BERT(Devlin等人,2019)没有直接的可比性。继最近的工作之后,我们在提交测试时采用了排名方法,但为了与BERT直接比较,我们报告了基于纯分类方法的开发集结果。
    WNLI:我们发现提供的NLI格式数据很难处理。相反,我们使用superglue重新格式化的WNLI数据(Wang et al.,2019a),这表示查询代词和参照物的范围。我们利用Kocijan等人(2019年)的利润排名损失对RoBERTa进行了微调。对于给定的输入句子,我们使用spaCy(Honnibal和Montani,2017)从句子中提取额外的候选名词短语,并微调我们的模型,以便它为正参照短语分配的分数高于任何生成的负候选短语。
    这种表述的一个不幸后果是,我们只能使用正的训练示例,这排除了一半以上提供的训练示例。10结果我们在表5中给出了我们的结果。在第一个设置(单任务,dev)中,RoBERTa在所有9个GLUE任务开发集上都获得了最先进的结果。至关重要的是,RoBERTa使用了与BERT LARGE相同的掩码式语言建模预训练目标和架构,但始终优于BERT LARGE和XLNet LARGE。与我们在这项工作中探索的数据集大小和训练时间等更为平凡的细节相比,这就提出了关于模型体系结构和预训练目标的相对重要性的问题。
    在第二个场景(合奏、测试)中,我们将RoBERTa列入GLUE排行榜,并在9项任务中的4项任务中取得最先进的成绩,以及迄今为止的最高平均分数。这尤其令人兴奋,因为RoBERTa不依赖于多任务微调,这与大多数其他顶级提交文件不同。我们希望未来的工作可以通过合并更复杂的多任务微调程序进一步改进这些结果。

表5:GLUE的结果。所有结果均基于24层体系结构。BERT LARGE和XLNet LARGE的结果分别来自Devlin et al.(2019)和Yang et al.(2019)。RoBERTa在开发集上的结果是五分以上的中位数。RoBERTa在测试集上的结果是单任务模型的集合。对于RTE、STS和MRPC,我们从MNLI模型而不是基线预训练的模型开始微调。平均值来自GLUE排行榜。

5.2 SQuAD结果

与过去的工作相比,我们对SQuAD采取了更简单的方法。特别是,虽然BERT(Devlin et al.,2019)和xlnet(Yang et al.,2019)都用额外的QA数据集扩充了他们的训练数据,但我们仅使用提供的SQuAD训练数据对RoBERTa进行微调。Yang等人(2019年)还采用了自定义的分层学习速率计划来微调XLNet,而我们对所有层使用相同的学习速率。
    对于SQuAD v1.1,我们遵循与Devlin等人(2019)相同的微调程序。对于SQuAD v2.0,我们还对给定问题是否可回答进行了分类;我们通过对分类项和跨度损失项求和,将该分类器与跨度预测器联合起来进行训练。
    结果我们的结果见表6。在SQuAD v1.1开发套件中,RoBERTa与XLNet最先进的套件相匹配。在SQuAD v2.0开发阵容中,RoBERTa创造了新的技术水平,比XLNet提高了0.4分(EM)和0.6分(F1)。
    我们还将RoBERTa提交给公众SQuAD 2.0排行榜,并评估其相对于其他系统的性能。大多数顶级系统都基于BERT(Devlin et al.,2019)或XLNet(Yang et al.,2019),两者都依赖于额外的外部训练数据。相比之下,我们提交的材料没有使用任何其他数据。
    我们的单一RoBERTa模型的表现优于除一个以外的所有单一模型提交,并且是不依赖数据扩充的评分系统中的最高评分系统。

表6:SQuAD的成绩†表示依赖于其他外部训练数据的结果。RoBERTa在开发和测试设置中仅使用提供的SQuAD数据。BERT LARGE和XLNet LARGE的结果分别来自Devlin et al.(2019)和Yang et al.(2019)。

5.3 RACE结果

在RACE中,系统提供一段文本、一个相关问题和四个候选答案。
    系统需要对四个候选答案中的哪一个正确进行分类。
    我们为这项任务修改了RoBERTa,将每个候选答案与相应的问题和段落联系起来。然后,我们对这四个序列中的每一个进行编码,并通过一个完全连接的层传递得到的【CLS】表示,该层用于预测正确的答案。我们截断长度超过128个tokens的问答对,如果需要,还截断段落,以便总长度最多为512个tokens。
    RACE测试集的结果如表7所示。RoBERTa在中学和高中都取得了一流的成绩。

表7:RACE测试集的结果。BERT LARGE和XLNet LARGE的结果来自Yang等人(2019)。

6相关工作

预训练方法的设计具有不同的训练目标,包括语言建模(Dai和Le,2015;Peters等人,2018;Howard和Ruder,2018)、机器翻译(McCann等人,2017)和掩码式语言建模(Devlin等人,2019;Lample和Conneau,2019)。最近的许多论文都为每项最终任务使用了微调模型的基本配方(Howard和Ruder,2018;Radford et al.,2018),并使用掩码式语言模型目标的一些变体进行了预训练。然而,较新的方法通过多任务微调(Dong等人,2019),结合实体嵌入(Sun等人,2019),跨度预测(Joshi等人,2019),以及自回归预训练的多种变体(Song等人,2019;Chan等人,2019;Yang等人,2019),提高了性能。通过在更多数据上对更大的模型进行训练,性能通常也会得到改善(Devlin等人,2019年;Baevski等人,2019年;Yang等人,2019年;Radford等人,2019年)。我们的目标是复制、简化和更好地调整BERT的训练,作为更好地理解所有这些方法的相对性能的参考点。

7结论

在预训练BERT模型时,我们仔细评估了一些设计决策。我们发现,对模型进行更长时间的训练可以显著提高性能,对更多数据进行更大批量的训练;删除下一句预测目标;长序列的训练;以及动态地改变应用于训练数据的掩码模式。我们改进后的预训练程序,我们称之为RoBERTa,在GLUE、RACE和SQuAD上取得了最先进的成绩,而没有GLUE的多任务微调或SQuAD的其他数据。这些结果说明了这些以前被忽视的设计决策的重要性,并表明BERT的预训练目标与最近提出的备选方案仍然具有竞争力。
    此外,我们还使用了一个新的数据集CC-N EWS,并在以下位置发布了预训练和微调的模型和代码:https://github.com/pytorch/fairseq。

参考文献

Eneko Agirre, Llu’is M‘arquez, and Richard wicentowski, editors. 2007. Proceedings of the Fourth International Workshop on Semantic Evaluations (SemEval-2007) .

Alexei Baevski, Sergey Edunov, Yinhan Liu, Luke Zettlemoyer, and Michael Auli. 2019. clozedriven pretraining of self-attention networks. arXiv preprint arXiv:1903.07785 .

Roy Bar-Haim, Ido Dagan, Bill Dolan, Lisa Ferro, Danilo Giampiccolo, Bernardo Magnini, and Idan Szpektor. 2006. The second PASCAL recognising textual entailment challenge. In Proceedings of the second PASCAL challenges workshop on recognising textual entailment .

Luisa Bentivogli, Ido Dagan, Hoa Trang Dang, Danilo Giampiccolo, and Bernardo Magnini. 2009. The fifth PASCAL recognizing textual entailment challenge.

Samuel R Bowman, Gabor Angeli, Christopher Potts, and Christopher D Manning. 2015. A large annotated corpus for learning natural language inference. In Empirical Methods in Natural Language processing (EMNLP) .

William Chan, Nikita Kitaev, Kelvin Guu, Mitchell Stern, and Jakob Uszkoreit. 2019. KERMIT: generative insertion-based modeling for sequences. arXiv preprint arXiv:1906.01604 .

Ido Dagan, Oren Glickman, and Bernardo Magnini. 2006. The PASCAL recognising textual entailment challenge. In Machine learning challenges. evaluating predictive uncertainty, visual object classification, and recognising tectual entailment .

Andrew M Dai and Quoc V Le. 2015. Semi-supervised sequence learning. In Advances in Neural information Processing Systems (NIPS) .

Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. 2019. BERT: Pre-training of deep bidirectional transformers for language understanding. In North American Association for computational Linguistics (NAACL) .

William B Dolan and Chris Brockett. 2005. automatically constructing a corpus of sentential paraphrases. In Proceedings of the International workshop on Paraphrasing .

Li Dong, Nan Yang, Wenhui Wang, Furu Wei, Xiaodong Liu, Yu Wang, Jianfeng Gao, Ming Zhou, and Hsiao-Wuen Hon. 2019. Unified language model pre-training for natural language understanding and generation. arXiv preprint arXiv:1905.03197 .

Danilo Giampiccolo, Bernardo Magnini, Ido Dagan, and Bill Dolan. 2007. The third PASCAL recognizing textual entailment challenge. In Proceedings of the ACL-PASCAL workshop on textual entailment and paraphrasing .

Aaron Gokaslan and Vanya Cohen. 2019. openwebtext corpus. http://web.archive.org/ save/http://Skylion007.github.io/ OpenWebTextCorpus .

Felix Hamborg, Norman Meuschke, Corinna breitinger, and Bela Gipp. 2017. news-please: A generic news crawler and extractor. In Proceedings of the 15th International Symposium of Information Science .

Dan Hendrycks and Kevin Gimpel. 2016. gaussian error linear units (gelus). arXiv preprint arXiv:1606.08415 .

Matthew Honnibal and Ines Montani. 2017. spaCy 2: Natural language understanding with Bloom embeddings, convolutional neural networks and incremental parsing. To appear.

Jeremy Howard and Sebastian Ruder. 2018. Universal language model fine-tuning for text classification. arXiv preprint arXiv:1801.06146 .

Shankar Iyer, Nikhil Dandekar, and Kornl csernai. 2016. First quora dataset release: Question pairs. https://data.quora.com/firstquora-dataset-release-question- Pairs .

Mandar Joshi, Danqi Chen, Yinhan Liu, Daniel S. Weld, Luke Zettlemoyer, and Omer Levy. 2019. SpanBERT: Improving pre-training by representing and predicting spans. arXiv preprint arXiv:1907.10529 .

Diederik Kingma and Jimmy Ba. 2015. Adam: A method for stochastic optimization. In International Conference on Learning Representations (ICLR) .

Vid Kocijan, Ana-Maria Cretu, Oana-Maria Camburu, Yordan Yordanov, and Thomas Lukasiewicz. 2019. A surprisingly robust trick for winograd schema challenge. arXiv preprint arXiv:1905.06290 .

Guokun Lai, Qizhe Xie, Hanxiao Liu, Yiming Yang, and Eduard Hovy. 2017. Race: Large-scale reading comprehension dataset from examinations. arXiv preprint arXiv:1704.04683 .

Guillaume Lample and Alexis Conneau. 2019. crosslingual language model pretraining. arXiv preprint arXiv:1901.07291 .

Hector J Levesque, Ernest Davis, and Leora morgenstern. 2011. The Winograd schema challenge. In AAAI Spring Symposium: Logical Formalizations of Commonsense Reasoning .

Xiaodong Liu, Pengcheng He, Weizhu Chen, and Jianfeng Gao. 2019a. Improving multi-task deep neural networks via knowledge distillation for natural language understanding. arXiv preprint arXiv:1904.09482 .

Xiaodong Liu, Pengcheng He, Weizhu Chen, and jianfeng Gao. 2019b. Multi-task deep neural networks for natural language understanding. arXiv preprint arXiv:1901.11504 .

Bryan McCann, James Bradbury, Caiming Xiong, and Richard Socher. 2017. Learned in translation: contextualized word vectors. In Advances in Neural information Processing Systems (NIPS) , pages 6297– 6308.

Paulius Micikevicius, Sharan Narang, Jonah Alben, Gregory Diamos, Erich Elsen, David Garcia, Boris Ginsburg, Michael Houston, Oleksii Kuchaiev, Ganesh Venkatesh, and Hao Wu. 2018. Mixed precision training. In International Conference on learning Representations .

Sebastian Nagel. 2016. Cc-news. http: //web.archive.org/save/http: //commoncrawl.org/2016/10/newsdataset-available .

Myle Ott, Sergey Edunov, Alexei Baevski, Angela Fan, Sam Gross, Nathan Ng, David Grangier, and Michael Auli. 2019. FAIRSEQ : A fast, extensible toolkit for sequence modeling. In North American Association for Computational linguistics (NAACL): System Demonstrations .

Myle Ott, Sergey Edunov, David Grangier, and Michael Auli. 2018. Scaling neural machine translation. In Proceedings of the Third Conference on Machine Translation (WMT) .

Adam Paszke, Sam Gross, Soumith Chintala, gregory Chanan, Edward Yang, Zachary DeVito, zeming Lin, Alban Desmaison, Luca Antiga, and Adam Lerer. 2017. Automatic differentiation in PyTorch. In NIPS Autodiff Workshop .

Matthew Peters, Mark Neumann, Mohit Iyyer, Matt Gardner, Christopher Clark, Kenton Lee, and Luke Zettlemoyer. 2018. Deep contextualized word representations. In North American Association for computational Linguistics (NAACL) .

Alec Radford, Karthik Narasimhan, Time Salimans, and Ilya Sutskever. 2018. Improving language understanding with unsupervised learning. Technical report, OpenAI.

Alec Radford, Jeffrey Wu, Rewon Child, David Luan, Dario Amodei, and Ilya Sutskever. 2019. Language models are unsupervised multitask learners. technical report, OpenAI.

Pranav Rajpurkar, Robin Jia, and Percy Liang. 2018. Know what you don’t know: Unanswerable questions for squad. In Association for Computational Linguistics (ACL) .

Pranav Rajpurkar, Jian Zhang, Konstantin Lopyrev, and Percy Liang. 2016. SQuAD: 100,000+ questions for machine comprehension of text. In Empirical methods in Natural Language Processing (EMNLP) .

Rico Sennrich, Barry Haddow, and Alexandra Birch. 2016. Neural machine translation of rare words with subword units. In Association for Computational Linguistics (ACL) , pages 1715–1725.

Richard Socher, Alex Perelygin, Jean Wu, Jason Chuang, Christopher D Manning, Andrew Ng, and Christopher Potts. 2013. Recursive deep models for semantic compositionality over a sentiment treebank. In Empirical Methods in Natural Language Processing (EMNLP) .

Kaitao Song, Xu Tan, Tao Qin, Jianfeng Lu, and Tie-Yan Liu. 2019. MASS: Masked sequence to sequence pre-training for language generation. In International Conference on Machine Learning (ICML) .

Yu Stephanie Sun, Shuohuan Wang, Yukun Li, Shikun Feng, Xuyi Chen, Han Zhang, Xinlun Tian, danxiang Zhu, Hao Tian, and Hua Wu. 2019. ERNIE: enhanced representation through knowledge integration. arXiv preprint arXiv:1904.09223 .

Trieu H Trinh and Quoc V Le. 2018. A simple method for commonsense reasoning. arXiv preprint arXiv:1806.02847 .

Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Łukasz Kaiser, and Illia Polosukhin. 2017. Attention is all you need. In Advances in neural information processing systems .

Alex Wang, Yada Pruksachatkun, Nikita Nangia, Amanpreet Singh, Julian Michael, Felix Hill, Omer Levy, and Samuel R. Bowman. 2019a. SuperGLUE: A stickier benchmark for general-purpose language understanding systems. arXiv preprint 1905.00537 .

Alex Wang, Amanpreet Singh, Julian Michael, Felix Hill, Omer Levy, and Samuel R. Bowman. 2019b. GLUE: A multi-task benchmark and analysis platform for natural language understanding. In international Conference on Learning Representations (ICLR) .

Alex Warstadt, Amanpreet Singh, and Samuel R. bowman. 2018. Neural network acceptability judgments. arXiv preprint 1805.12471 .

Adina Williams, Nikita Nangia, and Samuel Bowman. 2018. A broad-coverage challenge corpus for sentence understanding through inference. In North American Association for Computational linguistics (NAACL) .

Zhilin Yang, Zihang Dai, Yiming Yang, Jaime carbonell, Ruslan Salakhutdinov, and Quoc V Le. 2019. Xlnet: Generalized autoregressive pretraining for language understanding. arXiv preprint arXiv:1906.08237 .

Yang You, Jing Li, Jonathan Hseu, Xiaodan Song, James Demmel, and Cho-Jui Hsieh. 2019. reducing bert pre-training time from 3 days to 76 minutes. arXiv preprint arXiv:1904.00962 .

Rowan Zellers, Ari Holtzman, Hannah Rashkin, Yonatan Bisk, Ali Farhadi, Franziska Roesner, and Yejin Choi. 2019. Defending against neural fake news. arXiv preprint arXiv:1905.12616 .

Yukun Zhu, Ryan Kiros, Richard Zemel, Ruslan Salakhutdinov, Raquel Urtasun, Antonio Torralba, and Sanja Fidler. 2015. Aligning books and movies: Towards story-like visual explanations by watching movies and reading books. In arXiv preprint arXiv:1506.06724 .

“RoBERTa:稳健优化的BERT预训练方法”附录

GLUE的完整结果

在表8中,我们展示了RoBERTa的全套开发集结果。我们给出了遵循BERT LARGE的大型配置以及遵循BERT BASE的基本配置的结果。

B预训练超参数

表9描述了RoBERTa大基地和RoBERTa基地预训练的超参数。

C微调超参数

表10给出了RACE、SQuAD和GLUE的微调超参数。我们根据每个任务5个随机种子的中位数选择最佳超参数值。

表8:RoBERTa各种配置的GLUE任务的开发集结果。

表9:预训练RoBERTa LARGE和RoBERTa BASE的超参数。

表10:微调RoBERTa·拉格(RobertaLarge)在RACE、SQuAD和GLUE上的超参数。

RoBERTa: A Robustly Optimized BERT Pretraining Approach(通篇翻译)相关推荐

  1. RoBERTa: A Robustly Optimized BERT Pretraining Approach

    1 简介 本文根据2019年<RoBERTa: A Robustly Optimized BERT Pretraining Approach>翻译总结的. RoBERTa:稳健优化BERT ...

  2. 【预训练语言模型】RoBERTa: A Robustly Optimized BERT Pretraining Approach

    ·阅读摘要:   本文在BERT模型的基础上进行了一些改进,提出了RoBERTa模型,并证明了RoBERTa比BERT的效果更好一些. ·参考文献:   [1] RoBERTa: A Robustly ...

  3. 论文阅读——RoBERTa A Robustly Optimized BERT Pretraining Approach

    RoBERTa A Robustly Optimized BERT Pretraining Approach Abstract Devlin等人在 BERT Pre-training of Deep ...

  4. 《论文阅读》RoBERTa: A Robustly Optimized BERT Pretraining Approach

    <论文阅读>RoBERTa: A Robustly Optimized BERT Pretraining Approach 简介 想法来源 数据集的选择 创新点 总结 期刊:arxiv 2 ...

  5. RoBERTa: A Robustly Optimized BERT Pretraining Approach​​​​​​

    Abstract Dev 目录 Abstract 1 Introduction 本文贡献: lin等人在 BERT Pre-training of Deep Bidirectional Transfo ...

  6. RoBERTa:A Robustly Optimized BERT Pretraining Approach(2019-7-26)

    模型概述 RoBERTa可以看作是BERT的改进版,从模型结构上讲,相比BERT,RoBERTa基本没有什么创新,它更像是关于BERT在预训练方面进一步的探索.其改进了BERT很多的预训练策略,其结果 ...

  7. PromptBERT: Improving BERT Sentence Embeddings with Prompts (通篇翻译)

    PromptBERT:使用提示改进BERT句子嵌入 Ting Jiang 1 ∗ , Shaohan Huang 3 , Zihan Zhang 4 , Deqing Wang 1 † , Fuzhe ...

  8. Roberta 充分训练的bert模型

    RoBERTa是在论文<RoBERTa: A Robustly Optimized BERT Pretraining Approach>中被提出的.此方法属于BERT的强化版本,也是BER ...

  9. 《BERT:Pre-training of Deep Bidirectional Transformers for Language Understanding》

    目录 <BERT:Pre-training of Deep Bidirectional Transformers for Language Understanding> 1.Bert研究意 ...

最新文章

  1. AI 助力金融后,中美金融科技领域最大的差距是什么?
  2. YOLO 卷积层代码学习
  3. 百练OJ:4003:十六进制转十进制(python三行代码实现)
  4. 2009最后一天,为了期盼而祝福
  5. 动态开点线段树(多棵线段树)的内存分配与回收
  6. 100+ 值得收藏的 Web 开发资源
  7. Java StringBuffer 方法
  8. Tensorflow 入门手册(代码与原理释义)
  9. 【九度OJ】题目1084:整数拆分
  10. 安装geopandas库
  11. You must install signalwire-client-c to build mod_signalwire
  12. 深度学习框架PyTorch:入门与实践 学习(一)
  13. Kindle PaperWhite 3 5.8.10越狱成功!
  14. storm throw 口袋妖怪_pokemon go游戏术语都有哪些 口袋妖怪go玩法术语攻略
  15. 计算机无法识别新挂硬盘,windows10系统添加新硬盘识别不了如何解决
  16. 阅读类APP会员页竞品分析
  17. 微信公众号开发前端逻辑
  18. 计算机网络复习zucc
  19. Java语言基础之单行注释与多行注释
  20. 计算机组成原理时序与启停实验,计算机组成原理时序与启停实验

热门文章

  1. 一篇文章学懂数据结构中的树
  2. 15款图片批量处理软件下载
  3. 前端如何修改组件库源码来封装符合自己需求的组件?
  4. linux设计程序设计论文,毕业设计(论文)基于Linux的Apache服务器的设计.doc
  5. 微软teams软件_如何在Microsoft Teams中创建快速投票
  6. 推荐几个比较好的国外软件项目外包网站(比较适合兼职)
  7. 【C++】虚函数指针和虚函数列表
  8. Android下进行 Facebook 分享
  9. win10窗口切换快捷键
  10. Amari打VONR电话