RoBERTa: A Robustly Optimized BERT Pretraining Approach. Yinhan Liu, Myle Ott, Naman Goyal, et al. 2019
BERT提出之后,有很多后续工作XLNet、ALICE、XLM、MT-DNN相继被提出,成绩都在BERT的基础上往上提升了一点点。然而本文认为那是因为BERT其实根本没有得到充分的训练(否则成绩和这些后来居上者相当),为此本文从模型设计选择(design choice)、训练策略、语料等方面入手,重新对BERT进行了预训练,得到RoBERTa,实验结果表明RoBERTa在GLUE、RACE和SQuAD都达到了SOTA.
主要工作
RoBERTa在每个部分都做了一点点修改,除了Text Encoding外其他的小修改都得到了轻微的提升,最后它将所有的修改合在一起得到最佳模型。具体修改包括:
- 修改了超参数:将adam的(eta_2)参数从0.999改为0.98
- 加入了混合精度
- 加大batch size:从BERT的256改为2K甚至8K,训练步数从1M降到500K
- 在更长的序列上训练,修改输入格式:FULL-SENTENCES+移除NSP任务
- 将BERT静态遮掩改为动态遮掩
- 增加新的预训练数据集CC-NEWS,语料从16G文本到160G文本
- Text Encoding:采用更大的byte-level的BPE词典
实验结果
在SQuAD、MNLI-m和SST-2上的实验结果:
RoBERTa对比BERT有明显的提升,但是和XLNet差距不大。
在GLUE上的结果:
对于单任务单模型,RoBERTa九个任务均达到SOTA;
在SQuAD上的结果:
RoBERTa的成绩还可以。
在RACE上的对比结果:
从实验结果上看,RoBERTa均达到了SOTA.
总结
RoBERTa其实本质上只是一个调参达到最优的BERT,和XLNet不相上下。
这篇paper带给我们的意义就是:RoBERTa再一次证明BERT才是众多预训练模型中的首选和扛鼎之作,也是那个真正引起质变的模型。