在前两篇文章中,我们建立了奇异值分解和谱范数的理论基础。SVD 告诉我们矩阵可以分解为旋转和拉伸的组合,谱范数量化了最大拉伸因子,条件数决定了优化的难易程度。现在,我们将这些概念串联起来,理解一个正在改变大模型训练范式的优化器——Muon。
Muon 的核心思想极其简洁:对梯度矩阵做正交化,然后沿正交化后的方向更新参数。这个看似简单的操作,背后连接着 Polar 分解、Newton-Schulz 迭代和幂方法等经典矩阵计算工具。
从动量法到矩阵动量
标准的 SGD 动量法将梯度视为向量,维护一个指数移动平均:
动量的效果是"惯性"——在梯度方向一致时加速,在梯度方向频繁变化时抑制震荡。但这里有一个隐含的假设:梯度是向量,动量是向量的指数移动平均。
然而在神经网络中,梯度实际上是矩阵(或高阶张量)。每一层的权重矩阵 对应的梯度 也是一个矩阵。将 展平成向量后做动量,忽略了梯度的矩阵结构——尤其是忽略了不同奇异方向上的信息。
Muon 的出发点是:能否利用梯度的矩阵结构,设计更高效的更新规则?
答案指向了正交化。直觉上,正交矩阵是"最均匀"的线性变换——它没有偏袒任何方向,所有方向上的拉伸因子都等于 1。如果我们能将梯度投影到一个正交矩阵,就能确保更新在所有方向上均匀施加,避免某些方向被过度压缩或过度放大。
msign 算子:投影到最近的正交矩阵
Muon 的核心操作是 msign 算子。对于矩阵 ,设其 SVD 为 ,msign 定义为
其中 , 和 分别取 和 的前 列。
msign 的几何意义可以通过 Polar 分解来理解。任何矩阵 都可以唯一分解为
其中 是部分正交矩阵(), 是半正定矩阵。Polar 分解中, 正是 的"方向"部分, 是"幅度"部分。msign 提取的正是这个方向:。
更精确地说,msign 将 投影到最近的正交矩阵——这是在 Frobenius 范数意义下的最优近似:
其证明利用了正交 Procrustes 问题的经典结论。直观地理解,msign 剥离了梯度中的"幅度"信息(奇异值),只保留"方向"信息(奇异向量)。这种操作的效果是:无论梯度在不同方向上的大小如何悬殊,正交化后的更新在所有方向上都具有相同的影响力。
对于向量 ,msign 退化为 ——这正是符号梯度(sign SGD)的操作。因此 msign 可以看作 sign 函数从向量到矩阵的自然推广。
msign 的等价形式
msign 还有一个重要的等价表示:
这个恒等式可以通过 SVD 直接验证:设 ,则 ,,代入得 。
这个等价形式将 msign 与极分解联系了起来: 中 ,而 ,因此 。
更重要的是,这个等价形式是 Newton-Schulz 迭代的另一条推导路线的出发点。考虑标量函数 的 Taylor 展开:
将其截断并应用于 的计算,就得到了 Newton-Schulz 迭代的不同阶近似。苏剑林正是从这条路线推导 Newton-Schulz 迭代的,与我们后面采用的标量 Newton 法路线殊途同归。
不同范数约束下的最速梯度下降
在深入 msign 的计算方法之前,我们先从一个更根本的问题出发:Muon 到底在做什么?答案隐藏在"最速梯度下降"的统一框架中。
梯度下降的本质可以表述为一个约束优化问题:在约束 下,寻找使目标函数下降最快的方向
不同的范数约束给出了不同的"最速方向":
范数约束:。由 Cauchy-Schwarz 不等式,,取等条件为 。不考虑归一化,最速方向就是 ——这正是标准 SGD。
范数约束:。每个元素 ,最优解为 ,即 ——这正是 Signum 优化器。
谱范数约束:(矩阵的谱范数,即最大奇异值不超过 1)。由 Frobenius 内积与谱范数的关系,(Hölder 不等式的矩阵版本),但更精确的界是
其中 是核范数(奇异值之和)。在谱范数约束 下,取等条件为 ——这正是 Muon 优化器。
苏剑林的核心论点是:Muon 是"谱范数约束下的最速梯度下降",与 SGD(2-范数约束)和 Signum(∞-范数约束)构成统一框架。三种优化器的区别不在于动量或自适应学习率的技巧,而在于它们对"最速方向"的定义不同——这取决于选择什么范数来约束更新步长。
这个统一框架的深刻之处在于:它将优化器的设计选择归结为范数的选择,而范数的选择反映了对参数空间几何结构的先验假设。 范数假设参数空间是各向同性的, 范数假设每个参数独立,谱范数假设参数具有矩阵结构且方向比幅度更重要。
把这个判断丢到 3D 损失面上检验:在 Himmelblau 函数(4 个等深极小值的非凸损失面)上,从同一个鞍点附近的起点出发,让 SGD、Adam、Muon 三种步几何各自展开 200 步轨迹。同一个梯度场推出三条完全不同的路径——三种步形各自走进不同盆地。
Muon 的完整更新规则为:
其中 是矩阵动量,最后一步的缩放因子恢复了幅度信息(正交化丢失的奇异值幅度由动量矩阵的 F 范数近似恢复), 是矩阵的维度参数。在实践中,这个缩放因子可以简化为 。
Newton-Schulz 迭代
直接计算 msign 需要对 做完整的 SVD,计算量为 ,对于大模型中的巨型矩阵来说代价过高。Newton-Schulz 迭代提供了一种避免 SVD 的近似方法。
Newton-Schulz 迭代的出发点是求解矩阵符号函数。对于可对角化矩阵 ,其符号函数定义为 ,其中 将正对角元素映射为 ,负对角元素映射为 。
Newton-Schulz 迭代公式为:
从适当的初始值出发, 会收敛到 。
这个迭代公式看起来简洁得有些神秘,但其推导并不复杂。考虑标量情形:求解 等价于求解 (即 )。对 应用 Newton 法:
这就是经典的 Newton 迭代求平方根倒数。但这个迭代涉及 ,推广到矩阵时需要求逆。为了避免矩阵求逆,我们可以使用一种等价的"逆-free"形式。
注意到 Newton 法的迭代可以改写为 。这个形式不涉及除法(矩阵求逆),可以直接推广到矩阵。具体来说,从 出发(需要 保证收敛), 会收敛到 。
收敛性的关键在于:每次迭代, 的奇异值都被"推向" 或 。设 的奇异值为 ,则迭代对奇异值的作用为
函数 在 上有 且 ,即奇异值逐步趋近于 1。这正是正交化所需要的:所有奇异值收敛到 1 意味着矩阵收敛到正交矩阵。
从可视化中可以观察到:Newton-Schulz 迭代的收敛速度很快,通常 5-10 步就足以将奇异值偏差降低到 以下。收敛速度是三次的(cubic convergence),远快于线性收敛的幂方法。
但 Newton-Schulz 迭代有一个前提:初始矩阵的谱范数必须严格小于 1,否则迭代可能发散。这就是为什么我们需要先将 除以 (或 )进行归一化。
优化系数:从理论到实践
上面使用的迭代公式 的系数 来源于 Newton 法的理论推导,对任意矩阵都能保证收敛。但在实际应用中,我们可以使用更高阶的迭代公式来加速收敛。
Muon 官方实现使用的是五阶迭代公式,系数为 :
这些系数是通过优化得到的,并非随意选取。其求解思路是:
假设输入的奇异值分布:大模型中梯度矩阵的奇异值近似服从 Marchenko-Pastur 分布(随机矩阵理论中描述 Wishart 矩阵奇异值分布的经典结果)。
固定迭代步数 :例如 步或 步。
以奇异值偏差的平方误差为损失:,其中 是经过 步迭代后奇异值 的终值。
求解最优系数:对 做梯度下降,得到使期望偏差最小的 。
苏剑林在《Muon优化器赏析》中详细分析了这些系数的来源和求解方法。核心洞察是:理论系数 对所有输入分布都安全,但对特定分布(如 Marchenko-Pastur)不是最优的;优化系数利用了输入分布的先验知识,在相同迭代步数下可以达到更高的精度。
实践中,使用优化系数可以显著提升 msign 的精度——在相同的 3 步迭代下,优化系数的近似误差比理论系数低一个数量级以上。这是"利用问题结构加速收敛"的又一个实例。
流式幂迭代:工程折衷
Newton-Schulz 迭代虽然收敛快,但每步需要计算 ,两次矩阵乘法的计算量在大模型场景下仍然不低。更关键的是,每次参数更新都需要跑完整的迭代序列,这在训练循环中引入了显著的开销。
流式幂迭代(Streaming Power Iteration)提供了一种巧妙的工程折衷:将多步迭代平摊到训练的每一步。
核心思想是:在训练的每一步,只做一次幂迭代更新,而不是跑完整个 Newton-Schulz 序列。具体来说,维护两个向量 和 ,每步做:
经过 步训练后, 和 会收敛到 的最大左右奇异向量。msign 的近似为:
这恰好是 rank-1 近似。对于完整的 msign,需要对每个奇异方向分别维护一对向量,但实践中 rank-1 近似已经足够——苏剑林的实验表明,更高秩的近似对训练效果的影响有限。
流式幂迭代的优势在于:
- 零额外计算:每步只需两次矩阵-向量乘法,与标准反向传播相比几乎无额外开销。
- 自然适配动量: 和 的更新与动量机制天然兼容,梯度动量 的变化被"流式"地追踪。
- 隐式正则化:单步幂迭代等价于对 msign 做一步近似,这种不完全正交化反而可能带来正则化效果。
但也需要注意其局限:流式幂迭代的追踪能力取决于 的变化速度。如果动量矩阵变化过快( 过小), 和 可能来不及收敛就被新的梯度"拉走"。
MuP 与谱条件:Muon 的理论优势
理解 Muon 为什么有效,需要回到参数化尺度(Parameterization Scale)的框架。MuP(Maximal Update Parameterization)是 Yang et al. 提出的一套超参数迁移理论,其核心思想是:网络的超参数(学习率、初始化方差等)应该按照特定方式随宽度 缩放,使得训练动力学在宽度变化时保持稳定。
在 MuP 框架下,隐藏层权重的更新应该满足 (不随 变化),这要求学习率 。但标准的 Adam 优化器对梯度做了逐元素归一化,其更新幅度为 ——比 MuP 要求的小 倍。这意味着 Adam 在宽网络中的更新偏小,可能需要更高的学习率来补偿。
Muon 的 msign 操作天然满足谱条件。由于 msign 将梯度投影到正交矩阵,其每个元素的量级为 ,而谱范数为 1。考虑缩放因子 :由于 (当矩阵的谱快速衰减时),缩放后的更新幅度约为 ,恰好是 ——满足 MuP 的稳定性要求。
更深层的原因在于正交化消除了梯度中的"宽度偏差"。在宽网络中,随机初始化的权重矩阵接近正交矩阵,梯度矩阵也倾向于各向同性。标准优化器的逐元素归一化破坏了这种各向同性,而 msign 恰好保持了它。
应用:Kimi K2 训练中的 Muon 实践
Kimi K2 是 Moonshot AI 发布的大语言模型,其训练中采用了 Muon 优化器。根据公开的技术报告,Muon 在 K2 的训练中实现了约 2 倍的加速——达到相同的验证损失所需的训练步数减半。
这一加速主要来自两个方面:
- 更快的收敛:在条件数较大的问题上(如注意力层的权重矩阵),Muon 的正交化更新避免了之字形震荡,收敛速度显著快于 Adam。
- 更好的超参数迁移:Muon 满足 MuP 条件,从窄模型调好的超参数可以直接迁移到宽模型,省去了大量的调参成本。
从对比中可以看到,当条件数较低时(),Adam 和 Muon 的收敛速度相近;但当条件数增大时(),Adam 的收敛明显变慢,而 Muon 仍保持较快收敛。这是因为 Adam 的逐元素自适应学习率相当于对角预处理,只能处理坐标对齐的各向异性;而 Muon 的正交化操作可以处理任意方向的各向异性——这在高维问题中尤为重要,因为权重矩阵的主奇异方向通常不与坐标轴对齐。
Shampoo 等价性:两个独立优化器家族的会合
Muon 与 Adam 的对比是"正交化 vs 对角归一化"的故事,但还有一个更令人意外的联系:Muon 与 Shampoo 优化器在无正则化极限下完全等价。
Shampoo 的更新规则为
其中 是梯度矩阵, 是正则化常数。当 时,我们可以通过 SVD 证明 Shampoo 与 Muon 等价。设 ,则
代入得
这意味着 Shampoo 在 时恰好退化为 Muon。这个等价性连接了两个独立发展的优化器家族:Muon 从矩阵正交化出发,Shampoo 从 preconditioned gradient 出发,两者在极限处殊途同归。
当 时,Shampoo 的行为发生变化:正则化项 使得矩阵分数幂的计算不再简单地约去奇异值, 的对角元素开始占据主导。此时 Shampoo 逐渐退化为 Adam 类行为——对角近似。因此 可以看作从 Muon(,完整谱结构)到 Adam(,纯对角结构)的连续插值参数。
小结
Muon 优化器的思想脉络可以概括为:梯度是矩阵而非向量,因此应该利用矩阵的结构来设计更新规则。msign 算子将梯度投影到最近的正交矩阵,等价于剥离奇异值(幅度)只保留奇异向量(方向)。在最速梯度下降的统一框架下,Muon 是谱范数约束的最优选择,与 SGD(2-范数约束)和 Signum(∞-范数约束)构成完整的谱系。Newton-Schulz 迭代提供了计算 msign 的高效方法,优化系数利用输入分布的先验知识进一步加速收敛;流式幂迭代则将计算平摊到训练循环中。在 MuP 框架下,Muon 的正交化更新天然满足稳定性条件,这使得超参数可以从窄模型直接迁移到宽模型。
从矩阵论的视角看,Muon 的本质是:用谱范数替代 F 范数来度量梯度的"大小"。传统优化器将梯度展平为向量来处理,丢失了矩阵的结构信息;Muon 通过正交化保留了梯度的几何结构,让更新方向更加"均匀"。Shampoo 在 时与 Muon 的等价性进一步印证了这一点:完整的谱结构利用(而非对角近似)是高效矩阵优化的关键。这种从向量到矩阵的思维转换,或许是深度学习优化器设计的一个重要方向。
相关概念
- SVD与正交化 — msign需要SVD计算,Newton-Schulz是避免SVD的近似替代,详见奇异值分解与低秩近似
- 谱范数约束 — Muon是谱范数约束下的最速下降,谱归一化的幂迭代→流式幂迭代,详见谱范数、条件数与优化景观
- 权重吸收与投影 — Shampoo等价性中权重吸收的工程视角,详见从RoPE到DeepSeek MLA
参考文献
- 苏剑林. Muon优化器赏析:从向量到矩阵的本质跨越. https://kexue.fm/archives/10592
- 苏剑林. 从谱范数梯度到新式权重衰减的思考. https://kexue.fm/archives/10648
- 苏剑林. MuP之上:1. 好模型的三个特征. https://kexue.fm/archives/11340
- 苏剑林. 基于流式幂迭代的Muon实现:1. 初识. https://kexue.fm/archives/11654
- Jordan, K., et al. (2024). Muon: An optimizer for hidden layers in neural networks. arXiv preprint.
- Gupta, V., Korenda, M., Begue, A., & Barest, T. (2018). Shampoo: Preconditioned Stochastic Tensor Optimization. ICML 2018.
- Yang, G., et al. (2022). Tensor Programs V: Tuning Large Neural Networks via Zero-Shot Hyperparameter Transfer. NeurIPS 2022.
- Higham, N. J. (2008). Functions of Matrices: Theory and Computation. SIAM.