跳到正文
Latent Space· Ankit Maloo·· 2 小时前精选

AI 为何突然擅长数学:从提示序列与分支因子看模型的解题方式

AI Is Getting Good at Math. Here’s Why.

AI 导读

作者分析 OpenAI 与 Anthropic 近期在数学开放问题上的进展,提出用提示序列长度 k 与分支因子 b 判断问题对 LLM 是否可解。模型以深度优先方式并行尝试大量路径,配合自动验证器剪枝,把失败尝试当作负面提示;人类则擅长缩小分支,两者形成互补。作者认为概念跳跃已完成的繁琐数学最容易被模型推进,而高 k、高 b 的问题仍是人类直觉的优势所在。

推荐理由

文章用提示序列与分支因子解释模型为何擅长数学,并给出人类与模型搜索方式的互补关系。

正文 · AI 翻译

今年5月,OpenAI的一个内部模型找到了Erdős单位距离猜想的一个反例。该猜想自1946年以来一直悬而未决。许多专家曾试图证明它。OpenAI却找到了一个反例。一个月后,OpenAI发表了循环双覆盖(CDC)问题的证明,随后到7月又解决了另外十个开放问题。9月又发表了纳维-斯托克斯方程的证明。Anthropic发表了费马大定理的形式化证明,以及关于黎曼猜想的改进界。这些模型突然擅长数学了。

我感兴趣的问题是,我们能否预测这些模型会解决哪些类型的问题。是什么让一个问题对LLM来说可解,这些解法有什么共同点?如果AI解决问题的方式与人类不同,找出这种差异应该能帮助我们决定该把AI指向何处。单位距离反例的评论最为丰富,所以我们就从那里开始。

问题复杂度

这里有一个简单的心智模型。要解决任何给定的问题,你需要一串提示或洞见,并在它们之间付出工作。这出人意料地契合简单的日常问题,也契合像广义相对论这样复杂的思想1(见附赠部分)。这个序列大致是这样的:

洞见 -> 时间/努力 -> 洞见 -> 时间/努力 -> 解决方案。

专家需要的提示比初学者少,因为他们有更多的背景知识。在对单位距离证明的评论中,WT Gowers使用了类似的想法:证明的难度就是能让专家重建证明的最短提示序列。他称之为模专家的柯尔莫哥洛夫复杂度2。对于单位距离问题,他的提示序列有三部分:

  1. 寻找一个反例。

  2. 取已知最佳构造并将其推广。

  3. 尝试一系列次数递增的数域,但使用有界范数的素理想。

Gowers提出的复杂度公式是2^k + t,其中k是最短提示序列的长度,t是发展它所需的工作量。这种公式看起来严谨,直到你试图往里面代入数字,而这差不多正是重点所在。复杂度随着解决问题所需洞见数量的增加而呈指数增长。

大部分问题求解都是这些洞见之间的工作。你有一个顿悟时刻,然后花几个月发展这个提示,直到另一次概念飞跃成为可能。对专家来说,花费的时间是这种工作的有用代理指标,因此是t。把第一个单位距离提示交给某人,他们仍然需要做足够的工作才能达到推广构造。

有用,但属于事后分析。你无法看着问题就预测它需要x个提示。因此,问题的年龄、尝试次数以及附带的奖金是描述难度的常见代理指标。

给定提示的特征

一个典型的洞见会改变问题的表述。问题的表示和理解发生了变化。两件事决定了一个提示的价值:

  • 在提供提示之前它看起来有多不可能,与提供提示之后它看起来有多明显 → 这比人们意识到的更难。在单位距离问题中,许多专家并不认为反例的可能性很大。

  • 它在序列中的位置:提示是有顺序的。只有当对前两个提示的研究已经取得足够进展、使第三个提示变得可操作时,第三个提示才有用。这打破了那种天真的暴力思路——列出一千种数学技巧并尝试每一种组合3。提示序列遍历一棵树。最初的洞见会改变问题,并揭示后续的选择。

人类以广度优先的方式解决问题

