Back to Blog

在 Transformer 中执行程序:指数级加速推理

March 13, 2026by Ichiban Team
aimachine learningtransformersinferenceperformance

Hero

#引言

大型语言模型 (LLM) 凭借其理解和生成拟人化文本的能力席卷全球。然而,在这些模型令人惊叹的概率能力之下,隐藏着一个广为人知的局限性:传统的 Transformer 架构难以处理冗长、精确且确定性的计算。虽然在理论上是图灵完备的,但由于性能瓶颈,直接在标准 Transformer 内部执行数百万个严格的程序化步骤在过去几乎是不可行的。

但是,如果我们能重塑注意力机制 (attention mechanism) 来绕过这些限制呢?如果 LLM 不仅能作为文本生成器,还能作为一台功能完备、高效的计算机运行呢?Percepta 最近的研究发现恰好揭示了这一点——一种在 Transformer 内部执行程序并实现指数级加速推理的全新方法。这不仅仅是渐进式的优化;这是对神经网络原生处理能力的一次彻底重构。

#事件回顾

Percepta 的研究人员提出了一个引人入胜的问题:“LLM 可以成为计算机吗?”为了回答这个问题,他们找出了长序列计算效率低下的根本原因。在标准的 Transformer 模型中,每生成一个新的 token,注意力机制通常需要对之前整个序列进行一次完整扫描。这导致每步的时间复杂度为 $O(n)$,当尝试在数百万步中执行复杂的逻辑或数学难题时,这种计算量很快就会变得难以承受。

为了克服这一问题,团队引入了一项突破性的架构修改。通过将查找头 (lookup heads) 的维度严格限制为 2,他们将标准的注意力机制转化为 2D 凸包查询 (convex-hull query)。

这种几何变换将模型检索和更新状态的时间复杂度从相对于序列长度的线性 ($O(n)$) 降低到了对数级 ($O(\log n)$)。这呈指数级加快了推理过程,使得修改后的 Transformer 能够在数百万步内维持“仅追加跟踪 (append-only trace)”,而不会出现灾难性的性能下降。

在一场令人惊叹的实际演示中,团队没有依赖任何外部工具、代码解释器或 API 调用。相反,他们完全在 Transformer 内部执行了一个编译好的求解器,成功解开了被公认为世界上最难的数独谜题——Arto Inkala 数独。模型完全依靠由全新 $O(\log n)$ 注意力机制驱动的内部“思考”过程实现了这一壮举。

#核心意义

对于从事 AI 领域的开发者和工程师来说,这项进展解决了一个关键的痛点:概率生成与严格、确定性执行之间的鸿沟。

目前,当我们希望 LLM 执行精确的数学计算或复杂的逻辑时,通常会在其周围搭建脚手架。我们使用 Agent、函数调用 (function calling) 或外部代码解释器(如 Python 沙盒)来分担繁重、精确的计算任务。LLM 扮演编排者的角色,而传统的计算环境负责严密的执行。

通过将执行程序的能力 直接 嵌入到 Transformer 的权重中,我们减少了对外部状态管理和复杂编排层的依赖。模型本身本质上就在运行一个虚拟机(类似于 WebAssembly 解释器)。生成的每一个 token 都代表了这个虚拟机在特定时刻的演变状态——更新指令指针 (instruction pointer)、管理堆栈以及修改内存。

这非常重要,因为它大幅降低了确定性操作的延迟,同时保留了让 LLM 如此强大的自然语言接口。它证明了神经网络可以在内部弥合创造性推理与严密计算之间的差距。

#技术影响

通过 2D 凸包查询将注意力机制从 $O(n)$ 降至 $O(\log n)$,对我们如何设计和部署 AI 系统产生了深远的技术影响。让我们来剖析核心架构的变化及其影响:

#1. 几何注意力机制 (Geometric Attention Mechanisms)

标准的点积注意力 (dot-product attention) 在高维空间中计算兼容性分数,计算成本非常高。通过将键值查找 (key-value lookups) 投影到 2D 空间并将其视为凸包查询,模型可以利用高度优化的几何算法。这不仅加快了检索速度,还强制实施了一种更具结构化、确定性的内存访问模式,这对程序执行至关重要。

#2. 基于仅追加跟踪的状态管理 (State Management via Append-Only Traces)

在传统的计算环境中,内存是可变的。而在自回归 (autoregressive) Transformer 中,序列是仅追加的。为了运行虚拟机,模型必须将其整个状态(寄存器、堆栈、内存指针)编码到输出序列中。

  • 指令指针: 跟踪已编译程序的当前行。
  • 堆栈表示: 将入栈/出栈 (push/pop) 操作编码为序列的追加。
  • 内存更新: 使用对数注意力头查询历史记录,以检索特定变量的最新值。

#3. 编译进权重 (Compilation into Weights)

也许最令人脑洞大开的推论是,将软件直接编译进模型权重的概念。如果 Transformer 可以运行虚拟机,理论上我们就可以将任何确定性程序(如排序算法、物理引擎或加密哈希函数)编译成模型可以原生执行的格式。这模糊了预训练神经网络和编译好的二进制可执行文件之间的界限。

#未来展望

成功执行 Arto Inkala 数独求解器仅仅是个开始。随着这项研究的成熟,我们有望看到几个令人振奋的进展:

  • 混合架构: 未来的基础模型可能会融合用于语义推理的标准高维注意力头,以及专门用于严格逻辑和状态跟踪的 2D 凸包头。
  • 原生代码执行: 对于某些类别的问题,我们可能会完全摆脱外部代码解释器,转而依靠模型在推理阶段原生执行沙盒化的字节码。
  • 增强的推理能力: 通过将确定性执行集成到核心架构中,模型在处理需要严格数学证明或复杂数据转换的任务时,幻觉 (hallucination) 可能会大幅减少。

对于 Ichiban Tools 社区而言,这意味着我们基于 LLM 构建的实用程序和开发者工具即将变得更快、更可靠。将复杂的解析或静态分析直接集成到 LLM 前向传递 (forward pass) 中的前景,为开发者生产力开启了全新的范式。

#总结

LLM 能够作为高效计算机运行的这一发现,标志着人工智能领域的一个重要里程碑。通过彻底重新思考注意力机制,并利用 2D 凸包查询实现对数级推理时间,研究人员已经解锁了 Transformer 原生执行冗长、确定性程序的能力。

随着我们继续探索神经网络的能力边界,概率推理与精确计算的融合无疑将孕育出更稳健、更强大、更通用的 AI 系统。我们不再仅仅训练模型来预测下一个词;我们正在教它们执行下一条指令。