什么是 AdEMAMix(AdEMAMix)?一种混合两组指数移动平均的优化器
AdEMAMix 是 arXiv 论文《The AdEMAMix Optimizer: Better, Faster, Older》提出的一种优化器,它在 Adam 的基础上把单一的梯度指数移动平均换成两组不同衰减速度的指数移动平均,让近期梯度与更早的梯度同时获得可观的权重。论文报告称,这种改动在语言建模与图像分类实验中能加快收敛、常得到更低的极小值,并显著减缓训练中的遗忘。
AdEMAMix 是一种用于训练机器学习模型的优化器(optimizer),由 Matteo Pagliardini、Pierre Ablin、David Grangier 在论文《The AdEMAMix Optimizer: Better, Faster, Older》中提出。按该论文的描述,它是对 Adam 优化器的一个简单修改:不再只用一组梯度指数移动平均(Exponential Moving Average,EMA)来累积过去的梯度,而是混合两组衰减速度不同的 EMA。它要解决的问题是:单一 EMA 无法同时做到「给最近的梯度很高的权重」和「给较早的梯度不可忽略的权重」,而论文的实验显示,较早的梯度在数万步之后仍可能保持相关性。
为什么重要
基于动量的优化器在机器学习中被广泛使用,这类方法通常依赖梯度的指数移动平均:每一步把历史梯度按指数衰减累加进来,越早的梯度贡献越小。论文给出的理由是,梯度只是当前位置附近的局部线性近似,随着迭代点在损失曲面上移动,旧梯度的参考价值会下降,因此用指数衰减压低它们的权重是合理的。
但论文对这一默认做法提出了质疑。作者指出,只使用一组 EMA 会带来一个结构性矛盾:如果衰减设得慢,近期梯度的权重就不够突出;如果衰减设得快,较早的梯度就几乎被完全丢弃。也就是说,单一 EMA 无法同时兼顾「重视眼前」和「不完全遗忘过去」这两个目标。论文通过实验说明这种选择可能是次优的,并据此提出用两组 EMA 混合来更充分地利用过去的梯度。论文还称,实验结果显示梯度可以在数万步的尺度上仍然相关,这一点与「旧梯度很快失效」的常见假设并不一致。
工作机制
按论文的描述,AdEMAMix 的核心做法可以拆成以下几点:
- 保留 Adam 的基本框架。论文把它定位为对 Adam 的简单修改,而不是另起一套完全不同的更新规则;自适应学习率等 Adam 的组成部分仍然保留。
- 引入两组 EMA。一组 EMA 使用较快的衰减,主要反映最近的梯度方向;另一组使用较慢的衰减,把更早的梯度以不可忽略的权重保留下来。两组 EMA 的混合取代了原来单一 EMA 的角色。
- 混合后参与更新。快速 EMA 与慢速 EMA 按一定方式组合,形成用于参数更新的动量项,从而让近期信息与长期信息同时进入更新方向。
- 慢速 EMA 的权重需要调节。由于慢速 EMA 会把很久以前的梯度带进当前更新,它对训练动态的影响随训练进程变化,因此论文把这一混合权重作为需要关注的设计量来讨论。
论文同时把这项工作定位为一个起点而非终点:作者在结论层面提出,值得进一步探索 EMA 之外的其他函数形式来利用过去的梯度。也就是说,AdEMAMix 的具体形式是「两组 EMA 混合」这一思路的一个实现,而不是对「如何利用旧梯度」这一问题的唯一答案。
典型例子
论文报告的实验覆盖语言建模与图像分类两类任务。其中被摘要明确给出的一个例子是:一个 13 亿(1.3B)参数的 AdEMAMix 语言模型在 1010 亿(101B)个 token 上训练,其表现与一个在 1970 亿(197B)个 token 上训练的 AdamW 模型相当,论文把这一对比标注为 +95%。这个例子说明的是论文所主张的「收敛更快、更省数据」的效果,其具体数值来自论文自身的实验设置,并非独立复现的结果。
论文摘要还提到另外两点观察:其一,实验结果显示 AdEMAMix 往往收敛到更低的极小值;其二,该方法显著减缓了训练过程中的模型遗忘(forgetting)。作者用「quite surprisingly」来形容旧梯度在数万步后仍然有用的发现,表明这一结果与他们的预期并不完全一致。上述效果均为论文作者的实验结论,论文发表于 arXiv(编号 2409.03137,cs.LG 与 stat.ML 交叉领域),共 38 页、33 幅图。
边界与常见误解
首先需要澄清的是适用范围。论文的实验集中在语言建模与图像分类,摘要中给出的量化对比也只涉及一个 1.3B 参数的语言模型与 AdamW 的对照。这不足以说明 AdEMAMix 在其他模型规模、其他模态或其他训练范式下同样有效;论文本身也没有给出跨任务的普适性结论。
其次,容易把 AdEMAMix 误解成「一种全新的优化器家族」。按论文的自我定位,它是对 Adam 的简单修改,改动集中在梯度累积方式上,其余部分沿用 Adam 的结构。把它理解为「Adam 加两组 EMA」比理解为「替代 Adam 的新范式」更贴近原文。
第三,关于「旧梯度仍然有用」这一发现,应理解为论文在其实验条件下观察到的现象,而不是一条已被广泛验证的普遍规律。论文用「surprisingly」来描述它,本身就说明这与既有直觉存在张力;作者也据此呼吁进一步研究 EMA 之外的其他函数形式,暗示这一方向尚未定论。
第四,已知代价方面,引入第二组 EMA 意味着需要额外维护一份状态并调节混合权重,这会增加实现与调参的复杂度;论文把混合权重视为需要关注的设计量,但没有在摘要中给出通用的取值建议。此外,论文报告的加速与更低极小值均以 token 数或训练步数衡量,并不直接等同于墙钟时间的等比例缩短,实际收益取决于具体实现与硬件条件。
最后,本条目所述内容均来自该论文的摘要与元数据,未经过独立复现;文中出现的所有性能数字、参数规模与 token 数量都应视为论文作者的实验报告。