把 k 和 t 结合起来,你就得到了人类的搜索模式。生成候选方向,对它们进行浅层探索,放弃大部分,只投入少数几个。如果一个有希望的方向在早期没有给出足够的鼓励,它就会被放弃4。这是人类的一种约束:发展一个想法可能需要数月时间。在投入之前,研究者需要有理由相信它会通向某处:概念上的前景、早期结果,或对类似问题的经验。弄清这一点所需的时间越长,尝试该想法的门槛就越高。

大多数研究软件的存在,就是为了通过自动化那些枯燥、机械、可重复的工作来缩短这段时间。AI 把它缩短到了足以让搜索模式本身发生翻转的程度,而下游的一切都由此而来。

AI 与复杂性

首先是 t。模型对应“努力”的是算力和 token,它们花在单条轨迹上(测试时算力),或分散到并行的智能体上(并行测试时算力)。预训练还提供了人类研究者必须自行查找或重建的知识。没有哪位专家了解此前的每一项进展,因此他们偶尔会重做已经做过的事情。

更大的差异在于模型如何搜索:

LLM 是深度优先的

给模型一个提示,它就会给你一个解。也许正确,也许不正确。要求它给出一个证明,它会给你一个接近好证明的东西。这些模型的 CoT 也以贪婪的深度优先方式运行。而且这个过程可以扩展。给并行智能体十种方法,你就会得到十个朝结论推进的尝试。它们也许各不相同,也许有所重叠。每一个要么撞上障碍,要么给出一个看起来正确的论证。放任不管,这会让你得到漂亮的错误证明。

这看起来是在浪费算力和资源,直到你加入一个自动验证器5,它可以修剪已完成的轨迹并找出正确的那些。有了这个检查器,在不确定的想法上投入巨大的算力就变得合理了。你可以在几分钟内弄清某个想法是否行得通。问题在于,验证器只能评判已完成的论证。它无法告诉你一个只发展了一半的想法是否有前途。

对比

如果你能在五分钟内弄清一个提示是否有效,那它需要有多好?对人类来说,质量门槛很高,因为追寻一个提示可能需要数月的工作。对模型来说,这个门槛几乎消失了。提示可以是普通的、看似不合理的,或者几乎不成形的。跟随它就能确定它是否通向某处。LLM 让我们能够用时间换取算力,并帮助我们在更短的时间内处理更多问题。

失败的尝试对 LLM 来说就是提示

模型不需要一个确定的方向来起步。预训练已经赋予了它关于问题历史和过往尝试的先验知识。每一个错误的解法都可以作为负面提示返回给模型,用于下一次迭代。系统会不断积累关于哪些方案已经失败以及失败原因的指令。大致来说,一个 harness 看起来是这样的:

  • Drafter(起草器):编写提供给求解器模型的提示词。这些提示词基于模型先验,规避此前运行中的错误,并考虑所有未能走通的可行路径(这些是负面提示)。

  • Solver(求解器):接收提示词并给出一个或多个候选解法。它可以运行多个子代理,利用并行测试时计算探索不同的路径。

  • Verifier / Checker(验证器/检查器):检查论证是否有效,并确立所要求的结果。

例如,考虑这个CDC 提示词:

为本任务之目的,假设存在一个完整的肯定性证明。 → 这可以防止模型将预训练中学到的问题的开放状态作为停止的理由。

特别地,针对特殊图类的证明、某些边被覆盖次数不为两次的圈覆盖构造、有界长度或指定圈的变体、归约到另一个未证明的猜想、通过任何固定图规模的计算验证,以及没有完整不存在性证书的候选反例,都是不充分的 → 这排除了一系列用于替代真正解决问题的替代方案。

全程使用对抗性代理:每个候选证明都必须检查是否恰好为二重数、伪装成圈的重复边闭合迹、平行边 2-圈、非连通图、割点、归约引入的桥,以及循环使用等价 CDC 陈述的情况 → 将已记录的失败模式提升为常设检查项。

再加上一行针对习得性懒惰的提示6:不要仅仅因为当前方法失败或代理报告定理级别的缺口就返回

