论文笔记 | RoBERTa: A Robustly Optimized BERT Pretraining Approach


作者:刘锁阵
单位:燕山大学


论文地址:https://arxiv.org/abs/1907.11692
代码地址:https://github.com/pytorch/fairseq

文章目录

  • 背景介绍
  • 实验环境
  • 训练过程
    • 静态 vs 动态 masking
    • 模型输入格式和NSP
    • 大批量训练
    • 文本编码
  • RoBERTa
  • 总结

背景介绍

因为在预训练过程中,超参数的选择往往对实验结果有着举足轻重的作用。论文作者在仔细地衡量了各种超参数和训练数据集大小对实验的影响后,提出了RoBERTa:一种鲁棒优化的 BERT 预训练方法。该模型在在GLUE、RACE、SQuAD达到了SOTA。

实验环境

实现
使用FAIRSEQ来重新实现了BERT。大部分优化超参数和原始的BERT实现相同,除了峰值学习率和warmup steps的数量。作者还发现实验对Adam算法中 ϵ \epsilon ϵ项非常敏感。类似地,还发现当训练更大的batch size时,设置 β 2 = 0.98 \beta_2 = 0.98 β2=0.98能提高稳定性。
序列长度最长为512个token。

数据
5个英文语料集合,解压缩后的大小总共超过160GB:

  • BookCorpus和英文维基百科
  • CC-NEWS
  • OPENWEBTEXT
  • STORIES

验证
三个benchmark:

  • GLUE
  • SQuAD
  • RACE

训练过程

保持模型架构固定。即 B E R T b a s e BERT_base BERTbase L = 12 , H = 768 , A = 12 , 110 M L= 12, H=768, A = 12, 110M L=12,H=768,A=12,110M 参数)

静态 vs 动态 masking

原始的BERT实现在数据处理阶段执行一次masking,导致生成了单一静态的mask。为了避免对于每个训练实例使用相同的mask,训练数据被复制 10 次,以便在 40 次训练中以 10 种不同的方式对每个序列进行屏蔽。因此,在训练期间,每个训练序列都使用相同的掩码四次。
论文笔记 | RoBERTa: A Robustly Optimized BERT Pretraining Approach_第1张图片

模型输入格式和NSP

几个训练格式:

  • SEGMENT-PAIR+NSP:包含NSP损失。每个输入有一对segments,每个包含多个自然句子,但是总长度小于512。
  • SENTENCE-PAIR+NSP:每个输入包含一对自然句子,从一个文档的连续部分或单独的文档中采样。
  • FULL-SENTENCES:每个输入都包含从一个或多个文档中连续采样的完整句子,因此总长度最多为 512 个标记。输入可能跨文档边界。当到达一个文档的末尾的时候,开始从下一篇文档中sampling句子,并且在两个文档之间添加了分隔符。移除了NSP损失。
  • DOC-SENTENCES:输入的构造与 FULL-SENTENCES 类似,不同之处在于它们不能跨越文档边界。
    论文笔记 | RoBERTa: A Robustly Optimized BERT Pretraining Approach_第2张图片

大批量训练

论文笔记 | RoBERTa: A Robustly Optimized BERT Pretraining Approach_第3张图片

文本编码

Byte-Pair Encoding (BPE)是字和词级别表示的混合,它可以处理自然语言语料库中常见的词汇。BPE 依赖于通过对训练语料库进行统计分析而提取的子词单元,而不是完整的词。
作者使用了包含50K个子词单元的 字节级别的BPE词汇表,而无需对输入进行任何额外的预处理或标记化。这分别为 B E R T b a s e BERT_{base} BERTbase B E R T l a r g e BERT_{large} BERTlarge添加了大约15M和20M的附加参数。

RoBERTa

模型比较:
论文笔记 | RoBERTa: A Robustly Optimized BERT Pretraining Approach_第4张图片
GLUE:
论文笔记 | RoBERTa: A Robustly Optimized BERT Pretraining Approach_第5张图片
SQuAD:
论文笔记 | RoBERTa: A Robustly Optimized BERT Pretraining Approach_第6张图片
RACE:
论文笔记 | RoBERTa: A Robustly Optimized BERT Pretraining Approach_第7张图片

总结

通过实验发现可以通过下列方法来提高模型的训练效果:向训练模型传递更大的batch size;移除NSP;训练在更长的序列上;动态更改应用于训练数据的mask模式。作者提出的RoBERTa模型在GLUE,RACE、SQuAD上达到了SOTA。

你可能感兴趣的:(笔记,自然语言处理)