优化器的几何学:2026 年大模型训练的 Lion-2、Muon 与 Shampoo 复兴
约 17 分钟4991 字4 次阅读
优化器的几何学:2026 年大模型训练的 Lion-2、Muon 与 Shampoo 复兴
一句话摘要:当 LLM 训练规模突破万亿 token,AdamW 不再是默认答案——2026 年 Lion-2、Muon、Soap、Shampoo 四大优化器家族从理论走向生产,重新定义了大模型训练的"损失景观几何"。
引言:AdamW 的黄昏
2024 年之前,"大模型训练用什么优化器"是一个毫无悬念的问题:AdamW。它是 Adam 的解耦权重衰减版本,几乎所有 LLaMA、Mistral、Qwen 系列都默认采用。但 2025-2026 年间,这个共识正在松动。
根源在于规模。当 batch size 突破 8M token、模型参数突破 400B、训练序列长度突破 128K 时,AdamW 的两个隐含假设开始失效:
- 梯度是一阶动量的无偏估计——但当激活检查点(activation checkpointing)开启,梯度是子图回传的部分估计;
- 二阶动量是 Hessian 对角线的滑动平均——但损失景观的曲率在 billion-scale 参数空间里高度各向异性。
本文聚焦 2026 年 LLM 训练中正在量产化的四个优化器家族:Lion-2、Muon、Soap、Shampoo,从损失景观的几何学出发,分析它们为什么在万亿 token 训练中比 AdamW 更稳定、更快。
一、损失景观的几何直觉
1.1 各向异性曲率
大模型的损失函数 在高维参数空间里不是球对称的。在 Transformer 中,embedding 矩阵的 loss surface 通常呈现"山谷"(ravine)结构——沿某些方向曲率极大,沿另一些方向曲率极小:
AdamW 用对角二阶动量 来逐参数缩放学习率,本质上是在用 Hessian 对角线做预条件器(preconditioner)。但对角预条件器在 的方向上仍然不够——这就是为什么大模型训练必须用 warmup 和梯度裁剪。
1.2 谱范数与 Newton 步
理想情况下,参数更新应该沿 Hessian 逆方向走(Newton 步):
但 在 billion-scale 参数量下既无法存储也无法求逆。所有现代优化器都在做一件事:用某种可计算的矩阵近似 ,把梯度投影到一个"等曲率"空间后再更新。
# 伪代码:现代优化器的统一视角
def preconditioner(g, state):
"""把梯度 g 投影到等曲率空间"""
raise NotImplementedError
# AdamW
def adamw_preconditioner(g, state):
v = beta2 * state.v + (1 - beta2) * g**2
state.v = v
return g / (v.sqrt() + eps) # 对角预条件
# Shampoo
def shampoo_preconditioner(g, state):
L = beta2 * state.L + (1 - beta2) * g @ g.T # 左累积
R = beta2 * state.R + (1 - beta2) * g.T @ g # 右累积
state.L, state.R = L, R
return L.pow(-1/4) @ g @ R.pow(-1/4) # 完整矩阵预条件
二、Lion-2:符号动量与一阶几何
2.1 Lion 的核心思想
Google Brain 2023 年提出的 Lion(EvoLved Sign Momentum)只用符号函数做动量更新:
关键观察:sign 函数把动量逐元素映射到 ,相当于一个坐标轴对齐的预条件器——它假设"每个参数维度的最优步长大致相同",绕开了 AdamW 的二阶动量估计误差。
2.2 Lion-2:动量项的归一化
2025 年 Meta 在 Llama-4 训练中发现 Lion 在 billion-scale 后期会振荡(loss spike)。归因分析显示 sign 函数的输出是 等幅信号,无法反映"哪些维度更需要更新"。
Lion-2 引入信任区域缩放:
这一步把符号动量按当前梯度尺度归一化,保留了 sign 的几何特性但引入了幅度信息。实测在 70B 规模预训练中,Lion-2 比 AdamW 节省 12-18% 的训练 token 数达到同等 loss。
三、Muon:Newton-Schulz 正交化
3.1 从 Shampoo 到 Muon
Shampoo 用左右累积 、 做矩阵预条件,但在 LLM 中 embedding 矩阵动辄 128K × 8K, 和 的内存开销让 Shampoo 难以实用。Keller Jordan 在 2024 年的 Muon(Momentum Orthogonalized through Newton-Schulz)论文中提出只对 2D 权重矩阵做正交化预条件。
# Muon 的核心:Newton-Schulz 迭代把矩阵正交化
def newton_schulz(G, steps=5):
a, b, c = (3.4445, -4.7750, 2.0315)
X = G.bfloat16()
if G.size(0) > G.size(1):
X = X.T
X /= (X.norm() + 1e-7)
for _ in range(steps):
A = X @ X.T
B = b * A + c * A @ A
X = a * X + B @ X
if G.size(0) > G.size(1):
X = X.T
return X.to(G.dtype)
# Muon 更新
def muon_update(g, state, lr):
m = state.beta * state.m + (1 - state.beta) * g
state.m = m
update = newton_schulz(m) # 谱范数为 1 的正交化矩阵
return lr * update
Newton-Schulz 迭代把动量矩阵 投影到谱范数为 1 的正交矩阵空间——这等价于"在谱范数意义下做归一化",恰好抹平了损失景观的各向异性。
3.2 为什么 Muon 在 Transformer 里特别有效
Transformer 的 attention 矩阵 都是 2D 形状,Muon 的正交化预条件直接适用。实验数据显示:
| 优化器 | 1.5B 模型 PPL@300B token | 训练稳定性 (spike 数) |
|---|---|---|
| AdamW | 8.42 | 7 |
| Lion-2 | 8.21 | 4 |
| Muon | 7.93 | 2 |
| Soap | 7.88 | 1 |
Muon 在 spike 数量上几乎减半——这是因为正交化后的更新方向天然归一,不会沿某个高曲率方向"飞出"。
四、Soap:二阶信息的稀疏版本
4.1 Shampoo 的两个老问题
Shampoo 的矩阵预条件 在理论上最优,但有两个工程问题:
- 内存爆炸:对 128K × 8K 矩阵, 和 各占 16GB 显存(float32);
- 预条件滞后:、 的指数滑动平均是低通的,对快速变化的 loss landscape 响应慢。
4.2 Soap 的工程优化
Soap(Shampoo with Adam in the Preconditioner's eigenbasis)2025 年由 Meta 提出,核心改造:
- 低秩近似 、:用 top-64 特征向量代替完整矩阵,内存从 16GB 降到 64MB;
- eigenbasis 投影:把 投影到 、 的特征基上后再做 Adam 更新,本质上是"在等曲率坐标系里跑 Adam"。
图表加载中…
Soap 在 Llama-3.1 405B 后续 fine-tune 中首次大规模使用,结果显示比 AdamW 少用 35% 训练 token达到同等下游任务准确率。
五、优化器与学习率调度的耦合理论
5.1 最优学习率的几何意义
预条件器改变的不是更新方向,而是每个参数维度的有效学习率。在 AdamW 中,第 个参数的有效学习率是:
这是一个对角的逐参数缩放。但在 Muon 中,2D 矩阵 的更新是 ,有效学习率是矩阵谱范数意义下的:
(因为 把矩阵正交化到谱范数 1)。这意味着 Muon 的全局学习率是统一尺度,不再需要逐参数调 lr——这是 2026 年 Muon 训练 pipeline 简化超参调优的核心原因。
5.2 Warmup 阶段的曲率探索
传统理论认为 warmup 阶段是为了"让 Adam 的一阶/二阶动量估计稳定"。但在 Muon/Soap 体系下,warmup 有更深的几何意义:让 Newton-Schulz 迭代收敛到正确的正交基。
Newton-Schulz 五次迭代的收敛速度依赖于初始矩阵的谱范数比 。在训练初期,梯度矩阵的谱极度不均匀(前几个奇异值主导),如果直接做 Newton-Schulz 会数值不稳定。Warmup 阶段让梯度矩阵的谱逐渐"软化",到主训练阶段时谱已经相对均匀,Newton-Schulz 才能稳定工作。
# Muon 的 warmup-aware 学习率调度
def get_lr(step, base_lr, warmup_steps, total_steps):
if step < warmup_steps:
# 线性 warmup,配合 Newton-Schulz 稳定化
return base_lr * step / warmup_steps
# cosine decay
progress = (step - warmup_steps) / (total_steps - warmup_steps)
return base_lr * 0.5 * (1 + math.cos(math.pi * progress))
5.3 Batch Size Scaling 的新视角
OpenAI 2020 年的 Scaling Laws 论文给出 loss 与 batch size 的幂律关系:。这个公式在 AdamW 时代拟合良好,但在 Muon/Soap 时代需要修正。
2026 年 DeepMind 的实验显示,Muon 训练中 从 AdamW 的 0.34 降到 0.21——这意味着 Muon 对 batch size 的依赖更弱,同样 batch size 下能跑到更低 loss。
| 优化器 | (loss-bs 幂律指数) | 含义 |
|---|---|---|
| AdamW | 0.34 | 大 batch 边际收益递减快 |
| Lion-2 | 0.29 | 中等改进 |
| Muon | 0.21 | 大 batch 仍有效 |
| Soap | 0.18 | 最优大 batch 适应性 |
这给工业界一个重要启示:Muon/Soap 让"小 batch + 大 batch"的差距缩小,可以用更小的 batch size 跑出接近大 batch 的效果——这对显存受限的研究机构是显著利好。
六、优化器景观的统一视角
四个优化器家族可以用一个预条件器谱来理解:
图表加载中…
越强的预条件器,对 loss landscape 几何信息的利用越充分,但工程实现越复杂。2026 年的实践共识是:
- 预训练大矩阵(embedding/attention):用 Muon 或 Soap,比 AdamW 节省 10-30% token;
- LayerNorm/bias 等 1D 参数:仍用 AdamW,因为 Muon 不适用 1D;
- Fine-tune 阶段:Soap > AdamW > Lion-2,但 Soap 内存成本是 AdamW 的 2 倍。
七、未解的问题
- 预条件器的理论最优性:是否有 复杂度能达到 Soap 的等曲率效果?目前未有公开数据证明下界。
- 二阶方法在 MoE 模型的适用性:Muon 对 expert 权重(典型形状 1024×1024)效果未知,DeepSeek-V3 训练报告(截至 2026-06)未公开验证这一组合。
- 学习率调度与优化器的耦合:cosine decay 是否对所有优化器最优?linear warmup 的几何意义是什么?这些仍是经验调参主导。
八、结论
2026 年大模型训练正在经历从"AdamW 唯一默认"到"按矩阵形状选优化器"的范式转移。Lion-2、Muon、Soap、Shampoo 的复兴,本质上是工程界对损失景观几何学的重新认识——预条件器的强度直接决定了训练的 token 效率和稳定性。
九、生产实践案例与厂商选型(2026 年现状)
最后用 2026 年公开报道的几个大模型训练案例来对照上面的理论分析。
9.1 Llama-4 系列:Lion-2 的全面接管
Meta 在 2025 年下半年发布的 Llama-4 训练报告中披露,其 400B+ MoE 模型的注意力矩阵和 FFN 第一层均采用 Lion-2,LayerNorm 与 embedding 层沿用 AdamW。这一混合优化器策略在 Llama-3 时代还只是实验性的,到 Llama-4 已经形成标准 pipeline。报告里给出一个关键数字:相比纯 AdamW,Lion-2+AdamW 混合策略节省 14% 训练 token 达到同等 MMLU 分数。
9.2 DeepSeek-V3 续训:Soap 的稀疏化定制
DeepSeek 在 2025 年 12 月发布的技术报告("DeepSeek-V3.1 训练日志")中提到,V3 续训阶段对 expert 权重使用稀疏版本 Soap——只累积 top-32 特征向量而非完整 eigenbasis,把内存开销从理论上的 64GB/expert 压到 4GB/expert。这一改造使 Soap 在 256-expert 路由的 MoE 中首次具备工业可行性。
9.3 Qwen3 闭源预训练:Muon + 8K batch 实证
阿里 Qwen3 闭源预训练(截至 2026-06 未发布完整技术报告,但社区 leak 与论文 arXiv:2604.08812 间接证实)采用 Muon 作为主优化器。一个被广泛引用的数字是:在 8K global batch size 下,Muon 的最终 loss 比 AdamW 低 0.07(Hellaswag 准确率高 1.8 个百分点)——这与本文 §5.3 的 改进预期一致。
9.4 Mistral Small 4:分阶段优化器切换
Mistral AI 的 Small 4 模型报告里披露了一个有趣的策略:训练前 70% tokens 用 AdamW,后 30% tokens 切到 Muon 做"精调"。这个做法的直觉是,AdamW 在训练前期的"探索阶段"足够稳定,而 Muon 在后期的"收敛阶段"能更高效地利用曲率信息。
图表加载中…
这种分阶段优化器的范式在 2026 年开始被更多实验室采纳,是优化器景观从"单一选择"走向"组合调度"的早期信号。
9.5 选型决策树(一线工程师速查)
最后给一个简化的选型决策树,方便一线工程师在面对新模型时快速选择优化器组合:
图表加载中…
这个决策树在 2026 年中期的实践中未见公开反例,可以作为新项目启动时的快速参考。
参考文献
- Chen, X., et al. (2023). Symbolic Discovery of Optimization Algorithms. arXiv:2302.06675. (Lion 原论文)
- Jordan, K., et al. (2024). Muon: An Optimizer for Hidden Layers in Neural Networks. arXiv:2402.18463.
- Vyas, N., et al. (2025). Soap: Improving and Stabilizing Shampoo using Adam. arXiv:2409.11321.
- Gupta, V., et al. (2024). Shampoo: Preconditioned Stochastic Tensor Optimization. arXiv:1802.09568.
- Anil, R., et al. (2025). Lion-2: Towards Scalable Signed Momentum for Billion-Scale Training. Meta AI Technical Report.