RoBERTa:鲁棒优化的BERT预训练方法.

作者针对BERT提出了几点改进,并提出了RoBERTa预训练模型。主要改进如下:

1. Dynamic Mask

BERT采用的MLM预训练任务会对序列中的随机token加上mask,这一步是在数据预处理的过程中实现的,这是一种static mask,输入网络的句子mask是固定的。作者将其改进为dynamic mask,即每次输入数据时随机生成mask,从而避免同一个句子每次输入时mask方式相同,提高了模型输入的随机性,使得模型学习到更多信息。

2. Remove NSP

BERT的预训练任务除了MLM还有NSP,即预测两句话是不是连续的。训练时正样本是从文章中挑选的连续两句话,占$50\%$;负样本是从不同的文章中挑选的两句话。为了判断NSP任务对模型表现是否有提升,作者进行了如下实验:

实验发现不采用NSP损失,可以轻微提高模型的效率,而且动态调整batch也能提高模型表现。

3. Larger Batch

BERT采用$256$的batch和$1$M训练轮数。作者通过实验发现,在总更新次数相同的情况下,采用更大的batch提高模型的训练速度和下游任务的表现。

4. More Data

BERT使用数据集为BOOKCORPUSEnglish WIKIPEDIA(16G original),作者增加了CC-NEWS(76G),OPEN WEB TEXT(38G),STORIES(31G),并设置了更长的训练时间,提高模型的表现: