转自:新智元
近日,微软研究院的研究人员搞出了一个1000层的Transformer,在多语种机器翻译任务上刷新多项SOTA
从一开始的百万级的模型参数,到十亿级,再到万亿级,参数规模极大增加。大规模的模型可以在大量任务中可以有更棒的表现,在小样本和零样本学习的情况下也展现出了出色的能力。尽管参数的数量越来越大,参数的深度却一直在被Transformer训练的不稳定性所局限。2019年,科学家Nguyen和Salazar发现,基于post-norm连接的pre-norm残差连接可以提升Transformer的稳定性。底层Pre-LN的梯度会比顶层的要大,这就导致和Post-LN相比,在性能上会有些许衰退。为了解决这个问题,研究人员尝试提升了深度Transformer的优化。这是通过更好的初始化或是架构实现的。这些办法使Transformer在数百层的情况下也能保持稳定。但是还是没有一种办法可以使Transformer的层数到达1000.论文链接:https://arxiv.org/abs/2203.00555
最近,来自微软研究院的一篇论文,成功实现了Transformer层数量级上的突破,达到了1000层。
研究人员的目标就是不断提升Transformer训练的稳定性,继续提升模型的深度。他们研究了优化不稳定的原因所在,发现正是模型参数规模爆炸式的增加导致了这种不稳定性。基于上述结论,研究人员在残差连接处使用了一种新的规范化函数——DEEPNORM。理论上,这种新的函数可以把模型的更新限制在一个常数以内。这种办法看似简单,实则有效,只需要改变几行代码而已。有了新函数,Transformers的稳定性就得到了大幅提升。研究人员也可以把模型的深度扩大到1000层。此外,DEEPNORM还成功将Post-LN和Pre-LN的优良性能进行结合。新方法是Transformers的上位替代,对于深度的模型和大规模的模型都是如此。值得一提的是,和目前最先进的有12B参数的48层模型相比,3.2B参数的200层模型实现了5 BLEU的提升。这部分提升主要体现在大规模多语言机器翻译基准上。在基于Transformer的PostLN上使用新发现的办法不是件难事。和Post-LN相比,DEEPNORM进行层级规范化之前,升级了残差连接。另外,研究人员在初始化的过程中把参数降级了。特别要指出,他们把前馈网络的占比提高了,一同被提高的还有注意力层的价值投影和输出投影。研究人员引入了超深Transformer——DEEPNET. 通过缓解极大增长的模型在升级中遇到的问题,DEEPNET可以是优化的过程更加稳定。首先,研究人员给出了DEEPNET模型升级的预测量级。之后又给出了理论分析,发现只要使用DEEPNORM,DEEPNET升级的过程就可以被限制在一个常数。DEEPNET基于Transformer架构。和之前的vanilla Transformer相比,在每个子层上,都使用了研究人员最新研究的DEEPNORM,而不是Post-LN。其中,α是常数,Gl(xl , θl)是第I层Transformer的子层的方程,同时θl是系数。DEEPNET还能残差内部的权重放大了β。此外,注意力是Transformer一个很重要的部分。在不失一般性的情况下,研究人员研究了1-head的情况。其中Q、K、V分别指query、key和value。而WQ、WK、WV都是输入的映射矩阵。WO则是输出的映射矩阵。因此,注意力方程式可以写作:下图展示了在早期的训练阶段,vanilla Post-LN和DEEPNET模型升级时的情况。研究人员将64-128-2微小Transformer进行了可视化,它们的深度从6L6L到100L100L不等。从该图中我们可以看出,DEEPNET比Post-LN有更稳定的更新。往期精彩:
《机器学习 公式推导与代码实现》随书PPT示例
时隔一年!深度学习语义分割理论与代码实践指南.pdf第二版来了!
新书首发 | 《机器学习 公式推导与代码实现》正式出版!
《机器学习公式推导与代码实现》将会配套PPT和视频讲解!