RoBERTa解读

介绍

RoBERTa作为BERT的改进版本,本文主要介绍RoBERTa和BERT的区别,论文具体见《RoBERTa: A Robustly Optimized BERT Pretraining Approach》

RoBERTa VS BERT

Our modifications are simple, they include: (1) training the model longer, with bigger batches, over more data; (2) removing the next sentence prediction objective; (3) training on longer sequences; and (4) dynamically changing the masking pattern applied to the training data.

训练数据和参数上

RoBERTa引入了更多的训练数据,除了BERT所使用的Book-Corpus和Wikipedia(16G), 增加了160G的其他数据包括(CC-NEWS, OPENWEBTEXT, STORIES), 预训练数据相比BERT增加了10倍,随之训练时间也更长。

Past work in Neural Machine Translation has shown that training with very large mini-batches can both improve optimization speed and end-task performance when the learning rate is increased appropriately

同时借鉴机器翻译,增大mini-batch的大小,提升优化速度和性能
RoBERTa解读_第1张图片

动态掩码 Dynamic Masking

回顾BERT使用的是静态掩码,即在训练前就对训练数据的句子随机sample好了要mask的token,训练的时候不变。RoBERTa的做法是将训练数据复制10份,每份采用不同的随机挑选token进行mask,训练40个epoch,即训练的时候相同的mask会出现4次

Model Input Format and Next Sentence Prediction

实验表明去除nsp任务效果更好

Text Encoding

采用更大的byte-level BPE(Byte-Pair Encoding)词典,从BERT原始的30k增大到50k

总结

RoBERTa的贡献主要在于,只要训练的好,效果还有提升空间。相比BERT,主要有以下几个改进点:更多的预训练数据,更大的mini-batch, 更长的预训练时间,静态编码改成动态,取消NSP损失,更大的BPE词典。最终达到了超越BERT的性能。

你可能感兴趣的:(NLP,人工智能,深度学习,神经网络,自然,机器学习)