智能体
mp.weixin.qq.com ·
@大模型智能
GPT-6 Astra、循环 Transformer 与隐藏的推理过程
文章翻译技术博主 Sebastian Raschka 的分析,先总结其对 GPT-6 Astra 的使用印象(称其在写作、数学、编程及 3D 渲染任务上明显强于前代,ARC-AGI-3 报告 99.9%),再解释循环 Transformer 与循环深度的概念,并讨论 Astra 是否在隐藏思维链这一传闻。文中引用 Artificial Analysis 等独立基准,指出 Astra 在编程智能体指数上领先但并非遥遥领先。
AI推荐理由 文章翻译 Sebastian Raschka 的分析,围绕 GPT-6 Astra 的初步使用观察、循环 Transformer/循环深度概念,以及“Astra 是否隐藏思维链”的传闻展开,并引用 Artificial Analysis 等独立基准数据。作者身份明确、讨论有技术框架,对理解模型架构与推理可解释性有价值;但内容为二手翻译,Astra 相关观察多为个人使用印象,隐藏思维链部分仍是待验证的传闻,需保留不确定性。
70
正文
大模型智能 2026-09-16 00:00 吉林

循环计算仍可生成文本形式的思维链

大模型智能|分享
来源 | 量子位
Astra 的提升有多少来自循环 Transformer?推理变短,又是否意味着思维链被隐藏?著名技术博主、《Build a Large Language Model (From Scratch)》的作者 Sebastian Raschka 从使用观察出发,结合多篇研究深度拆解这两个问题。以下为完整翻译,文中的“我”均指原作者。

探讨循环深度、隐藏思维链,以及关于循环使用 Transformer 块的近期研究
过去几周发生了很多事。我相信,OpenAI 的 GPT-6 Astra 眼下是大家最关心的话题。尤其是它的表现、循环 Transformer/循环深度方面的情况,以及 Astra 正在“隐藏”其推理轨迹(即思维链)的传闻。
因此,在这篇文章中,我想先简要谈谈对 Astra 的初步印象,以及对这一切未来走向的一些看法。然后,我会详细讨论什么是“循环 Transformer”,以及它与隐藏思维链有何关系(或者更准确地说,是否有关系)。
最后,在介绍完循环 Transformer 的基础知识后,我还想重点介绍近期相关研究论文中的一些新见解。
***01***
**PT-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 操作系统)充当了模型在训练期间可以与之交互的环境。
基本工作流程如下:
1. 给模型一个任务作为提示词,例如“打开应用 xyz 并执行 abc”。
2. 向它提供 macOS 界面的截图(这通常由运行框架完成)。
3. 随后,LLM 预测鼠标/键盘操作(点击、按键、滚动等)。
4. 在 Mac 上执行这些操作(同样,这由运行框架完成)。
5. 执行上一步的操作后,输入更新后的环境的新截图。
6. 重复步骤 2—5,直到任务成功或失败。
7. 使用成功/失败信号和验证器(或评分器)作为训练反馈,包括后训练阶段的强化学习;这类似于常规的可验证奖励强化学习(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 作为推理模型的相关方面(尤其是隐藏思维链的问题)。
***02***
**循环 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,再补充一下:他们的技术报告还讨论了另外两项选择或权衡。
1. 从头训练循环架构的效果,优于通过 upcycling(升级改造)来转换一个已经预训练好的 Transformer。
2. 而且,正如上一节所提到的,两轮计算达到了他们更倾向的权衡。增加轮次仅带来了少量额外收益,同时会减慢训练速度,并使优化过程更不稳定。
因此,计算轮次是我们必须做出的另一项架构选择。如前所述,在 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 亿参数模型,我们就会得出相反的结论。)
***03***
**补充说明:循环神经网络(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 中的“循环”的并排比较。
***04***
**Astra 究竟有没有使用循环 Transformer?**
在讨论循环 Transformer 机制是否像前面引用的 The Information 报道所传言的那样掩盖了推理轨迹之前,GPT-6 Astra 究竟有没有采用循环 Transformer 的概念?
图 14:The Information 报道中的引文。
我们必须记住,这仍然只是传言或独家爆料,尚未得到官方确认。当然,如果模型开放了权重,我们就可以自行核实,但在这种情况下,我们只能依赖未经证实的报道。
不过,我认为 GPT-6 Astra 很有可能使用了循环 Transformer 的某些设计。首先,有上面提到的报道。其次,这项技术在过去的研究中已展现出潜力(如前文所述),所以为什么不用呢?第三,OpenAI 的首席科学家说了下面这番话。
[……] 我们目前的前沿模型(包括 Astra)的计算图深度介于 GPT-4 的一半到两倍之间。[……]
不过,这并没有明确证实循环 Transformer 架构,也可能只是意味着他们使用了两倍数量的常规 Transformer 块。
在我看来,Astra 的成功(即良好