RoFormerV2:自然语言理解的极限探索

2022 年 4 月 2 日 PaperWeekly


©PaperWeekly 原创 · 作者 | 苏剑林
单位 | 追一科技
研究方向 | NLP、神经网络


大概在 1 年前,我们提出了旋转位置编码(RoPE),并发布了对应的预训练模型 RoFormer [1] 。随着时间的推移,RoFormer 非常幸运地得到了越来越多的关注和认可,比如 EleutherAI 新发布的 60亿 [2] 和 200亿 [3] 参数的 GPT 模型中就用上了 RoPE 位置编码,Google 新提出的 FLASH 模型论文中则明确指出了 RoPE 对 Transformer 效果有明显的提升作用。

与此同时,我们也一直在尝试继续加强 RoFormer 模型,试图让 RoFormer 的性能“更上一层楼”。经过近半年的努力,我们自认为取得了还不错的成果,因此将其作为“RoFormerV2”正式发布:


Github:

https://github.com/ZhuiyiTechnology/roformer-v2



极限探索

在预训练模型兴起之后,不少研究人员都对一个问题相当感兴趣:预训练模型的极限在哪里?当然,“极限”这个词含义很丰富,以 GPT3 为代表的一系列工作试图探索的是参数量、数据量的极限,而微软近来提出的 DeepNet 则探究的是深度的极限。对于我们来说,我们更想知道同一参数量下的性能极限,试图最充分地“压榨”预训练模型的性能,RoFormerV2 正是这一理念的产物。

简单来说,RoFormerV2 先在 RoFormer 的基础上对模型结构做了适当的简化,从而获得了一定的速度提升。训练方面,除了进行常规的无监督 MLM 预训练外,我们还收集了 20 多 G 的标注数据,进行了有监督的多任务预训练。在有监督式训练之下,模型效果获得了长足的提升,基本上实现了同一参数量下速度和效果的最优解。

特别地,3 亿参数量的 RoFormer large,在 CLUE 榜单 [4] 上超过了若干 10 亿 + 参数量的模型,做到了第 5 名,它也是榜上前5名中参数量最少的模型:

▲ RoFormerV2 large在CLUE上的“成绩单”



模型介绍

相比 RoFormer,RoFormerV2 的主要改动是简化模型结构、增加训练数据以及加入有监督训练,这些改动能让 RoFormerV2 最终取得了速度和效果的“双赢”。



结构的简化

在结构上,RoFormerV2 主要去掉了模型的所有 Bias 项,以及 Layer Norm 换成了简单的 RMS Norm,并且去掉了 RMS Norm 的 gamma 参数。这些改动的灵感主要来自 Google 的 T5 模型。

大家的潜意识里可能会觉得 Bias 项以及 Layer Norm 的 beta 和 gamma 参数计算量都很小,至少对速度来说是无关痛痒的。但事实出乎我们的意料:去掉这些看似“无关痛痒”的参数外,RoFormerV2 的训练速度获得了明显的提升!

一些参考数据如下(RoFormer 和 RoBERTa 速度接近,就不列出来了,base 版的测试显卡为 3090,large 版的测试显卡为 A100):




无监督训练

同 RoFormer 一样,RoFormerV2 也是先通过 MLM 任务进行无监督预训练,不同的地方主要有两点:

1. RoFormer 是在 RoBERTa 权重基础上进行训练,RoFormerV2 是从零训练;

2. RoFormer 的无监督训练只有 30 多 G 数据,RoFormerV2 则用到了 280G 数据。

从零训练相比于在已有权重基础上继续训练会更加困难,主要体现在 Post Norm 结构更难收敛。为此,我们提出了一种新的训练技术:将残差设计为



其中 初始化为 0 并线性地缓慢增加到 1,相关讨论还可以参考《浅谈 Transformer 的初始化、参数化与标准化》 [5 ] 。该方案跟 ReZero 相似,不同的是 ReZero 中 是可训练参数且去掉 操作,而实验显示我们的改动相比 ReZero 的最终效果更好,几乎是 DeepNet 之前的最优解。



多任务训练

前面提到 RoFormerV2 的结构有所简化以获得速度的提升,但由于“没有免费的午餐”,同样的训练设置之下 RoFormerV2 相比 RoBERTa、RoFormer 的效果会有轻微下降。为了弥补回这部分下降的效果,更有效地挖掘模型潜力,我们补充了有监督式的多任务预训练。

具体来说,我们收集了 77 个共计 20G 的标注数据集,构建了 92 个任务进行多任务训练,这些数据集涵盖文本分类、文本匹配、阅读理解、信息抽取、指代消解等常见自然语言理解任务,以求模型能获得比较全面的自然语言理解能力。为了完成训练,我们在 bert4keras 基础上进一步开发了一个多任务训练框架,灵活支持不同格式的任务进行混合训练,并整合了梯度归一化等技术(参考《多任务学习漫谈(二):行梯度之事》)来确保每个任务都达到尽可能优的效果。

