首页 > 数据库 > 数据库开发技术 > 为什么Transformer需要Adam?
我是芝士AI吃鱼,原创 NLP、LLM、超长文知识分享
热爱分享前沿技术知识,寻找志同道合小伙伴
公众号 :芝士AI吃鱼
知识星球:https://wx.zsxq.com/group/88888881284242
最近在进行大模型的持续预训练,调研炼丹的过程中,看到了一篇关于优化器选择有关的论文《Why Transformers Need Adam: A Hessian Perspective 》,论文从 Hessian 矩阵的视角,去分析了为什么 Adam 优化器在 Transformer 模型上优于 SGD。一个非常有趣的发现,虽说现在大多数的训练框架,默认的优化器就是 Adam 或者 AdamW,但其机制和原理,这篇论文的作者给出了详细的实验分析。
Transformer模型已成为AI发展的主要驱动力。然而,对Transformer训练的理解仍然有限。一个引人注目的现象是,Transformer的训练在很大程度上依赖于Adam优化器,相比之下,随机梯度下降与动量(SGD)在Transformer上的表现明显不如Adam(例如,见图3)。但是,造成这种性能差距的原因仍不清楚。
本文通过Hessian矩阵的视角探索了为什么SGD在Transformer上表现不如Adam。研究从调查Transformer的完整Hessian谱开始,即Hessian的完整特征值密度(见图1)。理论上,完整的Hessian谱在很大程度上决定了基于梯度的方法的行为。
作者使用数值线性代数工具,比较了CNNs(SGD与Adam表现相当)和Transformers(SGD明显落后于Adam)的完整谱。然而,如图1所示,尽管优化器行为不同,CNNs和Transformers的谱通常非常相似。因此,作者未能在完整的Hessian谱中识别出与Transformer上Adam和SGD之间差距相关的关键特征。为了揭示原因,需要对Hessian进行更细粒度的研究。
通过分解CNNs和Transformers的结构,作者注意到CNNs是由相似参数块(卷积层)的重复堆叠构成,而Transformers涉及非顺序堆叠的不同参数块(例如,注意力中的Query、Key、Value块和MLP层)。
基于这些观察,作者提出了一种可能的解释:Transformer固有的"异质性"。他们提供了经验和理论证据来支持这一解释。主要贡献可以总结如下:
作者引入了以下符号:
注意, 是 的第 个主对角块子矩阵。
作者首先研究了Transformer的完整Hessian谱,原因有二:
作者比较了CNNs(SGD与Adam表现相当)和Transformers(SGD明显落后于Adam)的完整谱,如图1所示。然而,结果表明,完整的Hessian谱可能不足以解释Adam和SGD在Transformer上的性能差距。作者详细分析了以下方面:
由于CNNs和Transformers的谱形状和演化相当相似,这些特征无法解释为什么SGD在Transformer上表现较差。因此,需要对Hessian进行更细致的研究。
作者发现了一些在完整Hessian谱分析中被忽视的关键特征:
基于这些观察,作者假设块wise Hessian谱,即Hessian主对角块 的谱,可能提供额外的洞察。
作者展示了VGG16(CNN)和BERT(Transformer)的块wise谱形状,如图3所示。在BERT中,嵌入层、注意力层和MLP块的Hessian谱差异很大。相比之下,在ResNet中,卷积层的谱相似。作者进一步计算了所有可能的块对之间特征值密度的Jensen-Shannon(JS)距离,结果如图4所示。
这些结果揭示了一个新现象:在所有检查的Transformers中,块wise Hessian谱在不同块之间差异很大。作者将这种现象称为"块异质性"。相比之下,CNNs的块wise Hessian谱相似,没有观察到块异质性。这表明块异质性是区分CNNs和Transformers的一个重要特征。
为了直接建立"块异质性"和"为什么SGD比Adam差"之间的联系,作者考虑了一个人为构造的例子和一个真实世界的例子:
作者指出,不同的Transformers表现出不同程度的块异质性。虽然所有检查的Transformers都显示出强烈的块异质性,但这种异质性可以得到缓解,从而减少SGD的性能下降。
如图6所示,在SFT任务上预训练的GPT2比从头开始预训练的GPT2(图4(f))表现出更少的块异质性。在这种情况下,虽然SGD仍然比Adam慢,但最终达到了类似的损失。与从头开始训练GPT2相比(附录B中的图10(d)),SGD和Adam之间的性能差距显著缩小。
这些发现表明,由架构设计引起的异质性可以通过选择"好的"权重来缓解。这部分解释了为什么像SGD甚至其零阶版本这样的简单方法仍然可以有效地微调语言模型,尽管收敛速度较慢。
作者提出了一个定量指标,可以在训练开始前预测SGD的不适用性。这个指标是初始化时块wise Hessian谱之间的平均JS距离,记为 。表1列出了各种模型的 值。 建立了Transformer和CNNs损失景观之间的定量差异。此外, 独立于优化器,可以在训练之前检查。
为了验证 的有效性,作者总结了不同模型的 和相应的SGD性能,如图7所示。他们发现,随着 的增加,SGD和Adam之间的性能差距变大。因此, 可以作为预测SGD是否可能表现不如Adam的潜在指标。
作者研究了具有块对角Hessian的二次函数,有和没有块异质性两种情况。他们考虑以下二次最小化问题:
其中 是正定矩阵,。 是一个块对角矩阵:,其中 且 。作者考虑了四种类型的Hessian ,所有情况下条件数都设置为5000:
他们研究了两类优化器:
其中 且 。
实验观察总结:
作者假设GD表现不佳是因为它对所有块使用单一学习率,无法处理块之间的异质性。这种异质性可以通过使用不同的学习率来更好地处理,这正是Adam的设计特点。
作者提供了初步的理论结果,描述了GD如何在具有异质Hessian的问题上落后于Adam。他们首先给出了GD的下界:
命题1(GD的下界)
考虑最小化 ,其中 是正定矩阵,。令 为GD 步后的输出。存在一个块对角矩阵 , 和一个初始点 ,使得对任意 ,都有:
其中 是 的条件数。命题1表明GD的复杂度为 ,且这个复杂度是紧的。
接下来,作者证明Adam可以实现更好的复杂度。这是因为Adam通过其对角预处理器 为不同的块子矩阵 选择不同的学习率。作者考虑了覆盖常用分布(如高斯分布、均匀分布等)的通用随机初始化。
假设1(随机初始化)假设初始化 是从一个连续分布中采样的,即(由 诱导的)任何零Lebesgue测度集的概率为0。
定理1(Adam with 的上界)
考虑与命题1相同的设置,考虑 且 的Adam,如式(2)所示。假设初始化满足假设1。令 为Adam 步后的输出。令 。那么以概率1,我们有:
其中 , 是 的条件数,常数 与 相关,定义为:
$ r = \frac\max_{l \in [L]} C_{l,2}^2}{\min_{l \in [L]} C_{l,1}^2}, \text{其中} C_{l,1} = \min_{i \in [d_l]}\frac{|}\lambda_{l,1}}, C_{l,2} = \max_{i \in [d_l]}\frac{|}{\lambda_{l,1}} $
定理1表明Adam(with )的复杂度为 。系数 取决于每个块的初始梯度与主特征值之比,较小的比值会带来更快的收敛速度。
作者进一步指出, 的条件是必要的,因为任何 都会导致非收敛问题。他们重述了先前研究的结果:
命题2(常数学习率Adam with 的非收敛性)
考虑最小化 。考虑 且 的Adam,如式(3)所示。令 为Adam 步后的输出。对于式(3)存在一个离散极限环,且
现在,作者比较了Adam和GD的复杂度。根据定理1,当 时,Adam比GD更快。在具有异质块的二次模型(情况3)中,作者的模拟表明,使用标准高斯随机初始化时,以 的概率 。由于 ,我们有 ,大概率下比 小约5倍。因此,Adam可能比GD快5倍左右,这在图8中得到了验证,Adam明显优于GD。
作者在表2中总结了GD和Adam的复杂度:
| 优化器 | GD | Adam with and (2) | Adam with and (3) |
|---|---|---|---|
| 复杂度 | ✗ (不收敛) |
其中 和 分别表示全Hessian和块子矩阵的条件数, 如前面定义。
作者指出,虽然还有改进Adam复杂度上界的空间,但这可能具有挑战性。他们提供了一些技术讨论,指出如果没有 的额外结构,改进因子 可能会很困难。关键的技术步骤是限制预处理矩阵的条件数 。直观上,当 本身具有近似对角结构(如纯对角、三对角或对角占优)时,对角预处理器对 最有效。然而,目前还不清楚这些结构是否在Transformer中成立。
尽管Adam的预处理可能不总是减少"局部"条件数 ,但复杂度中的系数现在独立于"全局"条件数 。如前所述,这种系数的变化可能导致对GD的显著改进。这种复杂度的改进归因于Hessian的块对角结构及其异质的块wise谱。
作者的理论表明:对于具有块异质性的问题,像GD这样的单一学习率方法可能会大大落后于像Adam这样的坐标wise学习率方法。
这篇论文探讨了为什么SGD在Transformer上的表现明显不如Adam。主要发现如下:
这项研究为理解Transformer训练和更广泛的神经网络优化提供了新的视角。通过引入块wise Hessian谱的概念,作者揭示了Transformer和CNN之间的本质差异,这可能对未来的模型设计和优化策略产生影响。
然而,这项研究也存在一些局限性。例如,由于计算资源的限制,作者无法在更大规模的模型上验证他们的发现。此外,虽然他们提供了初步的理论分析,但还需要更深入的理论工作来完全解释观察到的现象。
未来的研究方向可能包括:
原文作者:芝士AI吃鱼;如有侵权,请联系管理员删除。