登录

哈佛大学Sham Kakade硬核万字演讲:LLM预训练,二次模型该站C位


速读:当大模型预训练还在靠一堆“炼丹术”般的启发式规则苦苦调参时,哈佛大学计算机科学系GordonMcKay教授、Kempner研究所联合主任ShamKakade抛出了一项反直觉的研究:一个简单到离谱的二次模型,就能精准预测大语言模型在动态预训练中的绝大部分优化效果。 ▎任意时间学习问题:算出“不设停止时间”的最优跑法。 我不打算深入技术细节,但核心结论是:即使在这样一个简单的“玩具模型”中,我们也能得到相当丰富的答案。 我们首先着眼于一个特定的简化模型,探索其能力极限,并依次探讨任意时间学习(AnytimeLearning)、批量大小缩放(BatchSizeScaling)、动量(Momentum)等问题; 我们有一个非常简单的下界(LowerBound),它针对特定的学习率设定,但我认为它能给出正确的直觉——对于任何多项式衰减的学习率调度,基本上都不存在一个真正的随时学习方案。
哈佛大学 Sham Kakade 硬核万字演讲:LLM 预训练,二次模型该站 C 位| ICML 2026

哈佛大学 Sham Kakade 硬核万字演讲:LLM 预训练,二次模型该站 C 位| ICML 2026

2026年07月23日 12:

极简二次模型,还原 LLM 预训练的本质。

    作者丨 幸丽娟

    编辑丨 岑   峰

当大模型预训练还在靠一堆“炼丹术”般的启发式规则苦苦调参时,哈佛大学计算机科学系 Gordon McKay 教授 、Kempner 研究所联合主任 Sham Kakade 抛出了一项反直觉的研究: 一个简单到离谱的二次模型,就能精准预测大语言模型在动态预训练中的绝大部分优化效果。

他在 ICML 2026 的特邀演讲《How Far Can Quadratics Take Us ? Lessons for LLM Pretraining》中,系统呈现并论证这个二次模型到底有多强大:

从推导任意时间学习的最优策略、精确算出临界批量大小与动态最优学习率,到揭示动量的真实作用边界……所有这些,都可以在这个朴素、清晰的二次框架下完成。

