让炼丹更科学一些(二):将结论推广到无界域
By 苏剑林 | 2025-12-12 | 1619位读者 | 引用两年前,笔者打算开一个“科学炼丹”专题,本想着系统整理一下优化器的经典理论结果,但写了第一篇《让炼丹更科学一些(一):SGD的平均损失收敛》后,就一直搁置至今。主要原因在于,笔者总觉得这些经典优化结论所依赖的条件过于苛刻,跟实际应用相去甚远,尤其是进入LLM时代后,这些结论的参考价值似乎更加有限,所以就没什么动力继续写下去。
然而,近期在思考Scaling Law的相关问题时,笔者发现这些结论结果并非想象中那么“没用”,它可以为一些经验结果提供有益的理论洞见。因此,本文将重启该系列,继续推进这个专题文章的撰写,“偿还”之前欠下的“债务”。
结论回顾
记号方面我们沿用第一篇文章的,所以不再重复记号的介绍。第一篇文章的主要结论是:在适当的假设之下,SGD成立
\begin{equation}\frac{1}{T}\sum_{t=1}^T L(\boldsymbol{x}_t,\boldsymbol{\theta}_t) - \frac{1}{T}\sum_{t=1}^T L(\boldsymbol{x}_t,\boldsymbol{\theta}^*)\leq \frac{R^2}{2T\eta_T} + \frac{G^2}{2T}\sum_{t=1}^T\eta_t\label{leq:avg-1}\end{equation}
滑动平均视角下的权重衰减和学习率
By 苏剑林 | 2025-12-05 | 4890位读者 | 引用权重衰减(Weight Decay)和学习率(Learning Rate)是LLM预训练的重要组成部分,它们的设置是否妥当,是模型最终成败的关键因素之一。自AdamW以来,单独分离出Weight Decay来取代传统的L2正则,基本上已经成为了共识,但在此基础上,如何合理地设置Weight Decay和Learning Rate,并没有显著的理论进展。
本文将抛砖引玉,分享笔者关于这个问题的一些新理解:把训练过程看作对训练数据的滑动平均记忆,探讨如何设置Weight Decay和Learning Rate才能让这个记忆更为科学。
滑动平均
Weight Decay的一般形式是
\begin{equation}\boldsymbol{\theta}_t = \boldsymbol{\theta}_{t-1} - \eta_t (\boldsymbol{u}_t + \lambda_t \boldsymbol{\theta}_{t-1})\end{equation}
生成扩散模型漫谈(三十一):预测数据而非噪声
By 苏剑林 | 2025-11-24 | 16742位读者 | 引用时至今日,LDM(Latent Diffusion Models)依旧是扩散模型的主流范式。借助Encoder对原始图像进行高倍压缩,LDM能显著减少训练与推理的计算成本,同时还能降低训难度,可谓一举多得。然而,高倍压缩也意味着信息损失,而且“压缩、生成、解压缩”的流水线也少了些端到端的美感。因此,始终有一部分人执着于“回到像素空间”,希望让扩散模型直接在原始数据上完成生成。
本文要介绍的《Back to Basics: Let Denoising Generative Models Denoise》正是这一思路的新工作,它基于原始数据往往处于低维子流形这一事实,提出模型应预测数据而不是噪声,由此得到“JiT(Just image Transformers)”,显著地简化了像素空间的扩散模型架构。
信噪之比
毋庸置疑,当今扩散模型的“主力军”依然是LDM,即便是前段时间颇为热闹的RAE,也只是声称LDM的Encoder已经“过时”了,要给它换一个新的更强的Encoder,但依然没改变“先压缩后生成”这一模式。
Muon优化器指南:快速上手与关键细节
By 苏剑林 | 2025-11-19 | 16991位读者 | 引用这段时间,相信很多读者已经刷到过Muon优化器的相关消息。实际上,Muon的提出时间大致是去年的10月份,由 Keller Jordan 在推特上提出,距今也不过一年多一点。然而,就在这一年里,Muon已经经历了百亿、千亿乃至万亿参数模型的训练考验,足以表明它是一个相当有竞争力的优化器。
如今,Muon已经内置在Torch、Keras等训练框架中,就连Megatron这样的大型框架也逐渐开始支持,这意味它已经获得了业界的普遍认可。不过,对于仅熟悉Adam的读者来说,如何快速有效地切换到Muon,可能依然是一件让人困惑的事情。所以,本文试图给出一个快速上手教程。
简要介绍
Muon的正式提出者是 Keller Jordan ,目前任职于OpenAI。开头说了,Muon最早发表在推特上,而直到现在,作者也只是多写了篇博客《Muon: An optimizer for hidden layers in neural networks》而不是一篇Paper,作者的观点是“是否写成Paper,跟优化器是否有效,没有任何关系[原文]”。
AdamW的Weight RMS的渐近估计(下)
By 苏剑林 | 2025-11-17 | 7783位读者 | 引用在博客《AdamW的Weight RMS的渐近估计(上)》中,我们推导了AdamW训练出来的模型权重的RMS渐近表达式。不过,那会我们假设了Weight Decay和学习率在整个训练过程中是固定的,这跟实际训练并不完全吻合,所以这篇文章我们将之前的结论推广成动态版。
所谓动态版,即允许Weight Decay和学习率都随着训练步数的增加而变化,比如经典的Cosine Decay、WSD(Warmup Stable Decay)等,从而让结论更为通用。
步骤之一
我们的出发点还是AdamW的定义:
\begin{equation}\text{Adam}\color{skyblue}{\text{W}}:=\left\{\begin{aligned}
&\boldsymbol{m}_t = \beta_1 \boldsymbol{m}_{t-1} + \left(1 - \beta_1\right) \boldsymbol{g}_t\\
&\boldsymbol{v}_t = \beta_2 \boldsymbol{v}_{t-1} + \left(1 - \beta_2\right) \boldsymbol{g}_t^2\\
&\hat{\boldsymbol{m}}_t = \boldsymbol{m}_t\left/\left(1 - \beta_1^t\right)\right.\\
&\hat{\boldsymbol{v}}_t = \boldsymbol{v}_t\left/\left(1 - \beta_2^t\right)\right.\\
&\boldsymbol{u}_t =\hat{\boldsymbol{m}}_t\left/\left(\sqrt{\hat{\boldsymbol{v}}_t} + \epsilon\right)\right.\\
&\boldsymbol{\theta}_t = \boldsymbol{\theta}_{t-1} - \eta_t (\boldsymbol{u}_t \color{skyblue}{ + \lambda_t \boldsymbol{\theta}_{t-1}})
\end{aligned}\right.\end{equation}
n个正态随机数的最大值的渐近估计
By 苏剑林 | 2025-11-06 | 13253位读者 | 引用设$z_1,z_2,\cdots,z_n$是$n$个从标准正态分布中独立重复采样出来的随机数,由此我们可以构造出很多衍生随机变量,比如$z_1+z_2+\cdots+z_n$,它依旧服从正态分布,又比如$z_1^2+z_2^2+\cdots+z_n^2$,它服从卡方分布。这篇文章我们来关心它的最大值$z_{\max} = \max\{z_1,z_2,\cdots,z_n\}$的分布信息,尤其是它的数学期望$\mathbb{E}[z_{\max}]$。
先看结论
关于$\mathbb{E}[z_{\max}]$的基本估计结果是:
设$z_1,z_2,\cdots,z_n\sim\mathcal{N}(0,1)$,$z_{\max} = \max\{z_1,z_2,\cdots,z_n\}$,那么 \begin{equation}\mathbb{E}[z_{\max}]\sim \sqrt{2\log n}\label{eq:E-z-max}\end{equation}
流形上的最速下降:5. 对偶梯度下降
By 苏剑林 | 2025-11-03 | 14543位读者 | 引用前四篇文章我们求解了几个具体的给参数加等式约束的最速下降问题,其中第三、四篇的问题没法找到解析解,所以笔者提出了相应的不动点迭代法。其中的其中,第三篇文章《流形上的最速下降:3. Muon + Stiefel》所研究的“Stiefel流形上的Muon”,问题提出自Jeremy Bernstein的《Orthogonal manifold》一文。
对于这个问题,Jeremy Bernstein最后也给出了一个自己的解法,笔者称之为“对偶梯度下降(Dual Gradient Descent)”,也颇为值得学习一番。
基本概念
Jeremy Bernstein的解法,最后发表在Thinking Machines Lab的博客《Modular Manifolds》中,是该实验室的第二篇博客,文章中将它称为“对偶上升(Dual Ascent)”,但笔者这里还是结合前四篇的内容,将其称为“对偶梯度下降”。
低精度Attention可能存在有偏的舍入误差
By 苏剑林 | 2025-10-27 | 24975位读者 | 引用前段时间笔者在arXiv上刷到了论文《Why Low-Precision Transformer Training Fails: An Analysis on Flash Attention》,里面描述的实验现象跟我们在训练Kimi K2时出现的一些现象很吻合,比如都是第二层Attention开始出现问题。论文将其归因为低精度Attention固有的有偏误差,这个分析角度是比较出乎笔者意料的,所以饶有兴致地阅读了一番。
然而,论文的表述似乎比较让人费解——当然也有笔者本就不大熟悉低精度运算的原因。总之,经过多次向作者请教后,笔者才勉强看懂论文,遂将自己的理解记录在此,供大家参考。
结论简述
要指出的是,论文标题虽然点名了“Flash Attention”,但按照论文的描述,即便block_size取到训练长度那么大,相同的问题依然会出现,所以Flash Attention的分块计算并不是引起问题的原因,因此我们可以按照朴素的低精度Attention实现来简化分析。








最近评论