進階最佳化

Muon 最佳化器(Muon optimizer)

當你訓練一個權重矩陣時,它累積的動量往往接近低秩:少數幾個主導方向承載了大部分更新,於是步伐失衡、其他方向未被充分利用。Muon 反制這點的方式,是在動量矩陣被施加之前先把它正交化,於是那一層更新中的每個方向都得到一個平衡、大致為單位尺度的推力。效果有點像把更新做白化(whitening),讓沒有任何單一方向獨大。

機制上,Muon 形成一般的動量矩陣 M,然後用它奇異值分解(SVD)的正交因子——極因子 U V 轉置(其中 M 等於 U Sigma V 轉置)——來取代它。它不真的跑一次 SVD,而是用幾步 Newton-Schulz 迭代、作用在 M 除以其範數上,來便宜地近似這個正交化,這些迭代在低精度下跑得很有效率。這個正交化後的更新只用於隱藏層的二維權重矩陣;嵌入、輸出頭,以及一維的偏置與正規化參數則退回 AdamW。

在近期的大型語言模型訓練競速中,Muon 在相同預算下交出了比 AdamW 更快、更省算力的預訓練,這正是它受到關注的原因。它仍是一個逐漸成熟的方法:只有矩陣形狀的隱藏參數會用它、Newton-Schulz 步驟必須為穩定性調校,而關於跨模型規模的縮放行為與學習率遷移的問題,都還是活躍的研究領域。

O = \operatorname{NewtonSchulz}(M) \approx U V^\top,\qquad M = U\Sigma V^\top

更新是動量的正交(極)因子,不需完整 SVD 即可求得。

把動量正交化等價於用 U V 轉置取代 M,也就是與 M 最接近的正交矩陣;這是 M 的矩陣符號(matrix sign),正是它讓更新的頻譜被均勻化。

又稱
MuonMomentUm Orthogonalized by Newton-Schulz