21 Aug

流形上的最速下降:4. Muon + 谱球面

看完了前三篇的读者,想必已经熟悉本系列的“套路”——先提出更新量的约束,寻找最速下降方向,接着再给参数也加上约束,寻找新的最速下降方向。在求解参数约束问题时,我们采用的是“一阶近似够用”原则来简化约束形式,这在几何上对应于“切空间”。然后,我们用待定系数法转化无约束形式来写出解析解,最后再数值求解待定系数。

这篇文章我们再来求解一个新例子——谱球面约束下的Muon——它是第一篇文章《流形上的最速下降:1. SGD + 超球面》的类比推广,当我们希望参数的谱范数始终不变时可以考虑它。当然,也可以单纯作为一道练习题来练手。

问题描述

《流形上的最速下降:2. Muon + 正交》《流形上的最速下降:3. Muon + Stiefel》中,我们已经详细讨论了Muon与正交约束的碰撞,所以相关背景我们就不展开了,直接给出问题形式:
\begin{equation}\newcommand{tr}{\mathop{\text{tr}}}\max_{\boldsymbol{\Phi}} \tr(\boldsymbol{G}^{\top}\boldsymbol{\Phi}) \qquad \text{s.t.}\qquad \Vert\boldsymbol{\Phi}\Vert_2 = 1,\,\, \Vert\boldsymbol{W}\Vert_2 = 1,\,\,\Vert\boldsymbol{W} - \eta \boldsymbol{\Phi}\Vert_2=1\end{equation}

点击阅读全文...

8 Aug

流形上的最速下降:3. Muon + Stiefel

上回说到,当我们把优化对象从向量参数转移到矩阵参数,并选用更适合矩阵的谱范数约束后,Muon优化器便自然而然地出现了。进一步地,我们考虑了给参数加上正交约束后的最速下降方向,这其中又分方阵和非方阵两部分讨论,其中方阵的求解我们在上一篇文章已经完成,但非方阵部分依然悬而未决。

本文的目标,则是把非方阵部分的求解补上,使得正交约束下的优化得以完全解决。

任务信息

先简单回顾一下上文《流形上的最速下降:2. Muon + 正交》的结果。我们要求解的目标是
\begin{equation}\newcommand{tr}{\mathop{\text{tr}}}\max_{\boldsymbol{\Phi}} \tr(\boldsymbol{G}^{\top}\boldsymbol{\Phi}) \qquad \text{s.t.}\qquad \Vert\boldsymbol{\Phi}\Vert_2 = 1,\,\, \boldsymbol{W}^{\top}\boldsymbol{W}=\boldsymbol{I},\,\,(\boldsymbol{W} - \eta \boldsymbol{\Phi})^{\top}(\boldsymbol{W} - \eta \boldsymbol{\Phi})=\boldsymbol{I}\end{equation}

点击阅读全文...

6 Aug

流形上的最速下降:2. Muon + 正交

本文继续我们的约束优化系列。在上文《流形上的最速下降:1. SGD + 超球面》中,我们重温了优化器的“最小作用量”原理,提出不同优化器的核心差异在于给更新量施加的不同约束,如果这个约束是欧几里得范数,那么对应的最速下降便是SGD。进一步地,我们还讨论了同时给参数增加模长约束后的结果,这构成了超球面流形上的最速下降。

不过,上文只能算是“热身”,因为它处理的是相对简单的向量参数优化。本文正式进入更具挑战性的部分——优化参数从向量变成矩阵,并且增量约束改为谱范数,由此衍生出Muon优化器;接着,我们再给参数添加正交约束,这将得到正交流形下的Muon优化器。

命题描述

设待优化参数具有矩阵形式$\boldsymbol{W}\in\mathbb{R}^{n\times m}$,不失一般性,设$n\geq m$。根据上一篇文章的“最小作用量”原理,我们得出最速下降的增量$\Delta\boldsymbol{W}$应该满足
\begin{equation}\min_{\Delta \boldsymbol{W}} \mathcal{L}(\boldsymbol{W} +\Delta\boldsymbol{W}) \qquad \text{s.t.}\qquad \rho(\Delta\boldsymbol{W})\leq \eta\end{equation}

点击阅读全文...

1 Aug

流形上的最速下降:1. SGD + 超球面

类似“梯度的反方向是下降最快的方向”的描述,经常用于介绍梯度下降(SGD)的原理。然而,这句话是有条件的,比如“方向”在数学上是单位向量,它依赖于“范数(模长)”的定义,不同范数的结论也不同,Muon实际上就是给矩阵参数换了个谱范数,从而得到了新的下降方向。又比如,当我们从无约束优化转移到约束优化时,下降最快的方向也未必是梯度的反方向。

为此,在这篇文章中,我们将新开一个系列,以“约束”为主线,重新审视“最速下降”这一命题,探查不同条件下的“下降最快的方向”指向何方。

优化原理

作为第一篇文章,我们先从SGD出发,理解“梯度的反方向是下降最快的方向”这句话背后的数学意义,然后应用于超球面上的优化。不过在此之前,笔者还想带大家重温一下《Muon续集:为什么我们选择尝试Muon?》所提的关于优化器的“最小作用量原理(Least Action Principle)”。

