Roberta

2025918

11:12

RoBERTa 由 Facebook 提出,核心思路是 “通过优化 BERT 的训练过程和超参数,释放其潜力”,并未改变 BERT 的基础模型结构(仍为 Transformer Encoder 堆叠),主要改进包括:

  1. 移除 Next Sentence Prediction(NSP)任务
    BERT 中的 NSP 任务被证明效果有限(甚至可能引入噪声),因为其设计过于简单(仅判断两句话是否连续),难以有效学习句子级语义关系。RoBERTa 直接移除 NSP,仅保留 Masked Language Model(MLM)任务,通过更长的文本序列(单句或多句拼接)让模型自然学习上下文关联。
  2. 采用动态掩码(Dynamic Masking)替代静态掩码
    BERT 采用 “静态掩码”:在预处理阶段一次性对语料进行掩码,之后每个训练 epoch 都使用相同的掩码模式。
    RoBERTa 改为 “动态掩码”:每个训练 epoch 对输入文本重新生成掩码模式,增加了训练的随机性和数据多样性,迫使模型更全面地学习上下文依赖。
  3. 增大训练批次(Batch Size)和训练步数
    BERT 原始训练的 batch size 为 16/32(较小),RoBERTa 将 batch size 大幅提升至 8192(通过梯度累积实现),并延长训练时间(从 BERT 的 1M 步增至 300K 步,但总计算量更高)。更大的 batch size 有助于模型学习更稳定的全局特征,减少过拟合风险。
  4. 使用更多、更丰富的训练数据
    BERT 训练数据约 16GB(BookCorpus + Wikipedia),RoBERTa 扩展了训练语料,新增了:
    • CC-News(约 76GB)、OpenWebText(约 38GB)、Stories(约 31GB)等,总数据量增至约 160GB,覆盖更广泛的语言场景,提升模型泛化能力。
  5. 支持更长的输入序列
    BERT 默认输入序列长度为 512 tokens,但实际训练中部分样本使用较短序列(128 tokens)。RoBERTa 取消了短序列训练,统一使用 512 tokens 的长序列,更适合处理长文本语义。

 

已使用 OneNote 创建。