RoFormerV2 并不是第一个尝试多任务预训练的模型,在它之前有 MT-DNN [6] 、T5 [7] 以及前段时间的 ZeroPrompt [8] 都已经肯定过多任务预训练的价值,而我们主要是在中文上进行了充分的验证并首先进行了开源。



实验结果

我们主要在 CLUE 榜单上对比效果:



可以看到,多任务训练的提升是相当可观的,在大多数任务上 RoFormerV2 不仅“追回”了结构简化带来的效果差距,还有一定的提升,平均来说算得上达到了同级模型的最优效果。另外,CMNLI 和 CHID 两个任务上,RoFormerV2 都不如 RoBERTa,这是因为这两个任务都训练数据都非常多(数十万级别),当训练数据量足够大时,模型的效果主要取决于模型的容量,多任务训练带来的提升比较小。

所以,总的来说就是:如果你的任务类型比较常规,数据量不是特别大,那么 RoFormerV2 往往是一个不错的选择;如果你希望加快一点训练速度,那么也可以选择 RoFormerV2;但如果你的任务数据量特别大,那么 RoFormerV2 通常不会有优势。



本文小结

本文主要对我们新发布的 RoFormerV2 模型做了基本的介绍,它主要通过结构的简化来提升速度,并通过无监督预训练和有监督预训练的结合来提升效果,从而达到了速度与效果的“双赢”。


参考文献

[1] https://github.com/ZhuiyiTechnology/roformer
[2] https://github.com/kingoflolz/mesh-transformer-jax/#gpt-j-6b
[3] https://blog.eleuther.ai/announcing-20b/
[4] https://www.cluebenchmarks.com/rank.html
[5] https://kexue.fm/archives/8620
[6] https://arxiv.org/abs/1901.11504
[7] https://arxiv.org/abs/1910.10683
[8] https://arxiv.org/abs/2201.06910







🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧



·

登录查看更多
0

相关内容

自然语言处理(N LP , Natural Language Processing)是使用自然语言同计算机进行通讯的技术, 因为处理自然语言的关键是要让计算机“理解”自然语言,所以自然语言处理又叫做自然语言理解(NLU ,Natural Language Understanding), 也称为计算语言学(Computational Ling uistics)。一方面它是语言信息处理的一个分支 , 另一方面它是人工智能(AI , Artificial Intelligence)的核心课题之一 。
【AAAI2022】基于对比学习的预训练语言模型剪枝压缩
专知会员服务
27+阅读 · 2022年1月24日
专知会员服务
34+阅读 · 2020年11月29日
专知会员服务
29+阅读 · 2020年9月18日
【KDD2020-UCLA-微软】GPT-GNN:图神经网络的预训练
专知会员服务
61+阅读 · 2020年8月19日
【ACL2020-伯克利】预训练Transformer提高分布外鲁棒性
专知会员服务
19+阅读 · 2020年4月14日
Parameter-Efficient Fine-tuning 相关工作梳理
PaperWeekly
1+阅读 · 2022年3月19日
CNN、Transformer、MLP架构的经验性分析
极市平台
0+阅读 · 2022年1月1日
ICML 2021 | AlphaNet:基于α-散度的超网络训练方法
PaperWeekly
0+阅读 · 2021年12月28日
聊一聊“超大模型”
夕小瑶的卖萌屋
1+阅读 · 2021年7月6日
一文读懂最强中文NLP预训练模型ERNIE
AINLP
24+阅读 · 2019年10月22日
ERNIE Tutorial(论文笔记 + 实践指南)
AINLP
30+阅读 · 2019年8月28日
我跑了ERNIE和BERT两个模型,结果出乎意料......
PaperWeekly
21+阅读 · 2019年6月24日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
2+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
Arxiv
0+阅读 · 2022年4月19日
Arxiv
0+阅读 · 2022年4月17日
Arxiv
1+阅读 · 2022年4月17日
Heterogeneous Graph Transformer
Arxiv
27+阅读 · 2020年3月3日
VIP会员
相关资讯
Parameter-Efficient Fine-tuning 相关工作梳理
PaperWeekly
1+阅读 · 2022年3月19日
CNN、Transformer、MLP架构的经验性分析
极市平台
0+阅读 · 2022年1月1日
ICML 2021 | AlphaNet:基于α-散度的超网络训练方法
PaperWeekly
0+阅读 · 2021年12月28日
聊一聊“超大模型”
夕小瑶的卖萌屋
1+阅读 · 2021年7月6日
一文读懂最强中文NLP预训练模型ERNIE
AINLP
24+阅读 · 2019年10月22日
ERNIE Tutorial(论文笔记 + 实践指南)
AINLP
30+阅读 · 2019年8月28日
我跑了ERNIE和BERT两个模型,结果出乎意料......
PaperWeekly
21+阅读 · 2019年6月24日
相关基金
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
2+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
Top
微信扫码咨询专知VIP会员