为什么一个如此简单的模型能做到这一切?答案指向了 同样朴素的泰勒定理 (Taylor's Theorem)。Sham Kakade 直接在真实大规模神经网络的不同 checkpoint 上做泰勒展开,构建出对应的二次模型,然后在这个二次模型上继续训练,把 损失轨迹 与 真实网络 逐点对比。

结果惊人:在 LLM 预训练的关键窗口内,两条曲线近乎完全重合。也就是说,泰勒展开中那些被忽略的高阶项,在这个区间里几乎没有任何贡献。这就意味着,真实网络的预训练动态, 在关键路径上本身就是近似二次的 。

正因如此,这个看似简单的二次模型,才能在任意时间学习、批量大小缩放、动量调优等一系列核心问题上,给出既精准又可验证的预测。它不是去拟合训练数据,而是 直接还原了预训练的本质。

以下是 Sham Kakade 在 ICML 2026 大会上发表的演讲精编稿,AI科技评论基于原英文演讲内容进行了不改原意的翻译编辑:

(注:本文包含大量基于真实高维张量、泰勒展开与动力学方程的底层推演,字数超过 10,000 字。建议预留 20 分钟沉浸式阅读,或先行收藏)

01

预训练范式为何不会消亡?

今天我要跟大家聊一聊基础模型训练。现在,大语言模型需要大量的资源来训练,包括算力、资金和时间。坦率地说,我认为大模型预训练(Pretraining)这一范式在短期内不会消亡。

首先,很大程度上是因为我们拥有的基座模型,对所有下游任务都极其重要。其次,持续学习(Continual Learning)极度困难,而且我确实认为,目前阻力最小的路径就是,当出现新数据时,直接对模型进行重新训练。不过, 这个内部循环(Inner Loop)的形态可能会随时间变化 , 有大量证据指向这一点。

“预训练”是我们构建基础模型的基本范式,我们的核心目标,便是在 计算效率、数据利用率以及训练速度上将其推向极致 , 这就是本次演讲的主题:理解我们用于基础模型训练的一些优化原理。

我们可能对其中一些非常基础的问题尤其感兴趣:比如如何判定模型训练的最优停止时机?如何确定所需的数据总规模?能否设计出一种无需事先设定停止时间、能够持续训练的方法?如何选取最优的批量大小(Batch Size)?就串行运行时间(Serial Runtime)而言,能将训练速度推向多快?动量(Momentum)如何在大规模分布式训练中发挥作用?

这一系列问题都非常基础,而我将进一步论证,一个极其简单的模型,如何能为我们提供一些相当深刻的洞见和思考。

我们首先着眼于一个特定的简化模型,探索其能力极限,并依次探讨任意时间学习(Anytime Learning)、批量大小缩放(Batch Size Scaling)、动量(Momentum)等问题;随后,我们将转向一些新的研究工作,讨论这些做法为何有效,以及用泰勒定理(Taylor's Theorem)进行验证。

这里的方法论是:与其试图去构建一个复杂的模型,因为当我们分析它并将其与实践对照时,真实的动力学远比这个复杂模型要强得多,那不如我们反过来, 尝试在一个可以精确分析的极简模型探索能力极限 , 然后看看:这个带有强分析的简单模型,是否能给我们带来任何洞见?

02

极简二次模型,蕴含的动态分析哲学

我们首先从一个特定的二次模型(Quadratic Model)开始聊。为什么?因为我们处理的平滑损失函数(Smooth Loss Functions)在局部都是二次的,而优化本质上就是在求解一系列局部二次问题。我们将尝试精确求解一个全局二次模型,并看看这对训练实践有什么启示。

我们的目标不是给出模型的上界,而是真正对正在发生的事情进行近乎精确的分析。这个模型就是线性回归(Linear Regression)——它看起来朴素简单,却具有 丰富的学习动态结构 , 能揭示很多对实践有指导意义的信息。

模型设定:这是一个在线模型。每个时间步我们观察一个样本 x_t,服从均值为零、协方差矩阵为 H 的正态分布;目标 y_t 由 x_t 的线性函数加上独立噪声构成。我们的目标是最小化超额风险(Excess Risk)——R(w) 。

为此,我们采用平方损失(Square Loss),希望通过最小化 w 来降低损失,w 就是参数估计值与最优估计值在 H 范数(H-norm)下的差值。

在线 SGD 更新规则,计算当前样本下平方损失关于参数  w  的梯度,然后以学习率(Learning Rate) ηt  为步长,沿着负梯度方向更新参数,这就是标准的随机梯度下降(SGD)更新。

我们的目标不仅是运行算法,更是精确理解这个随机过程的完整动力学(Exact Dynamics)。为此,我们需要同时追踪两个关键统计量: 均值 (Mean)和 协方差矩阵 (Covariance Matrix)。

为了理解这里的动态,我们需要掌握该过程的均值以及协方差矩阵的演化。 为了理解这里的动态,我们需要掌握该过程的均值以及协方差矩阵的演化。 均值动态:我们对 SGD 更新方程两边同时减去 w ∗,将更新改写为关于误差的递推形式。代入目标   y_t = x_t^T w  + 噪声 后,更新规则呈现为:

w_{t+1} - w* = (I - η x_t x_t^T)(w_t - w*) - η ε_t x_t

其中前面第一项是 乘性噪声 (Multiplicative Noise),因为误差被乘以了一个随机量 x_t;后面第二项是 加性噪声 (Additive Noise)。

取期望后,加性噪声消失,乘性噪声简化为 (I - ηH),均值递推为:

E[w_{t+1} -  w* ] = (I - ηH) E[w_t -  w* ]

这意味着均值动态与全批量梯度下降完全一致,只要学习率不太大,就会呈现收缩现象。

协方差动态:这里才是 SGD 与梯度下降真正不同的地方。为了完整理解这个过程,我们必须追踪完整的协方差矩阵:

Σ_t = E[(w_t - w* )(w_t - w* )^T]

我们对误差递推方程取外积(即乘以自身的转置),展开各项,然后取期望,得到协方差矩阵的递推表达式。其中出现了关键项——四阶矩(Fourth Moment): E[x_t x_t^T Σ_t x_t x_t^T](详见上图标红公式)。

在高斯假设下,四阶矩可用伊辛-维克定理(Isserlis' Theorem / Wick's Theorem) 化简,得到 H Σ_t H 和 tr(HΣ_t) · H 两项,其中 tr(HΣ_t) 恰恰就是超额风险。代入协方差更新规则后,得到一个规模庞大但形式简洁的递推式。

有效噪声结构:合并同类项后,有效噪声由两部分组成:

噪声底限 (Noise Floor):η²σ²H,源于标签噪声,无法消除;

自生噪声 (Self-generated Noise):η²E[R(w_t)]H,基于当前误差,随收敛而消失。

这意味着:噪声沿着曲率方向分布,而非各向同性。在训练早期误差大时,自生噪声也强;随着模型收敛,它逐渐减弱。

总结来说,这个看似简单的动态系统包含一个均值递推(与梯度下降一致)和一个协方差递推(庞大但形式简洁)。其形式虽简洁,耦合关系却使得分析变得复杂。过去十年中,大量工作试图精确理解这一过程,而我们正是站在这个基础上向前推进。

在某种意义上,我们先将这个二次模型视为一个 " 稻草人模型"(Straw Man) ——看看它的预测是否经得起实践的检验,或者我们能否推翻它。接下来,我们将通过一系列简短研究(Vignettes) 来探讨它在若干实际问题上的表现。

03

二次模型对哪些预训练优化问题有指导作用?

▎ 任意时间学习问 题: 算出“不设停止时间”的最优跑法

第一个问题,是关于任意时间学习(Anytime Learning)的一个非常基础的问题。这是与一群非常出色的合作者共同完成的工作,其中 Alex Meterez 也在现场,大家可以向他提问。

现在我们来看大语言模型预训练(LLM Pretraining)场景下的任意时间学习问题。图中展示了多条不同的学习曲线,横轴为已处理的 Token 数量,纵轴为验证损失(Validation Loss)。每条曲线对应不同的 Chinchilla 倍数,例如 32 倍(32×)对应的模型规模大约是 1.5 亿参数,在图中以深黑色曲线表示,其损失沿训练过程的变化一目了然。我们可以看到每条曲线的形态都不同。

这里的关键在于计算效率(Compute Efficiency)——即训练模型所消耗的浮点运算量(FLOPs)。如果我们在训练中途取一个中间检查点(Intermediate Checkpoint),那么对于该时刻对应的 Token 数而言,这个模型的性能是非常差的。举个例子:假设我们在训练一个 2 倍 Chinchilla 规模的模型,如果在 1 倍 Chinchilla 的位置提前停止,并评估其损失,会发现它远不如从一开始就为 1 倍 Chinchilla 直接训练的模型。

造成这一现象的原因在于,我们采用了余弦衰减(Cosine Decay)作为学习率调度(Learning Rate Schedule),而该调度是基于预设的停止时间来设定的。这意味着, 虽然模型在预设的停止点能达到一个较低的损失值,但在中途的任意时间点,其损失表现都比较差 。 更糟糕的是,如果我们后续获得了更多数据,想要继续训练,我们就卡住了,因为学习率已经衰减到了零。那我们该如何解决这个问题?

因此,关于随时学习(Anytime Learning),一个很自然的问题便是:如果我们能在训练过程中获得更多数据,是否可以在继续训练的同时不损失计算效率?

同样重要的是,当我们花费数月时间训练一个模型时,我们希望能随时取出一个中间检查点(Intermediate Checkpoint),并准确评估其在当前时刻的真实表现。然而在现有框架下,如果我们中途取出这样一个检查点,其损失往往很差,并不能反映我们在该时间点实际能达到的最佳性能。那么,我们该如何为一个未知的“停止时间”(Stopping Time)来设计训练策略呢?

我们的目标是什么?我们设定了一个相当严格的条件:能否在不预先知道停止时间的情况下,始终匹配一条特定的包络线(Envelope)?所谓余弦包络线,就是在余弦衰减调度下,对于任意给定的停止时间,我们所能达到的最佳损失轨迹。图中我已将这些最佳点连成一条包络线。我们希望找到一个单一的训练过程,能够在每一个时间点上都与这条包络线相匹配。

这是一个非常强的要求,但也具有明确的现实意义:如果我们获得了更多数据,就可以继续训练而无需重新开始;同时,在训练过程中,我们可以随时评估模型,并确信在那一刻它的表现是接近最优的。然而正如你所见,当前的实际轨迹与包络线之间存在巨大的差距。所以,问题已经很清晰了:我们要去匹配那条包络线。

显然,现实中的模型非常复杂——它是一个 Transformer,以某种复杂的方式被训练。但我们不妨回到我们的“玩具模型”,也就是二次模型,问一问:在这个模型里,我们对这个问题有什么认识?这个问题在那里是否更容易解决?

第一个结论是: 即使在简单的二次模型中,任意时间学习本质上也是困难的 , 即使在二维中也很难。 我们有一个非常简单的下界(Lower Bound),它针对特定的学习率设定,但我认为它能给出正确的直觉——对于任何多项式衰减的学习率调度,基本上都不存在一个真正的随时学习方案。也就是说,如果你希望模型在任意时间点都达到最优,在很多时间点上,你总会与最优结果差出一个条件数(Condition Number)的因子。

直观上可以这样理解:在一维情形下,正确的衰减方式是 1/√ t ;但在二维情形下,存在两个不同的时间尺度,你希望学习率同时按这两个尺度衰减,但这是不可能的。在高维中,这种复杂性只会进一步加剧。

从大量已有工作中我们知道,在有限维度中,任意时间学习的最优速率为  dσ² / n ,而达到这一速率的最简单方法可能是使用恒定学习率加平均,这是一个能在任意时间点都达到最优速率的方案。如果我们不使用平均,我们也知道,在预先知道停止时间的情况下,可以得到接近最优的结果。但关键在于,无论有限维还是无限维,我们在没有平均的情况下要达到最优,都严重依赖于知道停止时间。

这就是表格中第一列所展示的内容:当知道停止时间时,方案并不是任意时间方案;没有平均时我们可以接近最优;但如果我们加入平均,恒定学习率加平均在无限维中同样适用——只是情况更加微妙。我们可以进一步扩展这一视角,表明基于过程的特定衰减条件,1/√ t  加上平均同样可以实现随时最优。所以这个问题相当微妙。

我不打算深入技术细节,但核心结论是:即使在这样一个简单的“玩具模型”中,我们也能得到相当丰富的答案。 我们看到,在没有平均的情况下很难做到任意时间最优; 在知道停止时间的情况下我们可以接近最优 ; 同时,我们也找到了一个候选的任意时间最优过程。

当然,这只是一个非常简单的二次模型,那么 平均(Averaging) 的方法,为什么能在如此复杂的神经网络中起作用呢?我们能否用 1/ t  这样的衰减策略来替代余弦衰减?能否真正匹配那条包络线?我们认真对待了这些问题,并进行了尝试。

我认为一个重要的背景是:人们在实践中确实经常使用平均策略,但他们通常是在已知停止时间的情况下进行的。而我们进一步深究的问题是: 在不预先知道停止时间的情况下,平均策略能否真正起作用,并匹配包络线? 结果,它基本做到了。

图中红色星号标出的是余弦衰减曲线,该模型在 32 倍 Chinchilla 规模下训练,我们绘制了其对应的包络线。而恒定学习率加平均,以及 1/√ t  加平均,均为单次运行(Single Run)的结果。这里我们评估的不是当前迭代点(Iterate),而是某个窗口内的移动平均(Running Average)。

具体而言,我们使用的是 指数移动平均(EMA ) ,本质上是对一段窗口内的迭代点进行平均。这一操作易于实现,且不带来显著的计算开销。更重要的是,它确实直接贴合在包络线上,而且这一贴合覆盖了长达 30 倍 Chinchilla 的范围。在论文中,我们将结果进一步放大,并展示了相应的后悔值(Regret)。

我认为这相当令人印象深刻:在 30 倍的范围内,在这样一个非凸问题上,它却实实在在地直接落在包络线上。值得注意的细节是,我们用于平均的窗口大约占整个训练运行的 5%。随着训练持续,窗口也随之拉长——如果窗口太短,效果会变差;如果太长,曲线则会向上弯曲。我们惊讶地发现,即便是这样一个较大的窗口,依然能产生稳健的平均效果。

我了解到,一些基础模型公司已经在使用某种形式的平均策略,但也有些公司并未采用。我认为,通过严格调优所有相关参数,我们实现的这个基准是相当扎实的,并且成功地匹配了包络线。这再次与简单的二次模型给出的预测一致。

论文中还提到了另一种相关方案,叫做 “ 预热稳定衰减”(Warmup Stable Decay) ,它同样能命中包络线,但它并不算是真正的任意时间学习方案,因为它需要使用相当多的额外样本来重新训练。而我们的方案则不同——只是一个单一过程、一次运行,就贴合在包络线上。

因此,实践中的启示是:通过某种形式的 尾部平均(Tail Averaging) ,我们确实能够在每一个Horizon上(至少在相当宽的范围上)匹配这条包络线。我认为这是一个相当可靠的实践结论,而且它与理论预测高度一致。它真正地告诉我们: 我们不必在训练开始前就强行设定一个停止时间,因此,当后续获得更多数据时,我们可以无缝地继续训练。 另一个有趣的发现是,这种平均策略似乎在约占 Token 总数 5% 的窗口上,也依旧有效。

▎ 批量大小与串行时间:精算“并行提速”的极限

下一个问题是:我们的训练任务什么时候停止? 我们也有与许多才华横溢的合作者完成的一系列工作,我想特别强了一些更为年轻的成员。

这个问题本质上是: 当我们按模型规模进行扩展时,批量大小(Batch Size)应该如何随之变化 。 在实践中,我们通常依赖一些可预测的缩放规律(Scaling Laws),例如损失如何随已处理的 Token数量或所投入的计算量而变化。那么,一个很自然的问题是:串行运行时间(Serial Runtime)——即训练任务从开始到完成所需的实际时间——是如何随模型规模和Token数量而扩展的?因为我们显然不希望训练任务持续数个月之久,我们希望能够尽快完成。因此,理解串行运行时间的缩放规律至 关 重要。

而这个问题实际上可以归结为另一个更基本的问题:临界批量大小(Critical Batch Size) 是如何随规模变化的。临界批量大小是并行化中最自然的一个概念——它决定了我们能够在多大程度上通过增加并行度来缩短串行运行时间。接下来,我将带领大家通过这张图来深入理解这个问题。

那么,问题来了: 在不损失计算效率的前提下,我们究竟能将串行运行时间缩短到多短?  这里的“计算效率”指的是,我们选定一个目标损失,达到该目标损失所需的总浮点运算量(Total FLOPs),而我们希望在任务完成得更快的同时,不增加总浮点运算量。换句话说,在给定目标精度下,我们能多快完成任务? 这本质上就是批量大小的缩放问题。

先看线性缩放区域(Linear Scaling Regime)。图中横轴表示批量大小,纵轴表示在该批量大小下达到特定目标损失所需的更新步数(Steps)。我们期望的理想情况是:批量大小翻倍时,步数减半。如果这一关系成立,那么总浮点运算量保持不变,而串行运行时间减半——因为我们可以利用并行化来加速。在线性缩放区域中,随着我们持续翻倍批量大小并相应减少步数,这一线性关系能在一定范围内保持成立。

然而,最终这条蓝色曲线会逐渐偏离完美的线性缩放区域。我们将临界批量大小(Critical Batch Size) 定义为曲线开始显著偏离(例如计算效率变差 20% 左右)时的批量大小。这是一个严格的标准,因为我们始终希望保持总浮点运算量不变。 临界批量大小,本质上就是完美缩放关系失效的临界点 。

那么,这里的关键问题是:临界批量大小如何随 Token 数量的增加而变化?又如何随模型规模的增大而变化? 随着我们不断增大模型规模、使用越来越多的训练数据,这些因素究竟会如何影响我们的串行运行时间?

我们如何回答这些问题?让我们回到我们的“玩具模型”——二次模型,看看它会给出什么样的预测。

我们尝试精确分析该模型的动态过程,并理解其含义。当我们将批量大小纳入模型时,修改精确动态并不复杂——忽略不等式(实际上它是只差一个常数),均值动态并不随批量大小变化,但有效方差(Effective Variance)会按因子  B  缩小。现在我们需要理解的是,当规模扩大时,如何刻画这些动态。需要特别强调的是,要真正精确理解这一过程,即使最终我们只关心损失值,我们也必须追踪误差在完整协方差矩阵中的传递——如果不追踪整个系统,就无法精确地得到结果。这就是我们的目标。

理论会怎么说?这个问题既微妙又有趣。我们 先固定模型规模,问:临界批量大小如何随 Token 数的变化而缩放?

我们的预测是:在有限维设定下,随着 Token 数的增加, 临界批量大小最终将趋于一个与 Token 数无关的常数 。 直觉是这样的:如果你在训练一开始就使用非常大的批量,实际上并没有什么好处——因为当参数离最优解还很远时,我们为什么要把梯度估计得那么精确呢? 在远离最优解的区域,使用过大的批量只是在浪费样本 。 当然,如果完全不考虑计算效率,无限大的批量总是好的;但当我们关心计算效率时,如果随着样本数增加而不断增大批量大小,本质上就是在训练初期浪费了大量样本——因为那时候根本不需要那么精确的梯度。

然而,微妙之处在于,在无限维设定下,上述结论不再成立。我认为我们实际所处的实践区间更接近无限维设定,因为我们的模型规模通常与 Token 数同量级,甚至更大——这正是 Chinchilla 缩放规律所表明的。因此,在无限维设定下,根据谱(Spectrum)的具体条件,临界批量大小实际上会随 Token 数按某个小于 1 的幂次缩放。

直觉上可以从偏差-方差权衡(Bias-Variance Tradeoff) 来理解:对于更长的训练运行,实际上希望使用更大的批量大小。

在无限维情形下,当我们采用平均策略并设定学习率时,特定的偏差-方差权衡会使得: 运行越长,你越倾向于使用更小的学习率 。 这主要归因于过程中复杂的乘性噪声结构。进一步说,由于这种偏差-方差权衡,在非常长的运行中,你实际上会把初始学习率设为停止时间的函数;类似地,你也希望把批量大小设为停止时间的函数。因此,这是一个具体的、可验证的预测:我们预期,至少在高维情形下,临界批量大小会随Token数的增加而缩放。

那么,我们对临界批量大小如何随模型规模缩放的预测是什么?这是模型规模缩放的问题。在这里,我们不完全依赖二次理论,而是借助一组关于平均场渐近(Mean Field Asymptotics) 的结果。这一系列工作表明,在特定的缩放条件下,当取某个平均场极限时,训练动态会收敛到一个定义良好的渐近极限——而该极限不是模型规模  d  的函数,因为随着我们缩放模型规模,极限行为本身并不依赖它。因此, 平均场推理给出的结论是:临界批量大小不应该依赖于模型规模  d 。

当然,实际上我并不认为我们真的处于那种所有训练动态都收敛的平均场极限——但那也并非必要条件。看起来,某些标量量(而非完整的高维学习动态)可能在整体极限还未达到之前就已经进入了平台期,例如学习率迁移(Learning Rate Transfer) 现象似乎确实成立。从理论角度看,临界批量大小很可能在训练动态的整体极限到达之前,就已经稳定在某一个极限值附近,这似乎是合理的。

因此,从理论预测来看,我们的结论是:第一,临界批量大小与Token数之间存在强缩放关系——运行越长,你应当使用越大的批量;第二,临界批量大小与模型规模之间的缩放关系较弱。

主题:模型|二次模型|LLM预训练|真实|泰勒展开|二次模型该站C位