经典论文阅读(5)——RoBERTa

 

RoBERTa相较于BERT:(1)训练模型的时间更长,批量更大,数据更多;(2)移除下一句预测目标;(3)长序列训练;(4)动态改变应用于训练数据的mask模式。

训练过程分析

使用与BERT_{base}相同配置的模型(L=12,H=768,A=12,110M参数)。

静态mask和动态mask

静态mask:为了避免每个epoch的mask模式相同,将训练数据复制10次,每个序列在40个epoch有10个不同的mask模式。

动态mask:BERT在数据预处理时执行一次mask,使用静态mask。动态mask是指每次将序列送入模型时动态生成mask模式。

模型输入格式及NSP

  • SEGMENT-PAIR+NSP:与原始BERT相同,输入不超过512。

  • SENTENCE-PAIR+NSP:句子对+NSP,输入不超过512。

  • FULL-SENTENCES:每个输入包含一个或多个从文档中抽取的句子,输入可能跨越文档边界,去除NSP loss,输入不超过512。

  • DOC-SENTENCES:输入构造类似于FULL-SENTENCES,但不能跨越文档边界,去除NSP loss,输入可能小于512,因此动态增加batch大小。

1、通过比较SEGMENT-PAIR+NSP和SENTENCE-PAIR+NSP,发现仅使用单个句子影响下游任务上的表现。

2、通过比较DOC-SENTENCES和BERT_{base},发现去掉NSP loss的效果比BERT_{base}结果更好。

3、DOC-SENTENCES比FULL-SENTENCES效果好。

文本编码

Byte-Pair编码(BPE)不是使用完整的单词,而是通过对训练语料库进行统计分析来提取子单词单元。

原始BERT使用一个词汇量30K的字符级别的BPE词表进行训练,本文使用50K字符级别的BPE词表进行训练,而不需要对输入进行额外的预处理和标记。

RoBERTa

本文提出了RoBERTa,鲁棒优化BERT方法。RoBERTa通过动态屏蔽、去掉NSP的FULL-SENTENCES、大的mini-batch和更大的字节级BPE进行训练。另外,还调查了在以前训练中被忽略的因素:1)用于预训练的数据;2)经过数据的训练次数。在预训练过程中,与BERT_{base}相比多使用了3个附加数据集,观察到所有下游任务的性能进一步改善,验证了预训练中数据大小和多样性的重要性。

结论

在预训练BERT模型时,我们仔细评估了许多设计决策。我们发现,通过更长的时间、更大的批和更多的数据来训练模型,可以显著地提高性能。在RoBERTa中,移除NSP,长序列训练,动态改变应用于训练数据的mask模式,最终在GLUE等多个任务上实现SOTA结果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值