大型语言模型RoBERTa :一种鲁棒优化的BERT方法

2023年09月25日 由 daydream 发表 411 0

微信截图_20230925102923


BERT模型的出现在自然语言处理(NLP)领域取得了重大进步。BERT从Transformer模型中得到架构,在语言建模、下一个句子预测、问题回答、命名实体识别等各种下游任务上取得了最先进的结果。


尽管BERT的性能出色,但研究人员仍在不断尝试调整其配置,希望取得更好的指标。幸运的是,他们成功地提出了一种名为RoBERTa(Robustly Optimized BERT Approach)的新模型。


在本文中,我们将参考关于RoBERTa模型的官方论文,其中包含了该模型的详细信息。简单来说,RoBERTa在原始BERT模型的基础上进行了几项独立的改进,但其他原则和架构保持不变。本文将涵盖并解释所有这些改进。


动态掩码


我们还记得BERT的架构,在预训练过程中,BERT通过尝试预测一定比例的掩码标记来进行语言建模。原始实现的问题在于,在给定的文本序列上,不同批次之间选择进行掩码的标记有时是相同的。


更准确地说,训练数据集被复制了10倍,因此每个序列只以10种不同的方式进行掩码。考虑到BERT运行了40个训练时期,每个带有相同掩码的序列都会被传递给BERT四次。研究人员发现,使用动态掩码会稍微更好,意味着每次将序列传递给BERT时都会生成唯一的掩码。总体而言,这在训练过程中减少了重复数据,使模型有机会处理更多样化的数据和掩码模式。


1


下一个句子预测


论文的作者对下一个句子预测任务进行了研究,试图找到一种最优的建模方式。结果,他们得出了一些有价值的见解:

  • 移除下一个句子预测损失会稍微提高性能。
  • 相比于传递由单个自然语句组成的输入,传递由多个句子组成的序列会损害性能。解释这种现象的最可能假设之一是模型仅依靠单个句子学习长距离依赖性的困难。
  • 与从多个文档中采样连续句子构建输入序列相比,从单个文档中连续采样句子更有益。通常,序列总是由单个文档的连续完整句子构成,以使总长度最多为512个标记。但当我们到达文档末尾时会出现问题。在这一方面,研究人员比较了停止采样句子以获取此类序列是否值得,或者是否还要额外采样下一个文档的前几个句子(并在文档之间添加相应的分隔符标记)。结果表明,第一种选项更好。


最终,在RoBERTa的最终实现中,作者选择保留前两个方面,而忽略第三个方面。尽管第三个见解背后观察到了改进,研究人员没有继续使用它,否则将使之前的实现之间的比较更加复杂。这是因为到达文档边界并停止意味着输入序列将包含少于512个标记。为了在所有批次中具有相似数量的标记,这些情况下的批次大小需要增加。这导致批次大小可变以及更复杂的比较,而研究人员希望避免这种情况。


2


增加批次大小


最近在NLP领域的进展表明,适当降低学习率和训练步数的情况下增加批次大小通常会提高模型的性能。


提醒一下,BERT基础模型是在256个序列的批次大小下进行百万步的训练。作者尝试使用2K和8K的批次大小进行BERT的训练,而后者的值被用于训练RoBERTa。相应的训练步数和学习率分别为31K和1e-3。


字节文本编码


在NLP中,存在三种主要的文本标记化类型:

  • 字符级标记化
  • 子词级标记化
  • 词级标记化


原始的BERT使用子词级标记化,词汇表大小为30K,根据输入预处理和使用几种启发式方法学习得到。RoBERTa使用字节而不是Unicode字符作为子词的基础,并将词汇表大小扩展到50K,无需进行任何预处理或输入标记化。这导致BERT基础模型和BERT大模型分别增加了1500万和2000万个额外参数。RoBERTa引入的编码版本的结果略逊于之前的版本。


然而,RoBERTa中词汇表的增长使其能够对几乎所有单词或子词进行编码,而无需使用未知标记。这使RoBERTa能够更好地理解包含罕见词汇的复杂文本。


3


预训练


除此之外,RoBERTa将上述四个方面应用于与BERT大模型相同的架构参数上。RoBERTa的总参数数量为3.55亿。


RoBERTa在五个大型数据集的组合上进行预训练,总共使用160GB的文本数据。相比之下,BERT大模型仅在13GB的数据上进行预训练。最后,作者将训练步数从100K增加到500K。


结果是,在最流行的基准测试中,RoBERTa比BERT大模型和XLNet大模型表现优异。


RoBERTa版本


与BERT类似,研究人员开发了RoBERTa的两个版本。基础版本和大模型版本中的大部分超参数都是相同的。下图显示了两者之间的主要区别:


4


RoBERTa中的微调过程类似于BERT。


结论


本文中,我们研究了BERT的改进版本,它通过引入以下方面修改了原始的训练过程:

  • 动态掩码
  • 省略下一个句子预测目标
  • 对更长的句子进行训练
  • 增加词汇表大小
  • 使用更大的批次大小和更长的训练数据


结果表明,RoBERTa模型在主要基准测试中优于其前身。尽管配置更复杂,RoBERTa只增加了1500万个额外参数,同时保持与BERT相当的推理速度。

文章来源:https://towardsdatascience.com/roberta-1ef07226c8d8
欢迎关注ATYUN官方公众号
商务合作及内容投稿请联系邮箱:bd@atyun.com
评论 登录
写评论取消
回复取消