Astra 的提升有多少来自循环 Transformer?推理变短,又是否意味着思维链被隐藏?著名技术博主、《Build a Large Language Model (From Scratch)》的作者 Sebastian Raschka 从使用观察出发,结合多篇研究深度拆解这两个问题。以下为完整翻译,文中的“我”均指原作者。
探讨循环深度、隐藏思维链,以及关于循环使用 Transformer 块的近期研究
过去几周发生了很多事。我相信,OpenAI 的 GPT-6 Astra 眼下是大家最关心的话题。尤其是它的表现、循环 Transformer/循环深度方面的情况,以及 Astra 正在“隐藏”其推理轨迹(即思维链)的传闻。
因此,在这篇文章中,我想先简要谈谈对 Astra 的初步印象,以及对这一切未来走向的一些看法。然后,我会详细讨论什么是“循环 Transformer”,以及它与隐藏思维链有何关系(或者更准确地说,是否有关系)。
最后,在介绍完循环 Transformer 的基础知识后,我还想重点介绍近期相关研究论文中的一些新见解。
1. 对 GPT-6 Astra 的初步印象
先说首要的事。在深入讨论架构传闻和相关研究文献之前,让我先简要总结一些关于 GPT-6 Astra 的观察和零散信息。
上周,OpenAI 的新模型 GPT-6 Astra 在大张旗鼓的宣传中发布了。过去几天我使用了它,这是一个格外出色的模型,很可能是截至撰写本文时我用过的最好的模型。但它究竟改进了什么,又是如何改进的?
▌1.1 Astra 基准测试
Astra 是我迄今用过的最好的模型,而且它在 3D 渲染和动画任务上的表现尤为突出(相对于其他模型而言)。我的意思是,虽然它在几乎所有类别(写作、数学、编程等)上都大幅超越了前代 GPT-5.6,但在图形演示方面尤其如此。
我们也能从基准测试中看到这一点。例如,如下图所示,GPT-6 Astra 在数学和编程方面确实很出色。
图 1:选取的三项热门编程基准测试和一项具有挑战性的数学基准测试。更多测试结果见 Astra 发布博客。
其中一个亮点(图中未展示)是,Astra 在 ARC-AGI-3 基准测试中也取得了 99.9% 的成绩(GPT-5.6 Sol 仅为 7.8%),该基准测试综合衡量逻辑谜题求解和泛化能力。不过,数学、编程和计算机使用基准测试更有意思,因为它们更接近现实世界的使用场景。
回到 Artificial Analysis Coding Agent Index v1.4(上一张图的右下角),该指数综合了多项智能体编程任务,GPT-6 Astra 显然处于最前沿,但并没有遥遥领先。下方展示的综合性 Artificial Analysis Intelligence Index 也反映了这一点,该指数综合了不同类型的任务,而不仅仅是编程任务。
图 2:Artificial Analysis Intelligence Index。
Artificial Analysis 基准测试的一大优势在于其独立性,因此可能比模型开发者自行评估的基准测试更值得信赖一些。
运行框架(harness)的配置因基准测试而异。例如,GDPval-AA 和 AA-Briefcase 在对比不同 LLM 时,统一使用其开源、极简的 Stirrup 运行框架。在上方展示的 Intelligence Index v4.2 中,Terminal-Bench v2.1 使用 Terminus 2,τ³-Banking 使用 τ-Bench 运行框架。单独的 Coding Agent Index 还会比较不同的编程智能体运行框架。
对于使用同一运行框架的评估,这使比较更接近同等条件下的比较。与此同时,在模型训练过程中,开发通常会围绕一个主要运行框架展开(针对其他运行框架的微调则较少)。此外,主要运行框架通常也会被开发成适合并放大模型优势的形式。
因此,一些智能体评估可能低估了 Astra 在其主要运行框架中的表现。这在多大程度上影响了它的 Intelligence Index 得分,需要通过让 Astra 在不同运行框架下执行相同任务来比较测试。
顺便说一句,正如一位同事最近向我建议的那样(Claude Code 的负责人也提出过同样的建议),删除(或归档)现有 AGENTS.md 中的部分内容以及部分 SKILL.md 文件,或许不失为一个好主意,因为较新的 LLM 在理解提示词和解决当前问题方面已经变得更加高效。额外的手把手指导可能会对较新的模型施加不必要的限制,导致更差的解决方案。
当然,我并不是建议从此不再使用 SKILL.md 文件;对于某些工作流,它们可以在重复使用时提高效率,因为模型不必重新摸索这些流程。但我的建议是,有些工作流不需要描述,而“旧的”描述可能已不再理想,LLM 或许能够想出更好的解决方案。因此,也许是时候更新或重新生成这些指令文件了。
▌1.2 计算机使用能力
GPT-6 Astra 在图像和渲染任务方面似乎格外强大。当这些任务涉及与图形用户界面交互时,它们也展示了计算机使用能力,也就是说,模型通过 Codex/ChatGPT 应用操作你本地计算机上的软件。
与其他模型相比,计算机使用是这个模型真正大放异彩的领域,而任何与图形有关的内容也都能在社交媒体平台上形成有趣且直观的演示。令人印象深刻的演示案例有很多,从在 Blender 中对纽约市进行建模和渲染,到虚拟看房参观,不一而足。
举一个例子,下方的对比展示了我让 GPT-6 Astra Medium 和 High 使用我计算机上的鼠标,在浏览器版 MS Paint 中重新绘制我的一张照片(没有用 Extra High 和 Max,因为我不想把所有 token 都耗光 :))。
视频预览:GPT-6 Astra Medium 和 High 在 Paint 中重新绘制一幅肖像。
这不仅展示了模型的艺术能力,更重要的是,展示了它使用计算机上工具的能力(这里是 Paint;你可以看到模型通过鼠标光标操作界面)。
这并不是第一个能够在运行框架中执行通用计算机操作的模型。例如,从今年早些时候起,我就已经成功使用 GPT 模型完成一些 UI 任务(例如,在 Excel 中处理与费用相关的任务)等。不过,计算机使用是一项由运行框架支持的相对较新的能力,通常感觉还不够成熟。这也合乎情理。LLM 是文本模型,因此更容易实现的自然是写作、编程,以及使用 API 和 CLI。
与此同时,许多工具和软件(尚未)提供 CLI,与其等别人设计出这样的接口,为什么不改进模型,让它们能够使用图形用户界面呢(而且,如前所述,这样无论如何都能做出漂亮且令人印象深刻的演示)?这有点类似于正在兴起的人形机器人发展。诚然,人形机器人并不是效率最高的机器人,例如,在已有专用机器的装配线上就是如此。但它们用途广泛。
因此,我预计接下来的几个月(或几年)也将是 LLM 层和智能体运行框架层不断完善计算机使用能力的时期。也就是说,除了现有能力,以及扩展数学和编程能力之外,模型训练将越来越多地考虑计算机使用。这也将让科技圈之外的人更容易使用 LLM 来完成日常计算机任务(“嘿,ChatGPT,请帮我做纳税申报” :))。
▌1.3 计算机使用训练
计算机使用这一趋势,也与近期关于 OpenAI 购买了数万台 Mac Mini 和 Mac Studio 用于强化学习的报道相吻合。因此,这里的 Mac 并不是用于实际执行模型训练计算(这件事用 GPU 更合适),而是在模型训练期间提供 macOS,让模型学习使用这个操作系统及其中的工具。
那么,在这些 Mac 上的计算机使用训练是如何进行的呢?简而言之,Mac(准确地说,是其 macOS 操作系统)充当了模型在训练期间可以与之交互的环境。
基本工作流程如下:
-
给模型一个任务作为提示词,例如“打开应用 xyz 并执行 abc”。 -
向它提供 macOS 界面的截图(这通常由运行框架完成)。 -
随后,LLM 预测鼠标/键盘操作(点击、按键、滚动等)。 -
在 Mac 上执行这些操作(同样,这由运行框架完成)。 -
执行上一步的操作后,输入更新后的环境的新截图。 -
重复步骤 2—5,直到任务成功或失败。 -
使用成功/失败信号和验证器(或评分器)作为训练反馈,包括后训练阶段的强化学习;这类似于常规的可验证奖励强化学习(RLVR)。
图 3:计算机使用训练工作流程概览。
再次强调,这里的 Mac 主要充当环境,并不是训练期间运行或更新模型的机器。模型很可能运行在 NVIDIA GPU 上,并通过 API 与上述 Mac 对接。顺便一提,NVIDIA 的首席执行官曾提到,GPT-6 Astra 当时正在约 100,000 块 Grace Blackwell GPU 上进行训练。
▌1.4 GPT-6 Astra 仍然是一个推理模型
上一节讨论的对计算机使用训练的侧重,并不意味着训练流程发生了根本性的范式转变。GPT-6 Astra(以及在可预见的未来,很可能任何 LLM)仍然是一个推理模型。这意味着该 LLM 通过可验证奖励强化学习(RLVR)进行训练,并生成中间推理轨迹(思维链)。
不过,我会在本文稍后讨论 GPT-6 Astra 作为推理模型的相关方面(尤其是隐藏思维链的问题)。
2. 循环 Transformer
话虽如此,在模型正式发布前约两天,新闻杂志 The Information 发表了一篇文章,报道称,根据一些内部消息,Astra 正在使用一种名为“循环深度”或“循环 Transformer”的概念。
图 4:The Information 报道中的引文。
由于 LLM 架构既是我的专业领域,也是我的热情所在,我制作了一段简短的讲解视频,解释循环 Transformer 的一般机制,并回应了关于隐藏推理链的说法,你可以在下方观看。
视频预览:讲解循环 Transformer 以及有关隐藏推理的说法。
在接下来的小节中,我会先解释什么是循环 Transformer,并在本文稍后重新讨论关于隐藏思维链的说法。
(关于循环 Transformer 的解释可能显得有些长,但我确实认为,这有助于建立对这项技术的基础理解,进而有助于判断它会掩盖推理轨迹或思维链这一说法。)
▌2.1 复用 Transformer 块
那么,什么是循环 Transformer?
循环 Transformer 本质上是一种架构调整,其核心思想是让中间表示多次通过同一组 Transformer 块(而不是只通过一次)。与单纯增加更多块相比,这里的“诀窍”在于,这些重复处理过程使用的权重保持不变。
定义与术语
在本文中,我会使用以下术语:
-
Transformer 块是一个包含注意力、前馈模块、归一化和捷径连接的单元。这些块在论文中通常被称为“Transformer 层”。 -
堆栈是一系列依次排列的 Transformer 块。 -
一次块应用是指让输入通过一个 Transformer 块一次。
循环 Transformer 并不是什么新事物,其基本思想早在 2018 年的 Universal Transformers 论文中就已出现。不过,在讨论 Universal Transformer 之前,让我们先从一个更简单的例子开始:Nanbeige4.2-3B。这是一个最近于 7 月发布的开放权重 LLM,今年夏天早些时候,我曾在 Substack Notes 和我的 LLM Architecture Gallery 中介绍过它。
下图所示的 Nanbeige 架构,看起来基本上与常规 Transformer 一样。不过,请注意,它多了一条(橙色)箭头,循环返回到 Transformer 堆栈的起点。
图 5:Nanbeige4.2-3B 将由 22 个 Transformer 块组成的同一个堆栈应用两次。橙色箭头显示了中间表示被传回堆栈的位置。
让我们自下而上地梳理一下。首先,与任何其他基于 Transformer 的大语言模型一样,输入文本会被切分为 token,并转换为嵌入向量。随后,这些向量会经过 22 个 Transformer 块,而这 22 个块各自都有自己的权重。
不过,这里的循环 Transformer 特性在于:完成第一轮计算后,隐藏状态会被送回同样的 22 个块,再经过一遍。因此,会再次应用块 1,接着是块 2,依此类推,直到块 22。
如果将这一计算过程展开,我们就会得到 44 次 Transformer 块应用。不过,与具有 44 个不同块的常规 Transformer 相比,第二组 22 次块应用复用了第一组的权重。例如,第 23 次块应用使用块 1 的权重,第 24 次块应用使用块 2 的权重,依此类推。
图 6:将 Nanbeige4.2-3B 展开为两轮经过相同 22 个 Transformer 块的计算,共计 44 次块应用。
因此,这里的整体思路是:在不增加另一套 Transformer 权重的情况下,将有效深度从 22 次块应用增加到 44 次。
顺便说一下,为什么是 2 轮,而不是 3 轮、4 轮或更多?Nanbeige 论文没有给出太多细节,但他们表示,这基本上是效率最高的配置。将循环次数从 2 次增加到 3 次可以提升建模性能,但额外的计算成本并不划算。
▌2.2 循环的成本
那么,总体而言,我们为什么要采用这种循环方式呢?它本质上是另一种选择,可以替代通过增加更多 Transformer 块来单纯扩大模型的做法。
例如,一个将 22 个 Transformer 块使用两次的模型,其(Transformer 块中的)参数量大约只有一个包含 44 个常规块的模型的一半。
这样就能减少存储权重所需的内存。顺带提醒一下,嵌入层和输出层不在这一比较范围内,它们通常很大,并且占总参数量的相当一部分。(对于 Nanbeige 4.2 3B,嵌入层和输出层约占总计 30 亿参数的 25%;如果这两层共享权重,我们可以将这一比例降至 12.5%。)
图 7:并排比较传统方案与循环方案所需的参数量。
当然,在循环中复用相同的块仍然需要计算。更准确地说,在前向传播过程中,我们会让中间输入经过 44 次块应用。而在训练期间,梯度会反向流经共享块堆栈的两次重复计算。因此,与仅使用一次这 22 个块相比,这会增加大量工作。实际上,其计算成本与使用 44 个不同的块相近(区别在于优化器需要更新的不同参数更少;反向传播仍然要经过全部 44 次块应用)。
此外,还有 KV 缓存。在常规 Transformer 和循环 Transformer 中,它会存储此前 token 的注意力键和值,以便在每一步生成下一个 token 时复用。顺便说一下,我在这里有一篇专门介绍 KV 缓存的文章,或许对你有用:
从零开始理解并编写大语言模型中的 KV 缓存
不过,还是回到主题。尽管循环 Transformer 共享权重,但在第二轮计算中,进入某个块的中间状态是不同的。因此,在 KV 缓存中,这两组 Transformer 块产生的键和值也不同(就像不使用循环的情况一样)。所以,在 KV 缓存方面也没有任何节省。
举个更具体的例子,考虑第 1 次和第 23 次块应用:在循环 Transformer 配置中,这两次应用都使用块 1。但每次应用仍然需要各自的 KV 缓存条目。因此,由于我们必须为两轮计算分别保留缓存,重复使用这组 22 个块所需的 KV 缓存,与具有 44 个不同块的常规 Transformer 相同。
有意思的是,Nanbeige 的研究人员在论文中报告说,他们尝试过在不同轮次之间共享 KV 缓存。这当然使 KV 缓存的大小减半,但模型的表现比使用独立缓存的版本更差(他们发布的就是使用独立缓存的版本)。
在继续介绍其他循环 Transformer 设计之前,为了完整讨论 Nanbeige,再补充一下:他们的技术报告还讨论了另外两项选择或权衡。
-
从头训练循环架构的效果,优于通过 upcycling(升级改造)来转换一个已经预训练好的 Transformer。 -
而且,正如上一节所提到的,两轮计算达到了他们更倾向的权衡。增加轮次仅带来了少量额外收益,同时会减慢训练速度,并使优化过程更不稳定。
因此,计算轮次是我们必须做出的另一项架构选择。如前所述,在 Nanbeige 中,这一数值固定为两轮。但我们也可以让它取决于 token,接下来就会看到这种做法。
▌2.3 Universal Transformer 与灵活的循环次数
现在,让我们回到 Universal Transformer。在 Nanbeige 中,我们会将一组 22 个 Transformer 块应用两次。而在 2018 年的 Universal Transformer 论文中,我们反复应用的是同一个 Transformer 块,而不是重复应用一组 Transformer 块。不过,主要思路是相似的。
此外,步数可以是固定的,但论文也探索了自适应停止。例如,某个位置上的 token 可能只经过一两次循环。另一个 token 则可能经过三四次循环,依此类推。这让模型能够灵活地将算力分配给那些能从额外计算中受益的 token。
循环次数是如何确定的呢?这里,模型使用一个经过训练的小型函数,在每一步为每个位置输出一个所谓的停止概率。它会将连续几次循环中的这些概率累加起来,一旦总和超过某个阈值,就停止在相应位置继续循环。此外,还会设置最大循环次数,以防万一,对计算量加以限制。
图 8:Universal Transformer 中的自适应停止。
循环 Transformer 的另一个例子是字节跳动的 Ouro,我也在自己的《大语言模型架构图鉴》中介绍过它。例如,Ouro-Thinking 2.6B 会将同一组 48 个 Transformer 块应用四次。这意味着,在只存储 48 个不同块的权重的同时,执行 192 次块应用。基本上,这比 Nanbeige 更为极端。此外,一个通过学习得到的退出门控会为不同的退出点分配概率,并通过累计概率的阈值确定由哪一轮计算提供输出。因此,它也借鉴了 Universal Transformer 的自适应停止思路,而 Nanbeige 没有采用这一思路。(不过,这里有一个实际使用中的注意点。已发布的 Hugging Face 实现会先计算所有配置的轮次,再选择输出,因此循环次数实际上似乎被硬编码为 4 次。)
▌2.4 通过路由实现灵活的循环次数
另一种方法是 2025 年的一篇论文提出的 Mixture-of-Recursions,它本质上是前面讨论的 Universal Transformer 的一个更复杂版本。与 Universal Transformer 类似,各个 token 会一次或多次经过 Transformer 块,如下图所示。不过,它的创新之处在于如何为每个 token 分别确定循环次数。
在下面这张来自论文的图中,循环(重复)使用的块堆栈被称为递归块。它包含若干个 Transformer 块,位于独立的首个和末个 Transformer 块之间(分别标为 Layer 0 和 Layer L-1)。
图 9:Mixture-of-Recursions 在不同的 token 位置上,以不同次数应用共享的块堆栈。高亮文本展示了分别经过 1、2 或 3 轮计算的示例。此图改编自 Mixture-of-Recursions 论文。
模型如何决定一个 token 应该经过递归块多少次?在前面讨论的 Universal Transformer 中,这取决于每一步通过学习得到的停止概率。而这里的 Mixture-of-Recursion 方法使用一个通过学习得到的小型路由器。这与混合专家模型中的路由思路类似,只不过这里的路由决策决定的是应用共享块堆栈的次数。
路由器基于 token 的隐藏表示进行运算,而这一表示也包含其上下文信息。因此,我们不应认为它会为某个特定 token 的每次出现都分配相同的计算轮次(也就是说,上图中的单词“People”并不总是经过 3 次循环)。这一决策会随该词出现的位置以及它之前的内容而变化。
那么,路由究竟是如何工作的呢?论文探索了两种做出这种路由决策的方式,如下图所示。
图 10:选择递归深度的两种方式。左侧,路由器在每一步选择哪些 token 继续计算。右侧,单个路由器在开始时分配计算轮次。此图来自 Mixture-of-Recursions 论文。
在上图左侧子图所示的专家选择路由中,每个递归步骤都会选择它要处理的 token。已退出的 token 会被排除在后续步骤之外。在右侧所示的 token 选择路由中,路由器在开始时做出一次决策,将每个 token 分配到经过一轮、两轮或三轮计算的路径。
在这两种情况下,Transformer 权重都会在不同轮次之间复用,与 Nanbeige 等模型类似。但额外的灵活性来自对每个 token 所获计算量的选择。模型及其路由器会一起训练,因此模型会在训练过程中学会使用这些不同的路径。
▌2.5 这种方法效果如何?
下面这张来自 Mixture-of-Recursions 论文的图,比较了常规 Transformer(Vanilla)、采用固定递归的 Transformer(Recursive)和 Mixture-of-Recursions(MoR)在不同模型规模和计算预算(横轴)下的表现。
图 11:四种模型规模和三种训练计算预算下的验证损失。此图来自 Mixture-of-Recursions 论文。
在最小的模型规模下,常规 Transformer 表现最好。对于较大的模型,Mixture-of-Recursions 追平了常规 Transformer,而且往往表现得更好,尤其是在训练预算较少时。在最高预算下,几条曲线非常接近。因此,这种优势取决于模型规模以及我们在训练上投入的计算量。
这里还有一个细节:相同的训练计算量不一定意味着相同的训练 token 数量。通过跳过部分计算,Mixture-of-Recursions 可以在相同预算内处理更多 token。
我认为这是一个有意思的例子,因为它表明,在循环 Transformer 这一思路内部,也存在多种选择,即每个位置要循环多少次,以及如何做出这一决定。
因此,简而言之,我们可以说,如果模型足够大,使用循环 Transformer 可以在固定计算预算下提升模型质量。(这也说明了开展一些大规模实验的重要性;例如,如果只看较小的 1.35 亿参数模型,我们就会得出相反的结论。)
3. 补充说明:循环神经网络(RNN)
顺便说一下,如果你有深度学习背景(甚至接触过 20 世纪 90 年代的人工神经网络),那么循环或“循环深度”这一思路应该会让你觉得有些熟悉。还记得循环神经网络(RNN)吗?RNN 的整个思路就是复用前一次迭代中的层(权重)。
图 12:RNN 示意图(出自我于 2022 年出版的《使用 PyTorch 和 Scikit-Learn 进行机器学习》一书)
主要区别在于,RNN 跨时间步复用权重。也就是说,隐藏状态会从一个 token 传递到下一个 token。而在循环 Transformer 中,一个 token 的循环发生在架构深度维度上。
换句话说,在常规 RNN 中,每一步都会接收输入序列中的下一个元素,以及上一步的隐藏状态。因此,当 RNN 处理一段文本时,它每次读取一个词或 token,并通过隐藏状态将此前词语的信息向后传递。
在循环 Transformer 中,给定 token 的中间表示会多次通过 Transformer 堆栈。模型仍然使用注意力机制在 token 之间传递信息。
如果这个类比有点令人困惑,不必太在意。理解循环 Transformer 的一种或许更简单的方式,是将其看作重复使用 Transformer 块,类似于在共享权重的情况下让模型变得更大。
图 13:RNN 和循环 Transformer 中的“循环”的并排比较。
4. Astra 究竟有没有使用循环 Transformer?
在讨论循环 Transformer 机制是否像前面引用的 The Information 报道所传言的那样掩盖了推理轨迹之前,GPT-6 Astra 究竟有没有采用循环 Transformer 的概念?
图 14:The Information 报道中的引文。
我们必须记住,这仍然只是传言或独家爆料,尚未得到官方确认。当然,如果模型开放了权重,我们就可以自行核实,但在这种情况下,我们只能依赖未经证实的报道。
不过,我认为 GPT-6 Astra 很有可能使用了循环 Transformer 的某些设计。首先,有上面提到的报道。其次,这项技术在过去的研究中已展现出潜力(如前文所述),所以为什么不用呢?第三,OpenAI 的首席科学家说了下面这番话。
不过,这并没有明确证实循环 Transformer 架构,也可能只是意味着他们使用了两倍数量的常规 Transformer 块。
在我看来,Astra 的成功(即良好的建模表现)很可能主要归功于其他原因,也就是改进后的训练方案和训练数据。
循环 Transformer 这一调整可能有些帮助,但我认为 The Information 高估了它的贡献。
5. 隐藏思维链
接下来,我们终于要讨论那个无法回避的问题了:循环 Transformer 是否会掩盖推理轨迹?
首先,反正 OpenAI 从一开始,也就是从 OpenAI o1 起,就一直对用户隐藏(大部分)推理轨迹。因此,对最终用户来说,应该不会有太大区别。
所以,对可解释性的担忧主要涉及模型开发者。
无论如何,我不认为循环 Transformer 是隐藏或掩盖思维链的重要因素。为了解释我自己的推理过程(无意双关),让我们退一步,解释一下推理模型是如何工作的。
▌5.1 推理简介
推理模型通常会先生成中间步骤,再给出最终答案。这些步骤使用常规文本 token(某些用户界面可以选择对用户隐藏这些 token),被称为推理轨迹或思维链。
例如,假设我们要求找出两个数,它们的和为 10,积为 21。在下图中,模型最初尝试了 5 和 5。虽然和是正确的,但积是 25,而不是 21。接着,它尝试了 3 和 7,并再次检查这两个条件。
图 15:一个示例性的大语言模型回答,其中标注了中间步骤、回溯和最终答案。
这张图展示了推理模型如何进行“推理”,包括回溯。也就是说,模型发现错误后,会重新审视先前的选择,然后换一种方法继续。
请注意,模型仍然一次生成一个 token,并将提示词和此前的 token 作为上下文。因此,这些中间步骤起到了草稿纸的作用,在最终答案之前增加了计算量。
这样一来,最终答案就可以比此前的推理轨迹短得多,如上面的示例所示。(OpenAI 往往会对用户隐藏大部分推理轨迹。)
有关理解和开发推理模型的更多细节,我推荐我的书《从零构建推理模型》。
图 16:我的书《从零构建推理模型》涵盖了推理模型的基础知识。
▌5.2 Token 用量与更短的思维链
推理轨迹中额外的 token 会增加计算量。循环 Transformer 也会增加计算量,因为 token 会经过更多 Transformer 块。有人可能会认为,带有循环的模型在内部进行了更多计算,因此不需要那么多外部思考 token。
下面选取了一些 GPT-6 基准测试,横轴为输出 token 数量。
图 17:选自 GPT-6 Astra 发布博客的基准测试结果。
我们可以看到,总体而言,在各个推理投入级别上,GPT-6 Astra 使用的 token 并不一定比它的上一代 GPT-5.6 Sol 更少。不过,在准确率固定的情况下,GPT-6 Astra 使用的 token 确实比 GPT-5.6 Sol 更少。
这会引发可解释性方面的担忧吗?不一定。使用更少的 token 可能只是意味着模型能力更强、犯错更少、回溯更少,等等。也就是说,它可能只是在第一次尝试时就能把更多事情做对。对我来说,这并不会立即引发对可解释性的担忧。
我的意思是,以前的模型也是如此。我不认为有人会强烈担忧 GPT-5.6 Sol 的可解释性远不如规模更小的 GPT-5.6 Luna 模型;如下图所示,后者为了达到相同的任务表现,会使用多得多的 token。
图 18:Luna 和 Sol 在相近任务表现水平下的 token 用量。数据来自 Artificial Intelligence Index v4.3。
事实上,我们可以看到,在建模表现相近的情况下,Luna 使用的 token 比 Sol 多 80%。这会使 Sol 的可解释性差那么多吗?(译注:原文写作“多 80%”,但图 18 标注的是 41k 与 8k,按图中数值约为 5.1 倍。)
这里更合理的答案是,能力更强的模型(规模更大、训练充分、使用更多计算量的模型)能够更高效地解决问题,这里的“高效”指的是使用更少的 token。
还需要记住,推理轨迹并不保证能忠实描述模型内部发生的一切。在我看来,唯一成立的担忧是:循环 Transformer 是否比常规 Transformer 更频繁地呈现“虚假”的推理轨迹,有意误导用户。但我不认为我们有任何有力证据表明这种情况正在发生。
Astra 的系统卡确实指出,也有证据表明其推理轨迹的可监控性有所下降,相较于 Sol 出现了一点退步。这主要与轨迹更短、提供的信息更少有关。但同样,这并不能证明循环是根本原因。这可能只是总体长度更短导致的,类似于上面 Luna 与 Sol 的例子。
在我分享了自己对循环 Transformer 与隐藏推理链之间关系的看法几小时后,Jakub Pachocki(OpenAI 首席科学家)也作出了如下澄清:
这里的“混乱的报道”很可能指的就是前面提到的 The Information 那段文字,暗示循环这一设计与思维链的变化并没有关系。
6. 循环 Transformer 研究
最后,除了我们已经讨论过的论文,我还想分享一些与循环 Transformer 架构相关的有趣论文。
▌6.1 潜空间推理(Latent Reasoning)
与 Universal Transformer 相关,2025 年的论文《通过潜空间推理扩展测试时计算量:一种循环深度方法》研究了模型如何在推理时使用额外的循环。为此,研究人员用 8000 亿个 token 训练了一个具有 35 亿参数的模型,其规模相对适中,但也不算特别小。
它没有像 Universal Transformer 那样反复重用同一个块,而是像 Nanbeige 一样重复使用一个堆栈;不过,与 Nanbeige 不同,它将这个由四个块组成的共享堆栈夹在 2 个初始块和 2 个最终块之间。
另外,与 Nanbeige 不同的是,在每次循环开始时,共享堆栈除了接收上一次循环的隐藏状态,还会接收初始块的输出。两者经过拼接,再通过一个学习得到的线性投影,之后才进入四个共享块。你可以将其理解为,让这个堆栈在每一轮处理时都能访问同一份初始输入表示。下图概括了整个布局。
所以,简而言之,这是另一种有趣的循环 Transformer 变体。
图 19:Geiping 等人的潜空间推理模型的概念性概述。
一个有趣的细节是,研究人员在训练过程中会改变循环次数。这让模型能够在推理时适应不同的计算量。
这里,在训练期间,循环次数通过随机采样确定。在推理时,由运行模型的人选择固定的预算,例如 8、32 或 64 次循环。此外,他们还为每个 token 设置了基于下一个 token 概率分布的自适应停止机制。如果连续 2 轮之间的 KL 散度低于某个阈值,也就是说,如果这些分布过于相似,就停止循环。
总体收益取决于任务。在他们的评估中,HellaSwag 上的表现大约在八次循环后基本趋于平稳,而 GSM8K 和 HumanEval 则会受益于更多循环。
不过,虽然论文标题提到了“潜空间推理”,但该模型仍然可以生成文本形式的思维链。循环只是让它在输出每个 token 之前进行额外的计算。
▌6.2 知识检索与推理
存储信息与使用信息解决问题之间有一个值得区分的差别。例如,2025 年 6 月的论文《超越参数:探索缩放定律中的虚拟逻辑深度》通过分别测量大语言模型的记忆和推理来研究这一问题。
首先,在记忆实验中,当参数数量保持不变时,循环几乎不会改变存储的信息量。增加不同参数的数量确实会提高这一容量。由此,我们可以得出结论:循环不会增加知识,也不会让模型检索到更多知识。这是合理的。一旦信息被存储,信息检索就是一项相对简单的任务。而且,循环本身是一种计算机制,而不是“存储”机制。
其次,在单独的推理实验中,重用这些块可以在不增加参数的情况下,改善模型在多步骤数学问题上的表现。这很有意思。在这里,我们可以得出结论:即使模型没有更多空间来存储信息,额外的计算也能帮助它解决问题。但同样,更大的模型也能改善推理能力(尽管它们也增加了参数)。
图 20:在这项记忆测试中,容量随参数数量增长,但增加块的应用次数几乎不会改变容量。此图改编并标注自 Zhu 等人。
▌6.3 在相同计算预算下进行循环
2026 年 9 月刚刚发布的论文《SMELT:计算量匹配的 MoE 循环 Transformer 的缩放定律》重新探讨了第 2.2 节中的成本比较。如果我们在每个 token 的计算量、非嵌入参数总量和 KV 缓存需求大致相同的条件下,比较循环 Transformer 和常规 Transformer,会发生什么?
研究人员使用混合专家架构,将位于中间、占总数一半的 Transformer 块应用两次,有点类似于 Nanbeige,不过采用了潜空间推理中的夹层布局。
不过,他们缩小了隐藏维度,以补偿额外应用这些块所需的计算量。然后,由于这会减少参数量,他们又增加了专家,以恢复总参数量。他们还调整了注意力头配置,使 KV 缓存保持在相近的水平。
图 21: 根据 SMELT 第 3.2 节给出的示例绘制的 SMELT 概览。
实验规模扩大到了 540 亿非嵌入参数等。随后,研究人员根据拟合的缩放曲线估算,在所研究的计算量范围内,SMELT 达到相同验证损失所需的训练计算量约减少 6.8%–18%。
因此,这回答了循环 Transformer 在计算上是否值得的问题:是的!在使用相同计算预算时,它们能给我们带来略好一些的模型。
▌6.4 全带宽 Transformer
最后,同样是近期发表的、2026 年 8 月的《全带宽 Transformer》论文研究了跨token位置的循环机制。在每个解码步骤中,它通过一个学习得到的门控,将前一个token的最终隐藏状态与新采样token的嵌入相结合。这就成为下一次前向传播的输入。
因此,下一个token的计算从堆栈底部就能访问前一个token的最终表示,这与潜空间推理有些相似。
在使用一个 10 亿参数的基础模型时,他们发现,其潜空间反馈方法在 MATH500 上输出的推理轨迹更短,同时保持或提高了准确率。不过,这种缩短效果在指令微调后消失了。
图 22: 潜空间反馈缩短了基础模型的推理轨迹,但这种效果在指令微调后消失了。改编自 Wang 等人的图 6,采用 CC BY 4.0 许可。添加了定义和注意事项。
无论如何,这很有意思,因为它直接联系到了前面关于循环是否会带来更短推理轨迹的讨论。当然,结果既取决于反馈机制,也取决于模型的训练方式。此外,该实验并未确定这些更短的推理轨迹是否更不忠实。
此外,这项研究的一个重大局限在于,他们没有测试通过常规方式增大模型规模(增加更多 Transformer 块,而不是循环使用块)是否会对推理轨迹长度产生类似影响。
结论
总结起来,我们可以说,是的,OpenAI GPT-6 Astra 是一个非常强大的模型。而且,它在计算机使用方面取得了尤其大的飞跃。我认为,在接下来的几个月里,计算机使用将成为开源和专有智能体运行框架的下一个重点领域。在计算机使用方面,我觉得开源尤为重要,因为“能力越大,责任越大”,而且,在让运行框架访问我的主力计算机之前,能够对它进行审计是一件好事。
此外,GPT-6 Astra 很可能使用了循环 Transformer 的某种变体。循环 Transformer 就是能在固定计算预算下提供更好的建模性能。
此外,更好的建模性能可能会使推理链缩短。但这并不是一个新趋势。我们一直都能在包含不同规模模型的同一模型家族中看到这种现象(例如 GPT-5.6 Luna 与 Sol)。
在我看来,更短的推理轨迹是模型变得更“聪明”或能力更强所带来的副作用:它们犯的错误更少,也能在自身架构内部调用更多计算资源,而不是把推理轨迹当作草稿纸。从某种意义上说,人类也是如此。在大学线下数学考试中,一个聪明且准备充分的学生很可能需要更少地使用草稿纸,回过头来重新推算的次数也更少,等等。
感谢你阅读并支持我的工作!
如果你想学习如何亲手构建推理模型,可以看看我的书《从零构建推理模型》(Build a Reasoning Model (From Scratch))。我们从一个预训练的大语言模型开始,逐步为其添加推理能力,并提供你可以运行和实验的代码。这个过程既有趣又有成就感,而且,打好基础以跟上 AI 领域的发展,也是对未来的自己的一项良好投资。
另外,如果你读过我的某一本书,我会很感谢你在 Amazon 上留下一条简短、诚实的评价。评价能帮助其他读者判断一本书是否适合自己,也是支持作者的一种简单方式。
图 23:我的《从零构建推理模型》(Build a Reasoning Model (From Scratch))一书中的部分插图,涵盖推理时扩展、蒸馏和强化学习。
参考链接
-
原文:https://magazine.sebastianraschka.com/p/gpt-6-astra-looped-transformers-and -
https://openai.com/index/gpt-6-astra/:https://openai.com/index/gpt-6-astra/ -
ARC-AGI-3 benchmark:https://arcprize.org/arc-agi/3 -
Artificial Analysis Coding Agent Index v1.4:https://artificialanalysis.ai/agents/coding-agents -
Artificial Analysis Intelligence Index:https://artificialanalysis.ai/evaluations/artificial-analysis-intelligence-index -
harness setup depends on the benchmark:https://artificialanalysis.ai/methodology/intelligence-benchmarking -
Stirrup:https://github.com/ArtificialAnalysis/Stirrup -
rendering New York City in blender:https://x.com/higgsfield_ai/status/2096495974734794840?s=20 -
virtual open house tours:https://x.com/Dimillian/status/2095596700815516004?s=20 -
browser version of MS Paint:https://jspaint.app/ -
recent reporting:https://finance.yahoo.com/technology/ai/articles/apple-suddenly-ai-infrastructure-stock-130223938.html -
NVIDIA’s CEO mentioned:https://x.com/JensenHuang/status/2096700264569090384?s=20 -
article:https://www.theinformation.com/articles/secret-technique-behind-openais-astra-model-sparks-security-concerns -
https://www.theinformation.com/articles/secret-technique-behind-openais-astra-model-sparks-security-concerns:https://www.theinformation.com/articles/secret-technique-behind-openais-astra-model-sparks-security-concerns -
Universal Transformers:https://arxiv.org/abs/1807.03819 -
Nanbeige4.2-3B:https://arxiv.org/abs/2607.22083 -
Notes:https://substack.com/@rasbt/note/c-302083551 -
LLM Architecture Gallery:https://www.sebastianraschka.com/llm-architecture-gallery/looped-depth-sharing/ -
Understanding and Coding the KV Cache in LLMs from Scratch:https://magazine.sebastianraschka.com/p/coding-the-kv-cache-in-llms -
technical report:https://arxiv.org/html/2607.22083v1 -
Ouro:https://arxiv.org/abs/2510.25741 -
LLM Architecture Gallery:https://sebastianraschka.com/llm-architecture-gallery/looped-depth-sharing/ -
Hugging Face implementation:https://huggingface.co/ByteDance/Ouro-2.6B-Thinking/blob/main/modeling_ouro.py -
Mixture-of-Recursions:https://arxiv.org/abs/2507.10524 -
Mixture-of-Recursions paper:https://arxiv.org/abs/2507.10524 -
https://amzn.to/3YzRnPR:https://amzn.to/3YzRnPR -
said the following:https://x.com/merettm/status/2095023204993490967?s=20 -
Build a Reasoning Model From Scratch:https://amzn.to/4aAKiFY -
GPT-6 benchmarks:https://openai.com/index/gpt-6-astra/ -
Artificial Intelligence Index v4.3:https://artificialanalysis.ai/ -
not guaranteed to faithfully describe:https://arxiv.org/abs/2305.04388 -
my thoughts:https://x.com/rasbt/status/2095141254958858496?s=20 -
shared the following clarification:https://x.com/merettm/status/2095023204993490967?s=20 -
Scaling up Test-Time Compute with Latent Reasoning: A Recurrent Depth Approach:https://arxiv.org/abs/2502.05171 -
Geiping et al.:https://arxiv.org/abs/2502.05171 -
Beyond Parameters: Exploring Virtual Logic Depth for Scaling Laws:https://arxiv.org/abs/2506.18233 -
Zhu et al.:https://arxiv.org/html/2506.18233v3 -
SMELT: Scaling Laws for Compute-Matched MoE Looped Transformers:https://arxiv.org/abs/2609.01343 -
SMELT, section 3.2:https://arxiv.org/html/2609.01343v1 -
Full-bandwidth transformer:https://arxiv.org/abs/2608.08888 -
Wang et al., Figure 6:https://arxiv.org/html/2608.08888v1 -
CC BY 4.0:https://creativecommons.org/licenses/by/4.0/ -
Build a Reasoning Model (From Scratch):https://amzn.to/4aAKiFY