点击阅读全文...

12 Jul

QK-Clip:让Muon在Scaleup之路上更进一步

四个月前,我们发布了Moonlight,在16B的MoE模型上验证了Muon优化器的有效性。在Moonlight中,我们确认了给Muon添加Weight Decay的必要性,同时提出了通过Update RMS对齐来迁移Adam超参的技巧,这使得Muon可以快速应用于LLM的训练。然而,当我们尝试将Muon进一步拓展到千亿参数以上的模型时,遇到了新的“拦路虎”——MaxLogit爆炸。

为了解决这个问题,我们提出了一种简单但极其有效的新方法,我们称之为“QK-Clip”。该方法从一个非常本质的角度去看待和解决MaxLogit现象,并且无损模型效果,这成为我们最新发布的万亿参数模型“Kimi K2”的关键训练技术之一。

问题描述

我们先来简单介绍一下MaxLogit爆炸现象。回顾Attention的定义
\begin{equation}\boldsymbol{O} = softmax(\boldsymbol{Q}\boldsymbol{K}^{\top})\boldsymbol{V}\end{equation}

点击阅读全文...

5 Jun

msign算子的Newton-Schulz迭代(下)

在上文《msign算子的Newton-Schulz迭代(上)》中,我们试图为$\mathop{\text{msign}}$算子寻找更好的Newton-Schulz迭代,以期在有限迭代步数内能达到尽可能高的近似程度,这一过程又可以转化为标量函数$\mathop{\text{sign}}(x)$寻找同样形式的多项式迭代。当时,我们的求解思路是用Adam优化器端到端地求一个局部最优解,虽然有效但稍显粗暴。

而在几天前,arXiv新出了一篇论文《The Polar Express: Optimal Matrix Sign Methods and Their Application to the Muon Algorithm》,作者运用了一系列精妙的数学结论,以优雅且硬核的方式给出了更漂亮的答案。本文让我们一起欣赏和学习一番这篇精彩的论文。

问题描述

相关背景和转化过程我们就不再重复了,直接给出我们要求解的问题是
\begin{equation}\mathop{\text{argmin}}_f d(f(x),1)\end{equation}

点击阅读全文...

11 May

msign算子的Newton-Schulz迭代(上)

在之前的《Muon优化器赏析:从向量到矩阵的本质跨越》《Muon续集:为什么我们选择尝试Muon?》等文章中,我们介绍了一个极具潜力、有望替代Adam的新兴优化器——“Muon”。随着相关研究的不断深入,Muon优化器受到的关注度也在日益增加。

了解过Muon的读者都知道,Muon的核心运算是$\newcommand{msign}{\mathop{\text{msign}}}\msign$算子,为其寻找更高效的计算方法是学术社区的一个持续目标。本文将总结一下它的最新进展。

写在前面

$\msign$的定义跟SVD密切相关。假设矩阵$\boldsymbol{M}\in\mathbb{R}^{n\times m}$,那么
\begin{equation}\boldsymbol{U},\boldsymbol{\Sigma},\boldsymbol{V}^{\top} = \text{SVD}(\boldsymbol{M}) \quad\Rightarrow\quad \msign(\boldsymbol{M}) = \boldsymbol{U}_{[:,:r]}\boldsymbol{V}_{[:,:r]}^{\top}\end{equation}
其中$\boldsymbol{U}\in\mathbb{R}^{n\times n},\boldsymbol{\Sigma}\in\mathbb{R}^{n\times m},\boldsymbol{V}\in\mathbb{R}^{m\times m}$,$r$是$\boldsymbol{M}$的秩。简单来说,$\msign$就是把矩阵的所有非零奇异值都变成1后所得的新矩阵。

点击阅读全文...

24 Mar

高阶MuP:更简明但更高明的谱条件缩放

在文章《初探MuP:超参数的跨模型尺度迁移规律》中,我们基于前向传播、反向传播、损失增量和特征变化的尺度不变性推导了MuP(Maximal Update Parametrization)。可能对于部分读者来说,这一过程还是显得有些繁琐,但实际上它比原始论文已经明显简化。要知道,我们是在单篇文章内相对完整地介绍的MuP,而MuP的论文实际上是作者Tensor Programs系列论文的第5篇!

不过好消息是,作者在后续的研究《A Spectral Condition for Feature Learning》中,发现了一种新的理解方式(下称“谱条件”),它比MuP的原始推导和笔者的推导都更加直观和简洁,但却能得到比MuP更丰富的结果,可谓MuP的高阶版本,简明且不失高明的代表作。

准备工作

顾名思义,谱条件(Spectral Condition)跟谱范数(Spectral Norm)相关,它的出发点是谱范数的一个基本不等式:
\begin{equation}\Vert\boldsymbol{x}\boldsymbol{W}\Vert_2\leq \Vert\boldsymbol{x}\Vert_2 \Vert\boldsymbol{W}\Vert_2\label{neq:spec-2}\end{equation}

点击阅读全文...