关注并星标
从此不迷路
计算机视觉研究院
公众号ID|ComputerVisionGzq
学习群|扫码在主页获取加入方式
论文地址:https://arxiv.org/pdf/2203.00555.pdf
源代码:https://github.com/microsoft/unilm
计算机视觉研究院专栏
作者:Edison_G
提出了一种简单而有效的方法来稳定(训练和解码)极深的Transformer。具体来说,引入了一个新的归一化函数(DEEPNORM),修改Transformer中的残差连接,并伴随着理论上的初始化。
01
前言
在今天分享中,研究者提出了一种简单而有效的方法来稳定极深的Transformer。具体来说,引入了一个新的归一化函数(DEEPNORM)来修改Transformer中的残差连接,并伴随着理论上的初始化。
深入的理论分析表明,模型更新可以以一种稳定的方式有界。所提出的方法结合了两个优点,即Post-LN的良好性能和Pre-LN的稳定训练,使DEEPNORM成为首选的替代方案。 研究者成功地将Transformer扩展到1,000 层(即2,500个注意力和前馈网络子层),这比之前的深度Transformer深一个数量级。值得注意的是,在具有7,482个翻译方向的多语言基准测试中,具有3.2B参数的200层模型显着优于具有12B参数的48层最先进模型5个BLEU点,这表明了有希望的缩放方向。
02
背景
近年来,出现了向大型Transformer模型发展的趋势。容量已从数百万个参数大幅增加到数十亿个,甚至数万亿。大规模模型在广泛的任务上产生了最先进的性能,并在少样本和零样本学习方面表现出令人印象深刻的能力。尽管有大量参数,但它们的深度(如上图所示)受到Transformer训练不稳定性的限制。
Nguyen和Salazar发现,pre-norm残差连接(Pre-LN)提高了基于post-norm连接(Post-LN)的Transformer的稳定性。然而,底层的Pre-LN的梯度往往大于顶层,与Post-LN相比导致性能下降。
为了缓解上述问题,已经努力通过更好的初始化或更好的架构来改进深度Transformer的优化。这些方法可以稳定多达数百层的Transformer模型。然而,以前的方法都没有成功地扩展到1000 层。
研究者的目标是提高Transformers的训练稳定性,并将模型深度按数量级缩放。为此,研究了优化过程的不稳定的原因,发现exploding model update是造成不稳定的原因。受上述观察的启发,研究者在残差连接处引入了一个新的归一化函数(DEEPNORM),它具有将模型更新限制为常数(bounding the model update by a constant)的理论依据。所提出的方法简单而有效,只需更改几行代码。该方法提高了Transformer的稳定性,因此能够将模型深度扩展到1,000层以上。
03
新框架
(左)Pseudocode for DEEPNORM. We take Xavier initialization (Glorot and Bengio, 2010) as an example, and it can be replaced with other standard initialization. Notice that α is a constant. (右)Parameters of DEEPNORM for different architectures (N-layer encoder, M-layer decoder).
如上图所示,新方法很容易实现基于Transformers(Post-LN)的方法。与Post-LN相比,DEEPNORM在执行层归一化之前对残差连接进行了放大。此外,在初始化期间缩小了参数。值得注意的是,研究者只缩放前馈网络(FFN层)的权重,以及注意力层的值投影和输出投影。此外,残差连接和初始化的规模取决于架构。
Instability of Deep Transformer
研究者研究了Deep Transformer不稳定的原因。分析从观察开始:更好的初始化方法可以稳定Transformer的训练。这也得到了验证。因此,研究了有或没有适当初始化的Post-LN的训练过程。通过更好的初始化,在执行Xavier初始化后将第l层的权重缩小kl = N - l 1, l ∈ [1, N]。
(a) 18L-18L 模型顶层的梯度范数对比。(b) 模型最后一层的梯度范数对比,深度从 6L-6L 到 24L-24L。(c) 18L-18L 模型的验证损失曲线对比。
模型更新,LNs的平均输入,以及18L-18L模型的训练早期的可视化
证实Post-LN的不稳定性来自一系列问题,包括梯度消失以及太大的模型更新。
DEEPNET: Extremely Deep Transformers
接下来介绍了名为DEEPNET的极深Transformer。它可以通过减轻爆炸模型更新问题来稳定优化。首先提供了对DEEPNET模型更新的预期幅度的估计。然后提供理论分析以表明它的更新可以由提出的DEEPNORM的常数限制。
Architecture
DEEPNET基于Transformer架构。与普通Transformer相比,它对每个子层使用新的DEEPNORM,而不是Post-LN。DEEPNORM 的公式可以写成:
其中alpha是一个常数,Gl(xl,θl)是第l个Transformer子层(即注意力或前馈网络)的函数,参数为θl。此外,DEEPNET将残差分支内的权重θl缩放β.值得注意的是α和β都是仅取决于架构的常量。
Expected Magnitude of Model Update
Attention 是 Transformer 的重要组成部分。
Without loss of generality, we study the 1-head case. Let Q, K, V ∈ Rn×d denote the query, key, value, respectively. WQ, W K, WV ∈ Rd×dk are the input projection matrices, and WO ∈ Rdk×d is the output projection matrix. Then, the attention module can be formulated as:
换句话说,注意力输出的大小只取决于值和输出投影:
这表明模型倾向于累积每个子层的更新,从而导致模型更新量呈爆炸式增长,从而使早期优化变得不稳定。
它表明类似的累积效应导致模型深度的(数量级)幅度快速增长(见下图)。此外,交叉注意力(cross-attention)将(数量级)幅度从编码器传播到解码器,这解释了为什么解码器比编码器更不稳定。
Derivation for DEEPNORM and the Initialization
研究表明,DEEPNET的expected model updates),在参数α和β取值适当的时候,以常数为界。分析基于SGD更新,通过“实验”验证DeepNorm在Adam优化器下,工作效果很好。
提供了对”编码器-解码器架构“的分析,它可以以相同的方式自然地扩展到”仅编码器“(bert) 和仅解码器(gpt)模型。
04
实验结果分析
100层比6层就提高了0.8 BLEU,估计是这个任务En-De的数据量有点小。DeepNet发挥空间有限。
以10层的间隔将模型的深度从10L-10L变化到100L-100L。DEEPNET从浅到深都是稳定的。它收敛速度很快,仅在8,000步内就实现了30多个BLEU,而大多数基线都没有。此外,随着模型的深入,性能不断提高。
进一步将DEEPNET分别扩展到更大的学习率、批量大小和隐藏维度。对于每个实验,只改变一个超参数,其他的都是固定的。
文章部分摘自于——https://zhuanlan.zhihu.com/p/476571784
© THE END
转载请联系本公众号获得授权
计算机视觉研究院学习群等你加入!
计算机视觉研究院主要涉及深度学习领域,主要致力于人脸检测、人脸识别,多目标检测、目标跟踪、图像分割等研究方向。研究院接下来会不断分享最新的论文算法新框架,我们这次改革不同点就是,我们要着重”研究“。之后我们会针对相应领域分享实践过程,让大家真正体会摆脱理论的真实场景,培养爱动手编程爱动脑思考的习惯!
扫码关注
计算机视觉研究院
公众号ID|ComputerVisionGzq
学习群|扫码在主页获取加入方式
往期推荐