ARTICLE SIGNAL

GPT-6 Astra深度解析:循环Transformer与思维链之谜

深入解读GPT-6 Astra核心架构,探讨循环Transformer是否隐藏了AI思维链,解析其惊艳的计算机操作能力,并提供ChatGPT国内如何使用、ChatGPT镜像站及官方中文版的高效体验指南。

type
status
date
slug
summary
tags
category
icon
password
网址
过去两周里,「循环深度」这个词变成了 AI 安全讨论的焦点。
起因是 OpenAI 新旗舰模型 GPT-6 Astra 发布前两天,The Information 援引内部消息称,Astra 用上了一种叫recurrent depth(循环深度)、也就是looped transformer(循环 Transformer)的设计,而这种设计「会让模型的部分乃至全部推理过程变得不可见」。
模型正式上线后,争议进一步升温,OpenAI 首席科学家 Jakub Pachocki 亲自出面澄清,说他想避免「一场由混乱的报道引发的、奔向不可监控性的竞赛」,并强调包括 Astra 在内的当前前沿模型,其计算图深度与 GPT-4 的差距仍在两倍以内。
在一片语焉不详的转述中,著名技术博主、《Build a Large Language Model (From Scratch)》的作者 Sebastian Raschka 写了一篇长文,把技术细节摊开讲了一遍。
他先给出自己使用 Astra 的观察,包括它在 3D 渲染和图形任务上不成比例的领先、通过 Codex/ChatGPT 应用直接操作本地软件的能力,以及 OpenAI 采购数万台 Mac 作为强化学习环境背后的训练逻辑。随后他从 2018 年的 Universal Transformer 讲起,一路梳理到今年的开放权重模型 Nanbeige4.2-3B、字节跳动的 Ouro 和谷歌的 Mixture-of-Recursions……
而对于最受关注的那个问题,他给出了否定回答。在他看来,循环 Transformer 并不是思维链变短、变得难以监控的原因,更合理的解释是能力更强的模型犯错更少、回溯更少,因此不需要那么长的草稿纸——GPT-5.6 家族里 Luna 比 Sol 多用 80% 的 token 才达到相近性能,没有人因此说 Sol 的可解释性更差。Astra 系统卡确实承认推理轨迹的可监控性出现了退步,但没有证据表明可以把这笔账记在循环架构头上。文章最后还介绍了几项新研究。
以下是博客全文:
博客地址:https://magazine.sebastianraschka.com/p/gpt-6-astra-looped-transformers-and
过去几周发生了很多事。我相信眼下大家最关心的,还是 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;发布博客:https://openai.com/index/gpt-6-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,来自 https://artificialanalysis.ai
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 在图像和渲染任务上似乎格外强。当这类任务涉及与图形用户界面交互时,它们同时也展示出了计算机操作(computer use)能力,也就是模型通过 Codex/ChatGPT 应用来操作你本地电脑上的软件。
计算机操作正是这个模型相比其他模型真正出彩的地方。而且任何和图形相关的东西,在社交平台上都很容易做出有趣又直观的演示。网上这类令人印象深刻的例子非常多,从用 Blender 建模渲染纽约市,到虚拟看房导览。
举个例子。下面是一组对比:我让 GPT-6 Astra Medium 和 High 在浏览器版的 MS Paint 里,用我电脑上的鼠标重画一张我的照片(没用 Extra High 和 Max,因为我不想把 token 全耗光 :))。
这不仅体现了模型的绘画能力,更重要的是体现了它使用你电脑上工具的能力(这里是画图程序,你可以看到模型通过鼠标指针在操作界面)。
这并不是第一个在框架内具备通用计算机操作能力的模型。比如从今年早些时候起,我就成功用 GPT 模型完成过一些 UI 任务,例如 Excel 里的报销相关工作等等。不过,计算机操作仍是一项相对较新的能力,它由框架提供支持,用起来通常感觉还不够成熟。这也说得通:LLM 本质上是文本模型,所以最容易摘的果子自然是写作、编程以及调用 API 和 CLI。
与此同时,还有很多工具和软件(暂时)没有提供 CLI。与其等着谁来设计这个接口,不如直接提升模型使用图形界面的能力(而且如前所述,这本来也能做出漂亮又惊艳的演示)。这在某种程度上类似于当下人形机器人的发展。诚然,在流水线这类已有专用机器的场景里,人形机器人并不是效率最高的选择。但它们胜在通用。
因此我预计,接下来几个月甚至几年,也会是计算机操作能力在 LLM 和智能体框架这两个层面持续打磨的时期。也就是说,除了当前已有的能力、以及在数学和编程上的继续拓展之外,模型的训练会越来越多地把计算机操作考虑进去。这也会让 LLM 对科技圈之外的日常电脑任务更加友好。
1.3 计算机操作能力是怎么训练的
计算机操作这一趋势,也与近期的报道相吻合:OpenAI 采购了数万台 Mac Mini 和 Mac Studio 用于强化学习。这里的 Mac 并不是真的拿来训练模型(那还是用 GPU 更合适),而是在模型训练期间提供 macOS 环境,让模型学会使用这套操作系统以及其中的工具。
那么,在这些 Mac 上的计算机操作训练具体是怎么运作的?简单说,这些 Mac(准确地说是它们的 macOS 系统)充当模型在训练过程中可以交互的环境。
基本流程如下:
图 3:计算机操作训练流程概览。
再强调一次,这里的Mac 主要是环境,而不是训练期间运行或更新模型的机器。模型很可能跑在英伟达 GPU 上,通过 API 与这些 Mac 通信。顺带一提,英伟达 CEO 提到,GPT-6 Astra 是在约 10 万块 Grace Blackwell GPU 上训练的。
1.4 GPT-6 Astra 仍然是一个推理模型
上一节讲的对计算机操作训练的侧重,并不意味着训练流程发生了根本性的范式转变。GPT-6 Astra(以及可预见的未来里几乎所有 LLM)仍然是推理模型。也就是说,这类 LLM 用可验证奖励强化学习(RLVR)来训练,并会生成中间的推理轨迹,也就是思维链。
不过关于 GPT-6 Astra 作为推理模型的部分,尤其是隐藏思维链的问题,我会在本文稍后再展开。
  1. 循环 Transformer
