跳到主内容
快讯直播
AI智模界
AI 词典

Lion 优化器:只用符号更新,省一半优化器内存

一句话定义:Lion(EvoLved Sign Momentum,可理解为"被搜索出来的符号动量")是一种只保存一阶动量、并用动量的正负号(sign)决定更新方向的优化器,优化器状态的内存大约是 AdamW 的一半。

它到底在做什么

训练模型时,优化器每步要回答两个问题:往哪个方向走、走多远。AdamW 的做法是给每个参数单独维护两个统计量——梯度的历史平均(一阶矩,first moment)和梯度平方的历史平均(二阶矩,second moment),后者用来把步长按坐标缩放,梯度大就压一压,梯度小就抬一抬。所以它要额外存两份和参数同样大的缓冲区。

Lion 砍掉了第二个。它只留一阶动量,然后把"走多远"简化为一个恒定值——学习率;"往哪走"则看动量与当前梯度的组合是正还是负,取符号得到 +1 或 −1,参数就沿这个方向挪固定的一格。于是每一步的步幅对所有参数、所有时刻都基本一样,变化的只是方向。

打个比方:下山。AdamW 像精算师,每一步都重新掂量坡有多陡、路有多滑,再决定迈多大;Lion 像个只认方向的人,步子长度写死,只判断"该上坡还是下坡",然后迈出同样长的一步。也可以理解成投票:不关心谁喊得多大声,只数多数人往哪边投。

省在哪,又贵在哪

AdamW 要存一阶矩和二阶矩两份状态,Lion 只存一份,所以"优化器状态"这部分大致减半。要注意:省的不是权重、梯度、激活值,所以整体训练显存能省多少百分比,取决于模型规模、批次大小和混合精度设置,不能一概说"显存砍半"。

代价是超参更敏感。更新幅度恒定,等于给训练注入了一种固定尺度的扰动,因此实践中通常需要比 AdamW 更小的学习率、更大的权重衰减(具体倍数以论文和官方实现为准),β 的常见取值也在较大的量级。直接沿用 AdamW 的超参,往往训不动或者不稳定。

优化器优化器状态每步更新步长
AdamW一阶矩 + 二阶矩梯度按自身均方根缩放逐参数自适应
Lion仅一阶动量取符号恒定 ±学习率
SGD + 动量仅动量动量与梯度大小成正比

和相邻概念的区别

和 AdamW 相比,Lion 少了按坐标的自适应缩放,换来更小的状态和更简单的计算;和 SGD 加动量相比,SGD 的步长随梯度大小变化,梯度大就走得远,Lion 则走固定的一步。有人认为恒定步长自带类似噪声正则化的效果,这也是它在大批次训练里受关注的原因之一。

对从业者的意义

如果显存正好卡在优化器状态上、又有调参预算,Lion 值得试;调参预算很少时,AdamW 依然是更省心的默认选择。公开研究里 Lion 在部分任务上能追平甚至略胜 AdamW,也有不少场景仍不如它,所以它是"多一个选项",不是替代品。

对不写代码的职场人来说,优化器的差别看似很底层,但它直接关系到"同样一个模型要多少卡、跑多久"——这是大模型成本里相当真实的一块。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。