On the Computational Hardness of Transformers

本文在 SETH 假设下证明了,无论是小嵌入维度还是大嵌入维度,多头多层 Transformer 的计算复杂度均无法显著优于将 LHLH 个注意力头独立计算,从而确立了 Transformer 计算复杂度的首个非平凡下界。

Barna Saha, Yinzhan Xu, Christopher Ye, Hantao Yu

发布于 2026-03-13
📖 1 分钟阅读☕ 轻松阅读

Each language version is independently generated for its own context, not a direct translation.

这篇论文探讨了一个非常核心的问题:Transformer(目前最火的 AI 模型架构)到底能不能算得更快?还是说,我们现在的“笨办法”其实已经是极限了?

为了让你轻松理解,我们可以把 Transformer 想象成一个超级庞大的“信息处理工厂”

1. 工厂的运作模式:多头注意力机制

想象这个工厂有 LL 层(比如 12 层或 96 层),每一层都有 HH 个并行的“专家小组”(也就是论文里说的“多头”)。

  • 输入:工厂接收一串信息(比如一句话,有 NN 个词)。
  • 任务:每个“专家小组”都要去分析这 NN 个词之间的关系。比如,在句子“猫吃了鱼”里,第一个专家要分析“猫”和“吃”的关系,第二个专家分析“吃”和“鱼”的关系,以此类推。
  • 计算量:每个专家小组都要把 NN 个词两两配对进行比对。如果词的数量是 NN,那么两两比对就需要 N2N^2 次操作。
  • 现状:因为工厂有 LL 层,每层有 HH 个小组,所以总的工作量大约是 L×H×N2L \times H \times N^2。这就是目前大家公认的“笨办法”(Naive Algorithm),也就是论文里说的“分别计算每个头”。

2. 核心疑问:能不能“批量处理”来偷懒?

这就引出了论文要回答的终极问题

能不能像“批发”一样,一次性把 L×HL \times H 个小组的任务合并起来算,从而比“一个一个单独算”快得多?

这就好比你有 100 个工人要分别做 100 道不同的数学题。

  • 传统做法:让每个工人独立做题,做完为止。
  • 偷懒想法:能不能发明一种“超级流水线”,让这 100 个工人在同一时间、用一种巧妙的方法,瞬间算出所有答案?

在计算机科学的其他领域,确实有些任务可以这样“批量偷懒”(比如多项式求值)。所以,大家自然希望 Transformer 也能这样。

3. 论文的结论:想多了,不行!

这篇论文给出了一个令人失望但非常确定的答案不行。你无法通过“批量处理”来显著加速 Transformer。

作者证明了:

  • 小模型情况(嵌入维度较小):如果你试图用比“一个一个算”更快的方法,在数学上几乎是不可能的(除非某些极其复杂的数学猜想是错的)。现在的“笨办法”已经是最优解了。
  • 大模型情况(嵌入维度很大):即使你用了最厉害的矩阵乘法技巧,想要算得比“分别计算”快,也是不可能的。

通俗比喻
想象你要把 100 个不同的快递(每个头)送到 100 个不同的地址(输入词)。

  • 以前的想法:也许我们可以发明一种“超级快递车”,一次能同时送 100 个快递,比 100 辆小车分别送要快。
  • 这篇论文的发现:经过严密的数学推导,他们证明了这种“超级快递车”根本不存在。无论你怎么设计路线,100 辆小车分别跑(分别计算)已经是物理极限了。任何试图合并计算的尝试,最终都会发现工作量并没有减少,甚至可能因为合并的开销而更慢。

4. 他们是怎么证明的?(两个关键工具)

为了证明“无法偷懒”,作者用了两把“数学手术刀”:

  1. 小模型时的“正交向量”测试
    他们把 Transformer 的计算任务伪装成了一个著名的数学难题(3-OV 问题,类似于在一大堆数字里找三个互不相关的数)。他们证明了:如果你能更快地算出 Transformer,那你就能瞬间解开这个数学难题。但大家都相信这个数学难题是极难解的(需要 N2N^2 的时间)。所以,Transformer 也跑不快。

  2. 大模型时的“反向传播”魔法(Baur-Strassen 定理)
    这是论文最精彩的部分。他们利用了一个叫 Baur-Strassen 的定理(这也是神经网络训练时“反向传播”算法的数学基础)。

    • 比喻:假设你有一个黑盒子(Transformer),输入是矩阵,输出是结果。作者说,如果你能很快算出这个黑盒子的结果,那么利用这个定理,你就能很快算出黑盒子里所有的中间变化率(导数)。
    • 结果:他们发现,如果能快速算 Transformer,就能快速算出 L×HL \times H 个独立的矩阵乘法。但数学界早就证明了,算这么多独立的矩阵乘法,必须花那么多时间,没法偷懒。所以,Transformer 也没法偷懒。

5. 这对我们意味着什么?

  • 对 AI 开发者:别指望通过算法层面的“魔法”来让 Transformer 的速度产生质的飞跃(比如从 N2N^2 变成 N1.5N^{1.5})。现在的瓶颈是硬性的数学限制。
  • 未来的方向:既然算法上很难突破,未来的加速可能更多依赖于:
    • 硬件优化:比如更好的芯片、更快的内存(像 FlashAttention 那样优化数据读取)。
    • 近似算法:如果允许一点点误差,也许可以算快一点(但这会牺牲精度)。
    • 架构创新:彻底换一种不是 Transformer 的架构。

总结一句话
这篇论文给所有想给 Transformer“提速”的人泼了一盆冷水,但也指明了方向:在数学本质上,Transformer 的“分别计算”已经是最高效的极限了,想再快,只能靠换硬件或换架构,靠算法“走捷径”是行不通的。