METR 刚点名矩阵乘法指数「四十年没被 AI 碰过」,三天后它动了——但 AI 只干了最后一步
Improving the matrix multiplication exponent with modern optimization and AlphaEvolve
8 月 17 日,arXiv 上挂出一篇只有十页的 note,标题平淡得像内部备忘:《用现代优化方法和 AlphaEvolve 改进矩阵乘法指数》。十位作者,六位来自 Google DeepMind,另外四位分别在 CMU、哥伦比亚大学和 MIT——其中三位正是这个问题当前世界纪录的共同持有者。他们做的事一句话说得完:把矩阵乘法指数 ω 的上界从 2.371339 推到 2.371177。
这个数字小得荒唐,但有两条理由值得读。一是它正好落进第 48 篇留下的那个空里。METR 8 月 14 日那份简报数了七条算法效率曲线,结论是 AI 一点没推动,而 ω 是被点名的例子之一:2010 年之后的六次改进总共只挪了 0.0024,每一步都是人写的证明。三天之后,这条线动了。二是拆开看,AI 在这里干的活比标题听上去小得多,也因此有意思得多。数学框架是人的,把问题改写成机器跑得动的形式是人的,AlphaEvolve 只负责最后一步:改一份已经写好的求解器源码。这个分工,才是这篇真正的信息量所在。
ω 是什么:一个四十年没人推得动的小数点后三位
朴素地乘两个 n×n 矩阵要做 n³ 次乘法。1969 年 Strassen 证明这不是最优的,可以压到 n^2.81——矩阵乘法指数 ω 就是这么来的:两个 n×n 矩阵相乘所需的算术运算次数是 O(n^(ω+o(1))),而 ω 究竟等于几,至今没人知道,是理论计算机科学最著名的开放问题之一。下界是 2(你至少得把每个数读一遍),上界则被人一点一点往下磨。
1990 年 Coppersmith 和 Winograd 磨到 2.376,之后二十多年基本没动。2012 年 Virginia Vassilevska Williams(本篇作者之一)把它推下去一步,此后是 2023 年的 2.371866、2024 年的 2.371552、2025 年的 2.371339。注意这个节奏:三年三次,每次只挪小数点后第四、第五位。这篇挪到 2.371177,作者自己在讨论一节里写,这次改进的量级「与 1990 年以来的大多数改进相当」——不是谦虚,是这个领域真实的刻度。
还得先说清一件事,免得误会:这条线上的算法全是所谓的 galactic algorithm(星系算法,指渐进复杂度很漂亮、但常数大到只有在天文尺度的输入上才划算的算法)。ω 从 2.371339 降到 2.371177,你手里的 GPU 一秒都不会变快。它的全部意义在另一个问题上:这件事的真实难度到底是多少。
人干了什么:把四十年的数学翻译成可微的
过去四十年的所有改进都建立在同一套技术上,叫 laser method(激光法)——不直接构造快速乘法算法,而是从一个已知张量出发递归分解,间接推出上界。当前最好的界来自它的一个精化版本,叫 combination loss analysis(组合损耗分析)。关键在于:这套方法的最后一步是一个非凸优化问题,任何一个可行解都对应 ω 的一个上界。换句话说,这个数学问题的最后一公里,早已被前人变成了一道优化题——解得越好,界越紧。
上一版纪录用的是 SNOPT 这个序列二次规划求解器,能处理的最大递归层数 ℓ*=3,约 2.5 万个待优化参数。这篇做的第一件事,是把整个问题重写成能做梯度下降的形式:分布的归一化约束用 logits 加 softmax 绕开,最大熵那部分改用最优传输里的 Sinkhorn-Knopp 算法求解并做隐式微分,然后 Jax 加 Adam 直接梯度下降。
真正吃力的是工程。原实现是在一张图上做消息传递,节点类型参差不齐——不同节点的子节点数量和种类都不一样——并行不起来。他们的办法是加带掩码的 phantom node 把结构补齐(代价是参数量最多涨三倍),再把节点聚成有限几类「stage」,最后整张图表示成多维张量,在多达 10 个轴上并行,原文的说法是「挑战张量计算后端的极限」。这样才跑得动 ℓ*=4,参数量从 2.5 万涨到约 700 万。
单靠这一步,界就比 SOTA 好了约 0.97×10⁻⁴。也就是说,这次进步里将近六成,来自人把问题翻译成 GPU 吃得下的形式,AI 还没上场。
AI 干了什么:改代码,不做证明
AlphaEvolve 上场的位置很具体:它不猜解,也不写证明,它改的是上面那份优化程序的源码。程序跑一遍约需单张 GPU 五小时,输出一个 ω 的界;AlphaEvolve 拿这个界当分数,演化代码去压低它。他们还用了 AlphaEvolve 的「演化构造」模式——每一代的优化算法从上一代找到的最优解出发,而不是从头随机初始化。
这一步把总改进从 0.97×10⁻⁴ 抬到约 1.62×10⁻⁴。换算过来,AI 贡献了这次进步的约四成,而且是在人已经把评分函数、可微形式、并行结构全部搭好之后。
这和第 36 篇是同一个模式:Claude 没有碰下黎曼猜想,但把一个具体的、有明确打分标准的记录推了一大截。也和 AlphaEvolve 本身的定位一致——它是个以「你能给我一个可执行的评分函数」为前提工作的东西。前提立不住,它就没有落脚点。
最后一关必须是不可争辩的
这篇有一节值得单拎出来:严格验证。梯度下降吐出来的是浮点数,浮点数不能当证明。他们的做法是把最终解舍入成有理数,同时保证最大熵那部分的证书依然有效,然后用精确有理数算术把所有导出量重算一遍,每一个对数都替换成朝安全方向舍入的有理界,确保每条约束都真的成立。验证代码和找到的解,他们说会一起放出来。
这个动作看着枯燥,却是整件事的承重墙。机器可以随便猜、随便试、随便演化,代价是最后必须有一关不依赖机器的判断——第 36 篇附的那份 Lean 证明是同一个道理。「AI 参与数学」能不能立得住,不取决于它猜得多准,取决于验证这一关有没有被同时做硬。
本文为 AKL AI Club 原创撰写的导读,不是原文翻译;著作权归原文作者所有。 篇目由编辑独立选取,来源均经人工核实。