RoBERTa 可以理解为 BERT 的“全面优化版”或“完全体”。它由Facebook在2019年提出,其核心思想非常直接:BERT可能没有被充分地训练。通过更长时间、更多数据、更大批次以及一系列训练技巧的改进,RoBERTa充分挖掘了BERT架构的潜力,并在多个自然语言理解任务上超越了BERT乃至其后出现的XLNet等模型,捍卫了“掩码语言模型”的竞争力。

RoBERTa的核心改进

RoBERTa在模型结构上与BERT基本一致,依然是基于Transformer的Encoder-only架构。它的“优化”主要体现在训练层面,可以概括为以下几个关键点:

改进维度 BERT的做法 RoBERTa的做法 效果与说明
1. 数据规模 主要在BookCorpus和英文维基百科上训练,数据量约16GB   。 使用了包含160GB纯文本的更大、更多样化的数据集,如CC-News、OpenWebText等。                           数据量是原来的10倍,为模型学习更丰富的语言知识提供了基础。
2. 动态掩码 静态掩码:在数据预处理阶段进行一次掩码,之后每个训练epoch看到的掩码模式是固定的。 动态掩码:每次向模型输入一个序列时,都会随机生成新的掩码模式  让模型在训练过程中接触到更多样的掩码方式,增强了模型的鲁棒性和泛化能力
3. 下一句预测 包含“下一句预测”任务,让模型判断两个句子是否连续。 完全移除下一句预测任务 研究发现,移除NSP后,模型在下游任务上的性能反而得到了提升 。
4. 训练批次 使用较小的批次大小进行训练。 使用了更大的批次(如从256到8000)进行训练。  大批量训练可以提升训练的稳定性和最终效果。
5. 文本编码 使用字符级别的BPE(字节对编码)词汇表,大小约30K。 使用字节级别的BPE词汇表,大小约50K。 字节级别的编码可以处理任何输入文本,而不会产生未知词标记,虽然会稍微增加模型参数量,但带来了更好的通用性。

效果与影响

得益于上述改进,RoBERTa在发布时取得了显著的成果:

  • 重新夺回榜首:在GLUE(通用语言理解评估)基准测试中,RoBERTa的总分追平并超越了当时表现最好的XLNet,重新为BERT架构证明了其强大的潜力。

  • 广泛的应用:作为BERT的“完全体”,RoBERTa在文本分类、序列标注、问答系统等各类自然语言理解任务中,都成为了一个非常强大的基线模型和首选方案之一。它证明了,通过极致的工程调优,经典的模型架构同样可以发挥出惊人的实力。

最后小结

RoBERTa的诞生告诉我们,有时候,创新不完全是发明全新的架构,也在于如何将现有架构的潜力“压榨”到极致。它就像BERT的“终极进化形态”,通过数据、算力和训练策略的全面优化,成为了Encoder-only架构中一个里程碑式的存在。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