从DeepSeek R1到MiniMax-M2,当今最大、能力最强的开源权重大语言模型仍然是自回归解码器风格的Transformer,它们建立在原始多头注意力机制的变体之上。
然而,近年来我们也看到了标准大语言模型的替代方案不断涌现,从文本扩散模型到最新的线性注意力混合架构。其中一些方案旨在提高效率,另一些(如代码世界模型)则致力于提升建模性能。
几个月前,我分享了《大型大语言模型架构对比》一文,主要关注基于Transformer的主流大语言模型。之后我收到了很多问题,询问我对这些替代方法的看法。(我最近还在2025年PyTorch大会上就此做了简短演讲,并承诺与会者会后续撰写一篇关于这些替代方法的文章。)所以,这篇文章来了!

请注意,理想情况下,上图中每个主题都值得单独用一整篇文章来介绍(希望未来能实现)。因此,为了控制文章篇幅,许多章节都尽量精简。不过,我希望这篇文章仍能作为近年来涌现的所有有趣的大语言模型替代方案的入门介绍。
附注:上述PyTorch大会演讲视频将上传至官方PyTorch YouTube频道。与此同时,如果你感兴趣,可以在下方找到一个练习录制版本。
(这里也有一个YouTube版本在此。)
基于经典*注意力即一切*架构的Transformer大语言模型在文本和代码领域仍然是最先进的。如果我们仅考虑2024年底至今的一些亮点,值得注意的模型包括:
- DeepSeek V3/R1
- OLMo 2
- Gemma 3
- Mistral Small 3.1
- Llama 4
- Qwen3
- SmolLM3
- Kimi K2
- gpt-oss
- GLM-4.5
- GLM-4.6
- MiniMax-M2
等等。
(以上列表侧重于开源权重模型;还有像GPT-5、Grok 4、Gemini 2.5等专有模型也属于这一类别。)

由于我已经多次讨论和撰写过基于Transformer的大语言模型,我假设你对它们的总体概念和架构已经熟悉。如果你想要更深入的了解,我在《大型大语言模型架构对比》一文中对比了上述列出的架构(如下图所示)。
(附注:我本可以将 Qwen3-Next 和 Kimi Linear 归入概览图中的其他 Transformer-状态空间模型(SSM)混合架构中。就我个人而言,我认为这些其他 Transformer-SSM 混合模型是带有 Transformer 组件的 SSM,而这里讨论的模型(Qwen3-Next 和 Kimi Linear)则是带有 SSM 组件的 Transformer。不过,既然我已经将 IBM Granite 4.0 和 NVIDIA Nemotron Nano 2 列在了 Transformer-SSM 框中,那么也有理由将它们归入同一类别。)

