最近,自变量机器人(X Square Robot)团队发布了论文《DMuon: Efficient Distributed Muon Training with Near-Adam Overhead》,讨论的正是 Muon 真正进入大规模分布式训练后,怎么把系统开销压到接近 AdamW。
这两年很多同学看优化器,常会纠结同一个问题:Muon 到底能不能在真实训练里跑赢 AdamW?
在回答这个问题之前,先用一句话讲清楚 Muon 是做什么的:
Muon 是面向神经网络二维权重的矩阵正交化优化器。它不像 AdamW 将权重矩阵展平、以独立标量元素为单位逐元素自适应更新,而是先累积动量矩阵,再通过 Newton-Schulz 迭代近似正交化整块动量矩阵,从权重的二维矩阵几何结构重塑更新方向,目标是让模型用更少训练步数实现更快收敛、更好训练效果。
很多人只盯着 “Muon 能不能跑赢 AdamW” 这一点,其实这个思路本身就有片面性。
如果只看优化器公式,Muon 的确很有吸引力。AdamW 更接近对每个元素独立更新,Muon 则把权重矩阵当成矩阵来处理,通过 Newton-Schulz 迭代对 momentum-smoothed gradient 做近似正交化,让更新方向带有更强的矩阵结构信息。
但把它落地到大模型分布式训练场景后,一系列工程层面的短板就会暴露出来。
真实的大模型训练不会把完整参数放在一张 GPU 上慢慢算。参数、梯度、优化器状态会被切成 shard,分散到很多张卡上。AdamW 天生适配分布式分片训练逻辑:它的更新逻辑是逐元素独立计算,每张显卡只需处理自身分到的参数分片,就能独立完成更新。
Muon 麻烦的地方就在这里。
它的 Newton-Schulz 迭代需要看到完整矩阵。训练栈给它的是分片,它要的是整块矩阵。这个冲突如果处理不好,Muon 在数学上省下的时间,会被系统层的通信和重复计算吃掉。
自变量这次发布的 DMuon,值得看的地方也在这里:它处理的是现代分布式训练栈里 Muon 和 sharding 之间的工程冲突,底层完整沿用 Muon 原本的矩阵正交化算法。
这篇文章我们就从这个冲突讲起。