OpenAI 很可能进行了多轮尝试,起草器收集了错误和失败的想法,并在下一次迭代中避开这些方向。这里的每一行都是一条失败路径,被写成了一条指令。

重构单位距离证明与 Tsimerman 的工作

让我们通过 harness 的视角重新解读 Gowers 的三条提示:

提示 1:寻找反例:这确实很难,因为学界和模型的预训练先验都认为该猜想为真。起草器最有可能得出这一提示,是因为求解器在寻求证明时不断失败。这种框架阻止模型将公认观点视为它必须追求的方向。每一次失败的尝试都让反例的可能性略微增加。

提示 2:取已知最佳构造并将其推广。最接近学界先验;这是标准做法。实质性的工作在于将推广推进到足以发现它允许什么。这是大 t 步。但请注意,这是对一个几乎没人在寻找的反例的推广。

提示 3:尝试次数递增的数域。一旦前两条提示构建了适用空间,这就是标准工具。

顺序很重要。从提示三开始,你甚至不知道这道题是反证。跳过广义构造,提示三就无从下手。而且即使三个提示都有,工作量依然巨大。反例提示事后看来显而易见,这让你不禁想问为什么没人试过。事实上,有人试过。

最近被 OpenAI 聘用的 Jacob Tsimerman 研究过这个反例。他懂数论。甚至考虑过提高次数。然后他停下了。寻找反例是第一个洞见。但这仍然只是开始。阻止他的不是缺乏技巧。而是一种恰如其分的清醒感受——一个人深陷沼泽数周,却没有任何证据表明沼泽还有另一边。用他自己的话说:

“一种非常可怕的动态,很难在分析区间中思考并保持引导性直觉,耗费大量时间,而且经常没有结果。”

Jacob Tsimerman,OpenAI 数学家

心理学几十年前就发现了问题解决中人的这一面:Metcalfe 和 Wiebe 每隔十五秒询问解题者感觉自己离答案有多近,在普通问题上7,他们报告的进展感不断上升。在顿悟问题上,这种感觉一直持平,直到他们找到答案。他们报告没有任何进展感来支撑搜索。顿悟问题没有梯度。在解出来之前,你不知道自己离答案有多近。

所以专家的问题是双重的:究竟有没有人进入这个分支(提示),以及进入之后,他们是否停留足够久,让普通能力完成工作?停留的代价是工作记忆、士气和职业生涯。而停留在一条所有已知专家都认为错误的路径上,会让这三者叠加。对 LLM 来说,这是一个巨大的优势。Arul Shankar 说:

“模型很快过了一遍各种想法,但当它到达关键想法时(在以‘乐观地假设……’开头的那段),它相当有条不紊地聚焦于证明。”

这可以压缩成两个问题:一个问题需要多少个洞见,以及在你能判断一个方向是否值得之前,这些洞见之间有多少工作?Tsimerman 从 AI 的角度说:

“这可能表明 AI 系统拥有优势的一种方式:不仅仅是它们能尝试所有已知方法,而且它们能比数学家玩得更久、在更险恶的水域中而不被淹没。当然,这还不是稳健成立的,但这可能是一个预兆性事件。”

其他证明

OpenAI 对 Navier-Stokes 的证明展示了同样的过程。粗略阅读下来,它把 Córdoba 和 Martínez-Zoroa 所做的工作推进到了完成。证明长达 166 页,有许多修正和大量复杂数学,但就概念跳跃而言,它提供的并没有那么多。8  Anthropic 在 Fermat 和 Riemann 上的工作附有丰富的评论,它展示了同样的骨架:数百个失败的想法、一个编排器下的多个智能体、到处都是脚本和检查器。以及少量承担关键负载的概念跳跃。

今年模型发生了什么变化?

