如何优化Bert训练策略,借鉴RoBERTa在手册3中的应用?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2126个文字,预计阅读时间需要9分钟。
在先前的研究中,Bert模型提出了优秀的双向语言模型预训练及下游迁移学习框架。然而,它提出的各种训练方式存在较多争议,或优或劣,各有空间。本文将探讨训练方案的改进与优化。
之前看过一条评论说Bert提出了很好的双向语言模型的预训练以及下游迁移的框架,但是它提出的各种训练方式槽点较多,或多或少都有优化的空间。这一章就训练方案的改良,我们来聊聊RoBERTa和SpanBERT给出的方案,看作者这两篇paper是一个组的作品,所以彼此之间也有一些共同点。正在施工中的代码库也加入了Roberta预训练模型,同时支持半监督,领域迁移,降噪loss,蒸馏等模型优化项,感兴趣的戳这里>>SimpleClassification
RoBERTaRoBERTa与其说是一个新模型,更像是一个篇炼丹手札( ˘•ω•˘ )。作者针对BERT预训练中的几个超参数进行了测试,给出了更好的方案。相信你一定也在不少paper里都看到过“训练方案参考RoBERTa,此处省略1K字”之类的,RoBERTa主要包括以下几点改良
- 更大的batch size
- 更多的训练数据,训练更多的epochs
- 使用一个长文本替代BERT的两段短文本, 并剔除NSP任务
- Dynamic MASK
RoBERTa对batch size进行了参数调优,发现增加batch size可以有效提高MLM任务,以及下游迁移任务的效果。batch size越大,能更高的利用并行计算加速训练,以及batch之间的gradient波动越小越平滑,更容易拟合,当然也会有更高的内存占用,以及过于平滑的梯度可能会导致模型快速收敛到局部最优的问题。
本文共计2126个文字,预计阅读时间需要9分钟。
在先前的研究中,Bert模型提出了优秀的双向语言模型预训练及下游迁移学习框架。然而,它提出的各种训练方式存在较多争议,或优或劣,各有空间。本文将探讨训练方案的改进与优化。
之前看过一条评论说Bert提出了很好的双向语言模型的预训练以及下游迁移的框架,但是它提出的各种训练方式槽点较多,或多或少都有优化的空间。这一章就训练方案的改良,我们来聊聊RoBERTa和SpanBERT给出的方案,看作者这两篇paper是一个组的作品,所以彼此之间也有一些共同点。正在施工中的代码库也加入了Roberta预训练模型,同时支持半监督,领域迁移,降噪loss,蒸馏等模型优化项,感兴趣的戳这里>>SimpleClassification
RoBERTaRoBERTa与其说是一个新模型,更像是一个篇炼丹手札( ˘•ω•˘ )。作者针对BERT预训练中的几个超参数进行了测试,给出了更好的方案。相信你一定也在不少paper里都看到过“训练方案参考RoBERTa,此处省略1K字”之类的,RoBERTa主要包括以下几点改良
- 更大的batch size
- 更多的训练数据,训练更多的epochs
- 使用一个长文本替代BERT的两段短文本, 并剔除NSP任务
- Dynamic MASK
RoBERTa对batch size进行了参数调优,发现增加batch size可以有效提高MLM任务,以及下游迁移任务的效果。batch size越大,能更高的利用并行计算加速训练,以及batch之间的gradient波动越小越平滑,更容易拟合,当然也会有更高的内存占用,以及过于平滑的梯度可能会导致模型快速收敛到局部最优的问题。