如果你正在使用或开发 LLM,例如构建应用、微调模型或尝试新算法,我会推荐你优先考虑这些模型。它们经过测试、验证,且性能出色。
此外,正如《大型架构对比》一文中所讨论的,还有许多效率改进,包括分组查询注意力、滑动窗口注意力、多头潜在注意力等。
然而,如果研究人员和工程师不去尝试替代方案,那将是很无趣(且目光短浅)的。因此,接下来的部分将介绍近年来出现的一些有趣的替代方案。
在讨论“更不同”的方法之前,我们先来看看那些采用了更高效注意力机制的基于 Transformer 的 LLM。特别地,我们将重点关注那些随输入 token 数量线性扩展而非二次扩展的模型。
最近,线性注意力机制重新兴起,用于提高 LLM 的效率。
《Attention Is All You Need》论文(2017)中引入的注意力机制,即缩放点积注意力,仍然是当今 LLM 中最流行的注意力变体。除了传统的多头注意力,它还用于更高效的变体,如分组查询注意力、滑动窗口注意力和多头潜在注意力,正如我的演讲中所讨论的。
原始的注意力机制随序列长度呈二次方扩展:
\(\text{Attention}(Q, K, V) = \text{softmax}\!\left(\frac{QK^\top}{\sqrt{d}}\right)V\)
这是因为查询(Q)、键(K)和值(V)是 n×d 矩阵,其中 d 是嵌入维度(一个超参数),n 是序列长度(即 token 数量)。
(更多细节请参阅我的文章《理解并编码 LLM 中的自注意力、多头注意力、因果注意力和交叉注意力》](https://magazine.sebastianraschka.com/p/understanding-and-coding-self-attention))

线性注意力变体已经存在很长时间了,我记得在 2020 年代看到过大量相关论文。例如,我最早记得的是 2020 年的论文《Transformers are RNNs: Fast Autoregressive Transformers with Linear Attention》(https://arxiv.org/abs/2006.16236),其中研究人员对注意力机制进行了近似:
\(\text{Attention}(Q, K, V) = \text{softmax}\!\left(\frac{QK^\top}{\sqrt{d}}\right)V \approx \phi(Q)\big(\phi(K)^\top V\big)\)
这里,ϕ(·) 是一个核特征函数,设定为 ϕ(x) = elu(x)+1。
这种近似之所以高效,是因为它避免了显式计算 n×n 的注意力矩阵 QKT。
我不想在这些较早的尝试上花太多时间。但关键在于,它们将时间和内存复杂度从 O(n²) 降低到了 O(n),使得注意力机制在处理长序列时更加高效。
然而,这些方法从未真正流行起来,因为它们降低了模型精度,而且我从未见过这些变体中的任何一种被应用于开源权重的最先进大语言模型。
在今年下半年,线性注意力变体有所复兴,一些模型开发者之间也出现了一些来回的讨论,如下图所示。

第一个值得注意的模型是采用闪电注意力的 MiniMax-M1。
MiniMax-M1 是一个 456B 参数的混合专家模型,拥有 46B 活跃参数,于今年六月发布。
接着,在八月,Qwen3 团队推出了 Qwen3-Next,我在上面已经更详细地讨论过。然后,在九月,DeepSeek 团队发布了 DeepSeek V3.2。(DeepSeek V3.2 的稀疏注意力机制并非严格意义上的线性,但至少在计算成本上是次二次的,所以我认为将其与 MiniMax-M1、Qwen3-Next 和 Kimi Linear 归为同一类是合理的。)
这三个模型(MiniMax-M1、Qwen3-Next、DeepSeek V3.2)都在其大部分或全部层中,用高效的线性变体取代了传统的二次注意力变体。
有趣的是,最近出现了一个情节转折:MiniMax 团队发布了他们新的 230B 参数 M2 模型,但没有采用线性注意力,而是回归了常规注意力。该团队表示,线性注意力在生产级大语言模型中很棘手。它在常规提示下似乎运行良好,但在推理和多轮任务中精度较差,而这些任务不仅对常规聊天会话很重要,对智能体应用也是如此。
这本来可能成为一个转折点,表明线性注意力或许根本不值得追求。然而,事情变得更有趣了。十月,Kimi 团队发布了他们新的采用线性注意力的 Kimi Linear 模型。
就线性注意力这一方面而言,Qwen3-Next 和 Kimi Linear 都采用了门控 DeltaNet,我打算在接下来的几节中将其作为混合注意力架构的一个例子来讨论。
让我们从 Qwen3-Next 开始,它用门控 DeltaNet + 门控注意力 的混合机制取代了常规注意力机制,这有助于在内存使用方面实现原生 262k 令牌的上下文长度(之前的 235B-A22B 模型原生支持 32k,并通过 YaRN 缩放支持 131k)。
它们的混合机制以 3:1 的比例混合了门控 DeltaNet 块和门控注意力块,如下图所示。

如上图所示,注意力机制要么实现为门控注意力,要么实现为门控DeltaNet。这仅仅意味着该架构中的48个Transformer块(层)在这两者之间交替。具体来说,如前所述,它们以3:1的比例交替。例如,Transformer块如下所示:
──────────────────────────────────
第1层 : 线性注意力 → MoE
第2层 : 线性注意力 → MoE
第3层 : 线性注意力 → MoE
第4层 : 全注意力 → MoE
──────────────────────────────────
第5层 : 线性注意力 → MoE
第6层 : 线性注意力 → MoE
第7层 : 线性注意力 → MoE
第8层 : 全注意力 → MoE
──────────────────────────────────
...
除此之外,该架构非常标准,与Qwen3类似:

那么,什么是门控注意力和门控DeltaNet呢?
在介绍门控DeltaNet本身之前,我们先简要谈谈门控机制。如上图Qwen3-Next架构的上半部分所示,Qwen3-Next使用了“门控注意力”。这本质上是在常规的全注意力基础上增加了一个额外的Sigmoid门控。
为了便于说明,我在下面的MultiHeadAttention实现中(基于我的《从零构建大语言模型》第3章的代码)添加了这个简单的门控修改:

正如我们所见,在像往常一样计算注意力之后,模型使用来自相同输入的独立门控信号,应用Sigmoid将其保持在0和1之间,并将其与注意力输出相乘。这使得模型能够动态地放大或缩小某些特征。Qwen3-Next的开发者在这里指出,这有助于训练稳定性:
[…] 注意力输出门控机制有助于消除注意力汇聚和巨大激活等问题,确保模型在数值上的稳定性。
简而言之,门控注意力调节了标准注意力的输出。在下一节中,我们将讨论门控DeltaNet,它用循环的Delta规则记忆更新取代了注意力机制本身。
那么,什么是门控DeltaNet?门控DeltaNet(全称门控Delta网络)是Qwen3-Next的线性注意力层,旨在作为标准Softmax注意力的替代方案。如前所述,它源自《门控Delta网络:用Delta规则改进Mamba2》这篇论文。
门控DeltaNet最初是作为Mamba2的改进版本提出的,它将Mamba2的门控衰减机制与Delta规则相结合。
Mamba是一种状态空间模型(Transformer的替代方案),这是一个重要的话题,未来值得单独介绍。
Delta规则部分指的是计算新值与预测值之间的差异(delta,Δ),用于更新作为记忆状态的隐藏状态(稍后会详细说明)。
(附注:熟悉经典机器学习文献的读者可以将其理解为受生物学启发的赫布学习:“一起放电的神经元会连接在一起。”这基本上是感知机更新规则和基于梯度下降学习的前身,只是没有监督信号。)
Gated DeltaNet有一个类似于之前讨论的门控注意力中的门,不同之处在于它使用SiLU激活函数而非逻辑Sigmoid,如下图所示。(选择SiLU可能是为了改善梯度流动和稳定性,相比标准Sigmoid而言。)

然而,如上图所示,除了输出门之外,Gated DeltaNet中的“门控”还指代多个额外的门:
- α(衰减门)控制记忆随时间衰减或重置的速度,
- β(更新门)控制新输入修改状态的强度。
在代码中,上述Gated DeltaNet的简化版本(不含卷积混合)可以按如下方式实现(代码灵感来自Qwen3团队的官方实现):

(请注意,为简化起见,我省略了Qwen3-Next和Kimi Linear使用的卷积混合,以使代码更易读并聚焦于循环方面。)
因此,如上所示,它与标准(或门控)注意力有许多不同之处。
在门控注意力中,模型计算所有token之间的标准注意力(每个token关注或查看其他所有token)。然后,在得到注意力输出后,一个门(Sigmoid)决定保留该输出的多少。关键在于,它仍然是常规的缩放点积注意力,其计算复杂度随上下文长度呈二次方增长。
作为回顾,缩放点积注意力的计算方式为 softmax(QKᵀ)V,其中 Q 和 K 是 n×d 的矩阵,n 是输入token的数量,d 是嵌入维度。因此 QKᵀ 得到一个 n×n 的注意力矩阵,再乘以一个 n×d 维的值矩阵 V。

在门控DeltaNet中,不存在n×n的注意力矩阵。相反,模型会逐个处理token。它维护一个持续运行的记忆(状态),每当新token输入时,该状态就会更新。这就是代码中实现的方式,其中S是每个时间步t循环更新的状态。

而门控机制控制着记忆如何变化:
- α(alpha)控制遗忘(衰减)多少旧记忆。
- β(beta)控制当前时间步t的token更新记忆的程度。
(而最终输出门控,在上面的代码片段中没有显示,类似于门控注意力;它控制保留多少输出。)
因此,从某种意义上说,门控DeltaNet中的这种状态更新与循环神经网络(RNN)的工作方式类似。其优势在于,它随上下文长度线性扩展(通过for循环),而非二次方扩展。
这种循环状态更新的缺点是,与常规(或门控)注意力相比,它牺牲了来自完全成对注意力的全局上下文建模能力。
门控DeltaNet在一定程度上仍然可以捕捉上下文,但它必须通过记忆(S)瓶颈。该记忆是固定大小的,因此效率更高,但它会将过去的上下文压缩成单个隐藏状态,类似于RNN。
这就是为什么Qwen3-Next和Kimi Linear架构并非用DeltaNet层替换所有注意力层,而是采用前面提到的3:1比例。
在上一节中,我们讨论了DeltaNet相对于完整注意力的优势,即计算复杂度随上下文长度呈线性而非二次方增长。
除了线性计算复杂度之外,DeltaNet的另一大优势是节省内存,因为DeltaNet模块不会增加KV缓存。(有关KV缓存的更多信息,请参阅我的文章《从零理解并实现LLM中的KV缓存》)。相反,如前所述,它们保持一个固定大小的循环状态,因此内存随上下文长度保持不变。
对于常规的多头注意力(MHA)层,我们可以按如下方式计算KV缓存大小:
KV_cache_MHA ≈ batch_size × n_tokens × n_heads × d_head × 2 × bytes
(这里的乘数2是因为我们在缓存中同时存储了键和值。)
对于上面实现的简化版DeltaNet,我们有:
KV_cache_DeltaNet = batch_size × n_heads × d_head × d_head × bytes
请注意,KV_cache_DeltaNet的内存大小不依赖于上下文长度(n_tokens)。此外,我们只存储记忆状态S,而不是分开的键和值,因此2 × bytes变成了bytes。但请注意,这里现在有一个二次方的d_head × d_head。这来自于状态:
S = x.new_zeros(b, self.num_heads, self.head_dim, self.head_dim)
但这通常无需担心,因为注意力头的维度通常较小。例如,在Qwen3-Next中,该维度为128。
引入卷积混合的完整版本会稍微复杂一些,涉及卷积核大小等参数,但上述公式应能说明Gated DeltaNet的主要趋势和设计动机。

Kimi Linear与Qwen3-Next在结构上有若干相似之处。两者都采用了混合注意力策略。具体来说,它们将轻量级线性注意力与计算量更大的全注意力层相结合。特别地,两者都使用了3:1的比例,即每三个采用线性Gated DeltaNet变体的Transformer块中,就有一个块使用全注意力,如下图所示。

Gated DeltaNet是一种线性注意力变体,其灵感来源于循环神经网络,包括来自Gated Delta Networks: Improving Mamba2 with Delta Rule论文的门控机制。从某种意义上说,Gated DeltaNet是带有Mamba风格门控的DeltaNet,而DeltaNet本身是一种线性注意力机制(下一节将详细介绍)。
如上图11右上角方框所示,Kimi Linear中的MLA并未使用sigmoid门控。这种省略是故意的,以便作者能够更直接地将该架构与标准MLA进行比较。不过,他们表示计划在未来加入这一机制。
另外请注意,上图中Kimi Linear部分省略了RoPE方框,这也是有意为之。Kimi在多头潜在注意力(MLA)层(全局注意力)中应用了NoPE(无位置嵌入)。正如作者所述,这使得MLA在推理时可以作为纯多查询注意力运行,并避免了为长上下文扩展而重新调整RoPE(位置偏差据说由Kimi Delta注意力块处理)。关于MLA以及多查询注意力(它是分组查询注意力的一种特殊情况)的更多信息,请参阅我的文章大型LLM架构对比。
Kimi Linear通过Kimi Delta注意力(KDA)机制改进了Qwen3-Next的线性注意力机制,该机制本质上是Gated DeltaNet的优化版本。 Qwen3-Next使用标量门控(每个注意力头一个值)来控制记忆衰减率,而Kimi Linear则将其替换为每个特征维度的通道级门控。据作者称,这提供了对记忆更强的控制力,进而提升了长上下文推理能力。
此外,对于全注意力层,Kimi Linear 用多头潜在注意力(MLA)取代了 Qwen3-Next 的门控注意力层(本质上是带有输出门控的标准多头注意力层)。这与 DeepSeek V3/R1 使用的 MLA 机制相同(如我在《大型 LLM 架构对比》文章中所讨论的),但增加了一个额外的门控。(回顾一下,MLA 压缩了键/值空间以减少 KV 缓存大小。)
虽然没有与 Qwen3-Next 的直接对比,但与 Gated DeltaNet 论文中的 Gated DeltaNet-H1 模型(本质上是带有滑动窗口注意力的 Gated DeltaNet)相比,Kimi Linear 在保持相同 token 生成速度的同时,实现了更高的建模精度。

此外,根据 DeepSeek-V2 论文中的消融研究,当超参数经过精心选择时,MLA 与常规全注意力性能相当。
而 Kimi Linear 在长上下文和推理基准上与 MLA 相比表现更优,这使得线性注意力变体再次有望应用于更大的最先进模型。话虽如此,Kimi Linear 拥有 480 亿参数,但比 Kimi K2 小 20 倍。Kimi 团队是否会为其即将推出的 K3 模型采用这种方法,将值得关注。
线性注意力并非新概念,但近期混合方法的复兴表明,研究人员再次认真寻找使 Transformer 更高效的实际方法。例如,与常规全注意力相比,Kimi Linear 的 KV 缓存减少了 75%,解码吞吐量提升了高达 6 倍。
新一代线性注意力变体与早期尝试的不同之处在于,它们现在与标准注意力结合使用,而非完全取代它。
展望未来,我预计下一波注意力混合模型将专注于进一步提升长上下文稳定性和推理精度,从而更接近全注意力最先进水平。
与标准自回归 LLM 架构相比,一个更根本的突破是文本扩散模型家族。
你可能熟悉扩散模型,它基于 2020 年用于生成图像的《去噪扩散概率模型》论文(作为生成对抗网络的后续),后来由 Stable Diffusion 等实现、扩展并推广。

随着2022年《Diffusion‑LM改进可控文本生成》论文的发表,我们开始看到一种趋势的萌芽:研究人员开始将扩散模型应用于文本生成。而到了2025年,我已经看到大量关于文本扩散的论文。当我查看自己的论文收藏列表时,上面竟然有39个文本扩散模型!鉴于这些模型日益流行,我认为是时候来聊聊它们了。

那么,扩散模型的优势是什么?为什么研究人员将其视为传统自回归大语言模型的替代方案?
传统的基于Transformer的自回归大语言模型每次只生成一个词元。为简洁起见,我们将其简称为自回归大语言模型。而基于文本扩散的大语言模型(我们称之为“扩散大语言模型”)的主要卖点是,它们可以并行生成多个词元,而非逐个顺序生成。
请注意,扩散大语言模型仍然需要多个去噪步骤。然而,即使一个扩散模型需要,比如说,64个去噪步骤来在每个步骤并行生成所有词元,这仍然比执行2000个顺序生成步骤来生成一个2000词元的响应在计算上更高效。
扩散大语言模型中的去噪过程,类似于常规图像扩散模型中的去噪过程,如下面的GIF所示。(关键区别在于,文本扩散不是向像素添加高斯噪声,而是通过概率性地掩码词元来破坏序列。)
在这个实验中,我使用了今年早些时候发表的《大型语言扩散模型》(LLaDA)论文中的8B指令模型。

正如上面的动画所示,文本扩散过程逐步用文本词元替换[MASK]词元,从而生成答案。如果你熟悉BERT和掩码语言建模,你可以将这个扩散过程理解为BERT前向传播的迭代应用(其中BERT使用不同的掩码率)。
在架构上,扩散大语言模型通常是解码器风格的Transformer,但没有因果注意力掩码。例如,前面提到的LLaDA模型使用了Llama 3架构。我们将没有因果掩码的架构称为“双向”架构,因为它们可以同时访问所有序列元素。(请注意,这与BERT架构类似,后者出于历史原因被称为“编码器风格”。)
因此,自回归大语言模型和扩散大语言模型之间的主要区别(除了移除因果掩码之外)在于训练目标。像LLaDA这样的扩散大语言模型使用生成式扩散目标,而不是下一个词元预测目标。
在图像模型中,生成式扩散目标非常直观,因为我们拥有连续的像素空间。例如,添加高斯噪声和学习去噪在数学上是自然操作。然而,文本由离散的 token 组成,因此我们无法以相同的连续方式直接添加或移除“噪声”。
因此,这些扩散式大语言模型并非扰动像素强度,而是通过逐步随机遮蔽 token 来破坏文本——每个 token 以指定概率被替换为特殊的遮蔽 token。模型随后学习一个逆向过程,在每一步预测缺失的 token,从而有效地将序列“去噪”(或解遮蔽)回原始文本,如前文图 15 中的动画所示。
解释其背后的数学原理更适合单独写一篇教程,但大致上,我们可以将其视为 BERT 在概率最大似然框架下的扩展。
之前我提到,扩散式大语言模型的吸引力在于它们并行生成(或去噪)token,而非像常规自回归大语言模型那样顺序生成。这有可能使扩散模型比自回归大语言模型更高效。
不过,传统大语言模型的自回归特性也是其关键优势之一。纯并行解码的问题可以通过近期论文《ParallelBench:理解扩散大语言模型中并行解码的权衡》(https://arxiv.org/abs/2510.04767)中的一个绝佳例子来说明。

例如,考虑以下提示:
“选择一个随机旅行城市:纽约、新奥尔良、墨西哥城或巴拿马城?”
假设我们要求大语言模型生成两个 token 的答案。它可能首先根据条件概率 p(yt = “New” | X) 采样出 token “New”。
在下一步迭代中,它会基于之前生成的 token 进行条件化,并可能选择“York”或“Orleans”,因为条件概率
p(yt+1 = “York” | X, yt = “New”) 和 p(yt+1 = “Orleans” | X, yt = “New”)
都相对较高(因为“New”在训练集中经常与这些后续词共现)。但如果两个 token 是并行采样的,模型可能会独立选择两个概率最高的 token p(yt = “New” | X) 和 p(y{t+1} = “City” | X),从而导致“New City”这样别扭的输出。(这是因为模型缺乏自回归条件化,无法捕捉 token 之间的依赖关系。)
无论如何,以上是一个简化说明,听起来好像扩散大语言模型中完全没有条件依赖。事实并非如此。如前所述,扩散大语言模型并行预测所有 token,但这些预测通过迭代精炼(去噪)步骤实现了联合依赖。
在这里,每个扩散步骤都以整个当前含噪文本为条件。而令牌之间通过每一步中的交叉注意力和自注意力相互影响。因此,尽管所有位置同时更新,但这些更新通过共享的注意力层相互制约。
然而,如前所述,从理论上讲,当生成一个包含2000个令牌的答案时,20-60个扩散步骤可能比自回归大语言模型中的2000个推理步骤更便宜。
一个有趣的趋势是,视觉模型采用了来自大语言模型的组件,如注意力机制和Transformer架构本身,而基于文本的大语言模型则从纯视觉模型中汲取灵感,将扩散应用于文本。
就我个人而言,除了尝试过一些演示之外,我还没有使用过很多扩散模型,但我认为这是一种权衡。如果我们使用较少的扩散步骤,生成答案的速度会更快,但可能会产生质量下降的答案。如果我们增加扩散步骤以生成更好的答案,最终可能会得到一个成本与自回归模型相当的模型。
引用ParallelBench: Understanding the Trade-offs of Parallel Decoding in Diffusion LLMs论文作者的话:
[…] 我们系统地分析了[扩散大语言模型]和自回归大语言模型,揭示了:(i) [扩散大语言模型]在并行解码下,在现实场景中可能会遭受严重的质量下降,以及(ii) 当前的并行解码策略难以根据任务难度调整其并行程度,因此无法在不牺牲质量的情况下实现有意义的加速。
此外,我看到的另一个特别缺点是,扩散大语言模型无法在其链条中使用工具,因为根本没有链条。也许可以在扩散步骤之间穿插使用工具,但我认为这并非易事。(如果我错了,请指正。)
简而言之,扩散大语言模型似乎是一个值得探索的有趣方向,但就目前而言,它们可能无法取代自回归大语言模型。然而,我认为它们可以作为小型设备端大语言模型的有趣替代品,或者可能取代更小型的、经过蒸馏的自回归大语言模型。
例如,谷歌宣布正在开发一个用于文本的Gemini Diffusion模型,他们声称:
快速响应:生成内容的速度显著快于我们迄今为止最快的模型。
虽然速度更快,但其基准测试性能似乎与快速的Gemini 2.0 Flash-Lite模型持平。一旦该模型发布,用户在不同任务和领域中进行尝试,届时它的采用情况和反馈将会很有趣。

到目前为止,我们讨论了专注于提高效率以及使模型更快或更具可扩展性的方法。而这些方法通常伴随着建模性能的轻微下降。
现在,本节的话题换了一个角度,聚焦于提升建模性能(而非效率)。这种性能提升是通过教会模型“理解世界”来实现的。
世界模型传统上一直独立于语言建模发展,但2025年9月发表的《代码世界模型》论文首次使其在此语境下具有直接相关性。
理想情况下,与本文其他话题类似,世界模型本身就是一个需要专门文章(或书籍)来阐述的主题。不过,在深入探讨《代码世界模型》(CWM)论文之前,请允许我先对世界模型做一个简短介绍。
最初,世界模型背后的理念是隐式地建模结果,即在不实际发生这些结果的情况下预测接下来可能发生的事情(如下图所示)。这类似于人类大脑基于先前经验持续预测即将发生的事件。例如,当我们伸手去拿一杯咖啡或茶时,大脑已经预测了它的重量,我们甚至在触摸或拿起杯子之前就调整好了握力。

据我所知,“世界模型”这一术语是由Ha和Schmidhuber在2018年发表的同名论文《世界模型》中推广开来的,该论文使用VAE加RNN架构为强化学习智能体学习了一个内部环境模拟器。(但该术语或概念本身本质上只是指对世界或环境的概念进行建模,因此可以追溯到20世纪80年代的强化学习和机器人研究。)
说实话,直到Yann LeCun在2022年发表文章《通往自主机器智能之路》之前,我都没有关注到世界模型的新解读。那篇文章本质上是在描绘一条替代LLM的通往AI的路径。
话虽如此,世界模型论文此前一直专注于视觉领域,并涵盖了广泛的架构:从早期的基于VAE和RNN的模型,到Transformer、扩散模型,甚至Mamba层混合体。
现在,作为一个目前更关注LLM的人,《代码世界模型》论文(2025年9月30日)是第一篇完全吸引我注意力的论文(无意双关)。据我所知,这是第一个从文本到文本(更准确地说,是从代码到代码)映射的世界模型。
CWM是一个拥有320亿参数的开放权重模型,上下文窗口为131k个token。在架构上,它仍然是一个密集的仅解码器Transformer,采用滑动窗口注意力机制。此外,与其他大语言模型一样,它经历了预训练、中期训练、监督微调(SFT)和强化学习阶段,但中期训练数据引入了世界建模组件。
那么,这与普通的代码大语言模型(如Qwen3-Coder)有何不同?
像Qwen3-Coder这样的普通模型纯粹通过下一个token预测进行训练。它们学习语法和逻辑模式,以生成合理的代码补全,从而获得对编程的静态文本级理解。
相比之下,CWM学习模拟代码运行时的实际效果。它被训练用于预测执行某个操作(如修改一行代码)后产生的程序状态,例如变量的值,如下图所示。

在推理时,CWM仍然是一个自回归Transformer,一次生成一个token,就像GPT风格的模型一样。关键区别在于,这些token可以编码结构化的执行轨迹,而不是纯文本。
因此,我或许不会称其为世界模型,而是一个世界模型增强的大语言模型。
作为首次尝试,它的表现出奇地好,与同等规模的gpt-oss-20b(中等推理努力)不相上下。
如果使用测试时扩展,它的表现甚至略优于gpt-oss-120b(高推理努力),而规模却小了4倍。
请注意,它们的测试时扩展使用了基于生成单元测试的best@k程序(可以想象成一种花哨的多数投票方案)。如果能比较CWM和gpt-oss之间的每秒token数或求解时间,那将会很有趣,因为它们使用了不同的测试时扩展策略(best@k与每个推理努力使用更多token)。

你可能已经注意到,之前的所有方法仍然建立在Transformer架构之上。这最后一节的主题也是如此,但与之前讨论的模型不同,这些是专为推理设计的小型专用Transformer。
是的,以推理为中心的架构并不总是需要很大。事实上,通过层次推理模型(HRM),一种小型递归Transformer的新方法最近在研究界引起了广泛关注。

更具体地说,HRM 开发者证明,即使是极小的 Transformer 模型(仅含 4 个模块),在通过逐步优化答案的训练后,也能在特定问题上展现出令人印象深刻的推理能力。这使其在 ARC 挑战赛中拔得头筹。

像 HRM 这样的递归模型,其核心理念是:模型并非通过一次前向传播直接给出答案,而是以递归方式反复优化自身的输出。(在此过程中,每次迭代都会优化一个潜在表征,研究者将其视为模型的“思考”或“推理”过程。)
首个重要实例是今年夏天早些时候的 HRM,随后是 Mixture-of-Recursions (MoR) 论文。
而最近,Less is More: Recursive Reasoning with Tiny Networks(2025 年 10 月)提出了微型递归模型(TRM,如下图所示),这是一个更简单、更小的模型(700 万参数,约为 HRM 的 1/4),在 ARC 基准测试中表现甚至更优。

在本节剩余部分,让我们更详细地了解一下 TRM。
TRM 通过两种交替更新来优化其答案:
-
根据当前问题和答案计算潜在推理状态。
-
然后基于该潜在状态更新答案。
训练过程每批次最多进行 16 个优化步骤。每个步骤会执行若干次无梯度循环,以迭代方式优化答案。随后是一个梯度循环,通过整个推理序列反向传播,以更新模型权重。
需要指出的是,TRM 并非基于文本的语言模型。然而,由于 (a) 它采用基于 Transformer 的架构,(b) 推理能力现已成为 LLM 研究的核心焦点,而该模型代表了推理研究的一种截然不同的思路,以及 (c) 许多读者曾要求我介绍 HRM(而 TRM 是其更先进的后续版本),我决定将其纳入本文。
虽然 TRM 未来可能扩展到文本问答任务,但目前它仅处理基于网格的输入和输出。换句话说,这里的“问题”和“答案”都是离散标记的网格(例如 9×9 数独或 30×30 的 ARC/迷宫谜题),而非文本序列。
HRM 由两个小型 Transformer 模块组成(每个模块 4 个块),它们在不同递归层级之间进行通信。TRM 仅使用一个单层 2 层 Transformer。(注意,之前的 TRM 图中 Transformer 块旁边标有 4×,但这很可能是为了便于与 HRM 进行比较。)
TRM 对所有递归步骤进行反向传播,而 HRM 仅对最后几步进行反向传播。
HRM 包含一个显式的停止机制,用于决定何时停止迭代。TRM 用简单的二元交叉熵损失替代了这一机制,该损失可以学习何时停止迭代。
在性能方面,TRM 与 HRM 相比表现非常出色,如下图所示。

图 24:层次推理模型(HRM)与微型递归模型(TRM)的性能对比。
论文中包含了数量惊人的消融研究,这些研究带来了一些有趣的额外见解。以下两点让我印象深刻:
- 更少的层数能带来更好的泛化能力。从 4 层减少到 2 层,数独准确率从 79.5% 提升到了 87.4%。
- 注意力机制并非必需。用纯 MLP 层替换自注意力层也提高了准确率(从 74.7% 提升到 87.4%)。但这之所以可行,是因为上下文规模小且长度固定。
虽然 HRM 和 TRM 在这些基准测试中展现了非常好的推理性能,但将它们与大型语言模型(LLM)进行比较并不完全公平。HRM 和 TRM 是针对 ARC、数独和迷宫寻路等任务的专用模型,而 LLM 是通用模型。诚然,HRM 和 TRM 也可以适用于其他任务,但它们需要针对每个任务进行专门训练。因此,从这个意义上说,我们或许可以将 HRM 和 TRM 视为高效的袖珍计算器,而 LLM 则更像计算机,能够执行许多其他任务。
尽管如此,这些递归架构仍是令人兴奋的概念验证,它们突显了小型高效模型如何通过迭代自我优化进行“推理”。也许在未来,这类模型可以作为推理或规划模块,嵌入到更大的、使用工具的 LLM 系统中。
就目前而言,LLM 仍然是处理广泛任务的首选,但一旦目标领域被充分理解,像 TRM 这样的领域特定递归模型可以被开发出来,以更高效地解决某些问题。除了数独、迷宫寻路和 ARC 这些概念验证基准测试之外,在物理和生物学领域可能还有许多用例可以应用这类模型。
一个有趣的细节是,作者分享说,训练这个模型的成本不到 500 美元,使用了 4 块 H100 GPU 运行了大约 2 天。我很高兴看到,在没有数据中心的情况下,仍然有可能做出有趣的工作。
我原本计划在概览图中涵盖所有模型类别,但由于文章篇幅超出预期,只能将xLSTM、Liquid Foundation模型、Transformer-RNN混合体以及状态空间模型留待下次讨论(不过,Gated DeltaNet已经让我们初步领略了状态空间模型和循环设计的魅力)。
作为本文的结语,我想重申之前的观点:标准的自回归Transformer大语言模型已被验证,且经受住了时间的考验。如果效率不是首要考量因素,它们目前仍是我们的最佳选择。
传统解码器风格的自回归Transformer
- 成熟可靠的工具链
- “充分理解”的架构
- 可扩展定律
- 当前最优性能
- 训练成本高昂
- 推理成本高昂(除前述技巧外)
如果今天我要启动一个新的大语言模型项目,基于自回归Transformer的模型将是我的首选。
我确实认为即将到来的注意力混合体前景广阔,在处理长上下文且效率成为主要考量时尤其引人注目。
线性注意力混合体
- 具备解码器风格Transformer的所有优点
- 在长上下文任务中降低FLOPs/KV内存消耗
- 增加复杂性
- 以少量精度换取效率
在更极端的另一端,文本扩散模型是一项有趣的发展。我对其日常使用表现仍持保留态度,毕竟只尝试过几个快速演示。希望很快能看到谷歌Gemini Diffusion的大规模生产部署,让我们在日常任务和编程任务中测试,进而了解人们的真实感受。
文本扩散模型
- 迭代去噪为文本生成带来新思路
- 更好的并行性(无需依赖下一个token)
- 无法流式输出答案
- 无法受益于思维链?
- 工具调用存在困难?
- 模型表现扎实但未达最优
文本扩散模型的主要卖点是提升效率,而代码世界模型则处于另一个极端,旨在提升建模性能。截至目前,基于标准大语言模型的代码模型主要通过推理技术改进,但如果你在更具挑战性的任务中尝试过它们,可能会发现它们(或多或少)仍存在不足,无法很好地解决许多棘手的编程问题。
我认为代码世界模型特别有趣,相信它们可能是迈向更强大编程系统的重要一步。
代码世界模型
- 提升代码理解的有前景方法
- 可验证的中间状态
- 包含可执行代码轨迹增加了训练复杂性
- 代码运行带来延迟
最后,我们探讨了小型递归Transformer,如分层和小型推理模型。这些是非常有趣的概念验证模型。然而,截至目前,它们主要解决谜题,而非通用文本或代码模型。因此,它们与本文涵盖的其他非标准大语言模型替代方案不属于同一类别。尽管如此,它们是非常有趣的概念验证,我很高兴研究人员正在探索这些方向。
目前,像 GPT-5、DeepSeek R1、Kimi K2 这样的大语言模型都是作为专用模型开发的,用于处理自由文本、代码、数学问题等更多任务。它们给人的感觉是一种蛮力式的、万金油式的方法,被我们用于从常识问答到数学和代码的各种任务。
然而,当我们反复执行同一任务时,这种蛮力方法会变得低效,甚至在专业化方面可能并非理想之选。这正是小型递归变压器变得有趣的地方:它们可以作为轻量级、任务特定的模型,既高效又专为重复性或结构化推理任务而设计。
此外,我认为它们可以成为其他工具调用型大语言模型的潜在“工具”;例如,当大语言模型使用 Python 或计算器 API 解决数学问题时,专用的小型推理模型可以为其他类型的谜题或推理类问题填补这一空白。
小型递归变压器
+ 架构非常小巧 + 在谜题上泛化能力良好 - 专用模型 - 目前仅限于谜题
这篇文章篇幅较长,但我希望你发现了一些通常不在主流大语言模型聚光灯下的迷人方法。
如果你对或多或少传统的大语言模型发布感到有些厌倦,我希望这能帮助你重新燃起对人工智能的热情,因为现在有很多有趣的研究正在进行!
这本杂志是我个人的热情项目,你的支持能帮助它持续下去。
如果你想支持我的工作,请考虑我的《从头构建大语言模型》一书或其续作《从头构建推理模型》。(我相信你会从中收获颇丰;它们深入讲解了大语言模型的工作原理,这是你在其他地方找不到的。)
感谢阅读,也感谢你帮助支持独立研究!
如果你读了这本书并且有几分钟空闲,我将非常感激你写一篇简短的评论。这对我们作者帮助很大!
你的支持意义重大!谢谢!