三项具体能力叠加起来。它们帮助推动了这些证明。

  • 模型现在擅长串联基本操作。最近的训练目标专注于在第 1 步创建可在长时程任务的第 n 步使用的产物。=> 这降低了 t。

  • 自我验证:模型现在能在人类甚至验证器看到输出之前,在一条轨迹内捕捉到错误的步骤(而不是那些语法上有效但无法通向任何结果的步骤)。OpenAI 专门针对数学验证训练了模型,使用了大规模的真实世界示例,并加入了一个能识别证明中错误的验证层。=> 这使得在轨迹内进行剪枝的成本更低。

  • 编排。模型可以指挥子代理,使用记忆等 harness 能力来引导并排除错误路径,以及实现代理之间的协调。=> 负向提示就是这样积累起来的。

分支因子

重新审视 Gowers 的公式。他指出该公式遗漏了一点:探索潜在提示树所需的时间。将每一步中合理的后续提示数量称为分支因子 b。每一步有 b 个合理提示时,k 个提示意味着 b^k 条路径。对人类而言,品味和判断力使有效 b 保持较小,大多数分支默认被丢弃。9  

AI 必须在每个中间步骤追求几乎每一个合理分支,但可以快速完成。这预示着模型在 b^k × 计算成本(其中 k 是提示数量)较小的地方会表现出色。这回答了我们最初的问题。网络安全看似复杂,却最先被攻克,因为中间步骤的分支因子10约为 1-2。

专业人士需要大量技能,但解决方案的样子是事先已知的。这也解释了为什么寻找反例如此强大。这压缩了解空间和 b。同样的模式也体现在一项社区努力中,即引导代理为所有开放问题寻找反例。

验证器剪枝已完成的分支。起草器剪枝未来的分支,通过告诉求解器哪些路径已经失败来缩小搜索空间。处于中间时,你没有剪枝信号。自我验证能捕捉错误的步骤,而不是那些语法正确但无法通向任何结果的步骤。没有梯度,你必须探索所有分支。Tsimerman 为此付出了士气代价,AI 公司则会付出算力代价。实验室会选择解空间狭窄的问题来展示其模型有效。11

由此可得的一个直觉是:预期 AI 模型非常擅长将想法推进到完成,当概念性飞跃已经完成,剩下的只是繁琐、复杂的数学时。也就是说,k 和 b 不会大到令人望而却步。最近发表的许多其他证明都符合这一点。Navier-Stokes 的证明完成了 Córdoba 和 Martínez-Zoroa 的计划,即便如此也动用了 10,000 个代理,在 88 小时内总共使用了 3000 亿个 token。

如果人类在任何地方保持优势,Gowers 预计会是在“搜索树很深且分支量很大,以至于没有严格剪枝,即使是计算机也无法进行搜索”的问题上。换句话说,高 b 和/或高 k,而人类的直觉仍然重要。

一个有趣的分歧

人类会谨慎选择自己的方法,然后投入数月时间。一个失败的方法之所以有洞察力,恰恰是因为有人足够确信,愿意在它上面投入数月。专家断然拒绝的方法也是如此。拒绝伴随着他们的判断和洞见。无论哪种情况,追随一个想法都会改变我们对问题的理解。即便是死胡同,也能给专家留下有用的思考工具。

有了 AI,解决方案之所以出现,是因为模型走遍了每一条看似可行的路径直至完成。失败的代价很低。大多数失败很幼稚,有些可能很有意思。失败中所含的信息量,与其背后的确信程度成正比。不过我们很少有机会看到这些失败,更不用说理解某次尝试为何失败。CDC 提示词大概是我们最接近的一次,提示词本身就附上了所有失败的清单。

这种差异有助于形成一种良性的互补。人类擅长缩减分支。模型擅长缩减剪掉一个分支所需的时间。专家可以让模型端到端地探索一个想法,然后再决定它是否值得投入三个月。需要大量洞见的问题,也就是 k 很大的问题,对两者来说都很难。专家可以利用模型的失败尝试以及自己形成确信的过程来缩小范围。

不过,许多开放问题的提出,是因为解决它们能增进我们对这一领域的理解。其中一部分来自直接攻克问题,另一部分来自了解高确信度的方法为何失败。模型最终可以生成证明。12失败中蕴含着大量洞见。只有当我们能看到这些失败时,这种互补才成立。

