RoBERTa(稳健优化的BERT预训练方法)是由Facebook AI的研究人员于2019年推出的一种大语言模型。它是BERT的一种变体,通过修改预训练流程来提升下游自然语言处理任务的性能。RoBERTa保留了BERT仅编码器的Transformer (architecture)架构,但改变了关键的训练细节,包括动态掩码、更大的批大小以及移除下一句预测目标。这些调整带来了更好的表示质量和更高的基准测试分数,如GLUE和SQuAD。
该模型以开源项目的形式发布,其权重和代码可供研究社区使用。RoBERTa迅速成为NLP研究中的常用基线,并影响了后续模型,如XLNet和ALBERT。它的成功凸显了预训练超参数和数据规模在深度学习模型中的重要性。
架构
RoBERTa采用了与BERT相同的仅编码器transformer架构。它由分词器、嵌入层、一组transformer块以及用于预训练的任务头组成。分词器使用WordPiece,词汇表大小为30,000,未知词会被替换为特殊的[UNK]标记。嵌入层结合了词元类型、位置和段落类型的嵌入,并通过LayerNorm进行归一化,为每个词元生成768维的向量。
编码器堆栈由层数(L)和隐藏层大小(H)参数化,自注意力头数为H/64,前馈网络大小为4H。RoBERTa提供多种配置,如base(12L/768H)和large(24L/1024H),与BERT的尺寸一致。在下游任务中,任务头通常会被替换为特定任务的模块,并对模型进行微调,从而实现高效的迁移学习。
训练差异
RoBERTa在多个方面修改了BERT的预训练方法。最显著的变化是采用动态掩码,即在训练过程中实时生成掩码词元,而不是使用预先固定的静态掩码。这增加了训练样本的多样性,有助于模型更好地泛化。此外,RoBERTa移除了下一句预测任务,研究表明该任务对性能提升并无必要,移除后反而简化了训练目标。
RoBERTa还使用了更大的批大小和更多的训练步数,并采用了更大的语料库,包括BookCorpus和Wikipedia之外的额外数据。训练过程中使用了字节级字节对编码分词器,相比WordPiece能更优雅地处理词汇表外的单词。这些改动共同促成了RoBERTa性能的提升。
性能与影响
RoBERTa在发布时于多个基准测试上取得了最先进的成果。在GLUE基准上,它超越了BERT及其他模型,得分达到88.5,而BERT为82.1。在SQuAD 2.0上,其F1分数达到89.4,超过了之前的模型。这些结果证明,在不改变架构的前提下,精心优化预训练过程可以带来显著的性能提升。
该模型的成功推动了预训练策略的进一步研究,催生了如GPT-3等更大规模的模型。RoBERTa也成为了文本分类、问答和命名实体识别等任务的标准工具。其开源可用性促进了学术界和工业界的广泛采用。
应用
RoBERTa被广泛应用于各种自然语言处理任务。在情感分析中,它作为骨干模型对文本进行正面或负面分类。在问答系统中,它能够从段落中提取答案,如SQuAD所示。此外,它还应用于文本摘要、语言推断和语义相似度计算等任务。许多生产系统,包括客户服务和内容审核,都已集成基于RoBERTa的模型。
由于RoBERTa是预训练模型,可以通过相对较少的样本在特定数据集上进行微调,因此非常适合标注数据有限的领域。其鲁棒性和性能使其成为众多NLP流水线的首选,即使在新模型不断涌现的今天依然如此。
遗产
RoBERTa对机器学习领域产生了持久的影响。它强调了预训练超参数和数据质量的重要性,促使研究人员重新审视预训练协议。其设计原则,如动态掩码和移除辅助目标,被后续模型如DeBERTa和ELECTRA所采纳。截至2026年,RoBERTa仍是评估新预训练方法的参考点,并持续在研究和工业中得到应用。