话说回来,在模型正式发布前大约两天,新闻媒体 The Information 发表了一篇报道称,根据内部消息,Astra 用上了一种叫「循环深度」(recurrent depth)或者「循环 Transformer」(looped transformers)的概念。
图 4:来自 The Information 的引述(来源:https://www.theinformation.com/articles/secret-technique-behind-openais-astra-model-sparks-security-concerns)
在接下来的几个小节里,我会先解释什么是循环 Transformer,关于隐藏思维链的说法留到本文后面再谈。
(循环 Transformer 这部分讲解可能显得有点长,但我真心认为,它有助于建立对这项技术的基础理解。有了这层理解,我们才能判断「它会遮蔽推理轨迹或思维链」这个说法到底站不站得住脚。)
2.1 复用 Transformer 块
那么,什么是循环 Transformer?
循环 Transformer 本质上是一种架构上的微调,核心思路是让中间表示多次通过同一批 Transformer 块,而不是只过一次。相比单纯堆更多的块,这里的「诀窍」在于:在这些遍历过程中,权重是保持不变的。
定义与术语
本文中我会使用以下几个术语:
• Transformer 块(transformer block)是包含注意力、前馈模块、归一化和捷径连接的一个单元。论文里常把这些块称为「Transformer 层」。 • 栈(stack)指一串 Transformer 块组成的序列。 • 一次块应用(block application)指让输入过一遍某个 Transformer 块。
循环 Transformer 并不新鲜,其基本思路早在 2018 年的 Universal Transformers 论文中就出现过。不过在讨论 Universal Transformer 之前,我们先从一个更简单的例子说起:Nanbeige4.2-3B。这是 7 月发布的一个开放权重 LLM,今年夏天早些时候我在 Substack Notes 和我的 LLM 架构画廊里都介绍过。
下图展示的Nanbeige架构,基本上看起来就是个常规 Transformer。但请注意,它多了一条橙色箭头,绕回到 Transformer 栈的开头。
图 5:Nanbeige4.2-3B 把同一组 22 个 Transformer 块应用了两次。橙色箭头标出了中间表示被送回栈中的位置。
我们自下而上走一遍。首先,和其他任何基于 Transformer 的 LLM 一样,输入文本先被 token 化,再转换成嵌入向量。这些向量随后通过 22 个 Transformer 块,而每个块都有自己的一套权重。
循环 Transformer 的特点在于:第一遍走完之后,隐藏状态会被送回这同样的 22 个块再过一遍。于是块 1 被再次应用,接着是块 2,一直到块 22。
如果把这个计算过程展开,就相当于 44 次块应用。但与拥有 44 个独立块的常规 Transformer 不同,第二轮这 22 次块应用复用的是第一轮的权重。比如第 23 次块应用用的是块 1 的权重,第 24 次用的是块 2 的权重,依此类推。
图 6:Nanbeige4.2-3B 展开后,相当于让输入两次通过同样的 22 个 Transformer 块,共计 44 次块应用。
所以整个思路就是:把有效深度从 22 次块应用提升到 44 次,而不必新增一套 Transformer 权重。
顺带一问:为什么是 2 轮,而不是 3 轮、4 轮或者更多?Nanbeige 论文里细节不多,但他们表示这基本上就是效率最高的配置。把循环次数从 2 增加到 3 确实能提升建模性能,但额外的计算开销并不划算。
2.2 循环的成本
那么,我们为什么要做这种循环?说到底,它是「靠堆更多 Transformer 块把模型做大」之外的另一种选择。
举例来说,一个把 22 个 Transformer 块用两次的模型,其 Transformer 块的参数量大约只有拥有 44 个常规块的模型的一半。
这样一来,存储权重所需的内存就减少了。补充一句:嵌入层和输出层通常很大,在总参数中占相当比例,但它们不在这项比较范围内。(以 Nanbeige 4.2 3B 为例,嵌入层和输出层约占 3B 总参数的 25%;如果让这两层共享权重,这个比例可以降到 12.5%。)
图 7:传统方案与循环方案所需参数量的并排对比。
当然,在循环中复用同样的块仍然是要算的。更准确地说,前向传播时中间输入要走完 44 次块应用。而在训练时,梯度要反向流经共享栈的这两轮重复。所以相比只用一次这 22 个块,这会带来大量额外工作。实际上,其开销和拥有 44 个独立块差不多,区别只在于优化器要更新的独立参数更少,反向传播依然要走完全部 44 次块应用。
还有 KV 缓存的问题。无论是常规 Transformer 还是循环 Transformer,KV 缓存都会存下先前 token 的注意力键和值,供后续每一步 token 生成时复用。
尽管循环 Transformer 里存在权重共享,但第二遍进入某个块的中间状态是不一样的。因此在 KV 缓存中,这两轮 Transformer 栈产生的键和值也不同(和不做循环时一样)。所以,KV 缓存这边也省不下什么。
说得更具体些。以第 1 次和第 23 次块应用为例,在循环 Transformer 里它们用的都是块 1,但每一次应用仍然需要各自的 KV 缓存条目。既然两轮都得单独保留缓存,那么这个被重复使用的 22 块栈,其 KV 缓存需求就和一个拥有 44 个独立块的常规 Transformer 一样。
有意思的是,Nanbeige 的研究者在论文中提到,他们试过在两轮之间共享 KV 缓存。这当然把 KV 缓存的体积减半了,但模型表现不如使用独立缓存的版本,也就是他们最终发布的那一版。
在继续看其他循环 Transformer 设计之前,先把 Nanbeige 这部分补完。他们的技术报告还讨论了另外两个选择或者说权衡。
所以,循环轮数是我们必须做的另一个架构选择。如前所述,Nanbeige 把它固定成了 2。但我们也可以让它随 token 而变,接下来就会看到这种做法。
2.3 Universal Transformer 与灵活的循环次数
现在回到Universal Transformers。在 Nanbeige 中,我们把一个含 22 个 Transformer 块的栈应用两次。而在 2018 年的 Universal Transformer 论文中,被反复应用的是同一个 Transformer 块,而不是一整个栈。不过主要思路是相似的。
另外,步数可以是固定的,但论文也探索了自适应停止(adaptive halting)。比如某个位置上的 token 可能只走一到两轮循环,另一个 token 可能走三到四轮,依此类推。这让模型可以灵活地把算力分配给那些真正能从额外计算中受益的 token。
那么循环次数是怎么定下来的?这里模型用了一个小的、经过训练的函数,在每一步为每个位置输出一个所谓的停止概率。它把这些概率在连续的循环上累加,一旦某个位置的累加值超过阈值,就停止循环。此外还设有一个最大循环次数,以防万一,用来限制计算量。
图 8:Universal Transformer 中的自适应停止机制。
另一个循环 Transformer 的例子是字节跳动的Ouro。比如 Ouro-Thinking 2.6B 把同一组 48 个 Transformer 块应用了四次。这就是 192 次块应用,而只需存储 48 个独立块的权重。基本上,这比 Nanbeige 更激进。此外,一个学习得到的退出门(exit gate)会给不同的退出点分配概率,再用累计概率的阈值来决定由哪一轮提供输出。所以它也借用了 Universal Transformer 的自适应停止思路,而 Nanbeige 没有用这一套。(不过这里有个实际的注意点:官方发布的 Hugging Face 实现会先算完所有配置好的轮次,再选择输出。所以循环次数看起来实际上被硬编码成了 4。)
2.4 用路由决定循环次数
另一种思路是Mixture-of-Recursions,这是 2025 年的一篇论文,本质上是前面讲的 Universal Transformer 的进阶版。与 Universal Transformer 类似,单个 token 会一次或多次通过 Transformer 块,如下图所示。但它的创新在于:循环次数是如何按 token 逐个决定的。
在下面这张出自论文的图中,被循环(重复)的那个栈被称为递归块(recursion block)。它包含若干 Transformer 块,并夹在独立的首尾两个 Transformer 块之...
Loading...

没有找到文章