Terence Tao 将解决问题描述为数学更深层目的的代理:发展我们的理解。一个结果或一个证明是一场社区事件,它促使人们解释新想法、将其与已有想法联系起来,并推动我们集体直觉向前。只公布最终解法,是把终点误当成了旅程。 

附加问题:LLM 能提出广义相对论吗?

有人提出(Demis、又一次、Zahavy、Adam Brown),检验 AI 是否跨过门槛的一个方法,是用截至 1901 年的数据训练模型,看它能否提出广义相对论。我现在认为,如果研究人员在这件事上古德哈特,那会很快。这个飞跃不需要很多提示。

第一个起作用的提示是把引力视为几何,这足以大幅缩小解空间。此后的数学极其困难,而这恰恰是模型擅长的地方。这个提示极其反直觉,我认为思维链只有在穷尽其他一切之后才会落到它上面。试试把引力当作一种力、当作平直空间中的场、当作对牛顿平方反比定律的微调。每一次尝试都会与 1901 年已知的某个现象相矛盾,最著名的是水星近日点。

每一次失败都让几何的可能性略微增加。它可能会提出数百个看似合理的理论,但我们会验证这一个,然后说:“没错,它做到了。”

1

  1907年,爱因斯坦有了他称之为一生中最快乐的想法:从屋顶坠落的人不会感受到自己的重量。随后他又花了八年多时间,并在一位真正懂几何的朋友的大力帮助下,才将其转化为方程。这就是两个洞见之间那个箭头的样子。广义相对论需要两到三个主要洞见。首先是,把引力当作几何来对待。爱因斯坦与之相伴数年,将其推进,然后在大约八年内得出了最终理论。问题在于,当时所有人都认为牛顿定律神圣不可侵犯,因此说牛顿错了需要极大的信念和信仰。C.P. Snow曾说过,狭义相对论“是一个呼之欲出的想法。但广义理论则完全是另一回事。”这就是一个平淡无奇的提示与一个非常令人惊讶的提示之间的区别。

2

  柯尔莫哥洛夫复杂度要求的是产生给定输出的最短程序;在这里,专家提供背景知识。

3

  这比宇宙中的原子数量还要多的排列组合,也远远多于愿意埋头苦干的研究生数量。

4

  这也是为什么不同的人类文化都非常强调坚持。Tsimerman如果再多坚持一点,本可以解决这个问题。无意冒犯,但在文章后面,他解释了当时如此接近的感受。题外话:在三个月一个想法的情况下,一个研究者在一生中最富生产力的十年里或许会有二十个认真的赌注,而大多数人都很希望其中一个能成功。

5

  我有一个理论,无限只猴子在无限台打字机上可以打出莎士比亚和许多其他小说,外加一些原创作品。但是,要知道它们是否做到了,你需要一个验证器。而验证器很可能也会拒绝它们同时完成的所有原创作品。Douglas Adams对此有一句话:“Ford,外面有无限只猴子想和我们谈谈它们写出的《哈姆雷特》剧本。”

6

  不得不给机器写东西,本质上就是写一张便条说“不,真的,继续”,这很奇怪,而更奇怪的是它居然有效。

7

  我不认为每15秒问一次有用。即使我觉得自己很接近了,我也会说不。

8

  这显然是一个早期的结论,但我没有看到关于概念跳跃的丰富评论。

9

  像许多事情一样,品味和判断来自先验。而先验可能是错的。正如我们在单位距离反例本身中看到的那样。在Gowers自己的叙述中,“我从未想过要去证伪它。”这个先验将正确的分支推向了低概率,许多专家没有选择那条路。

10

  文献中已经存在一条利用链。模型只需填入槽位。

11

  或者谁知道呢,他们可能会宣布一个模型,花了四百亿亿美元发现一个问题很难,而且有太多方法无法解决它,于是转而接受另一个结果。

12

  Douglas Adams已经预言了这一点。“我非常彻底地检查过了,”计算机说,“那绝对是答案。老实说,我认为问题在于,你其实从来都不知道问题是什么。”

来源:Latent Space · latent.space