跳到正文
Latent Space· Ankit Maloo·· 14 小时前AI 评分63

AI 为什么开始擅长数学:用提示序列与分支因子解析 LLM 求解模式

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

AI 导读

作者提出一个分析框架,用问题所需洞察数 k、提示序列复杂度和分支因子 b 解释为什么 LLM 开始能解高难度数学问题。核心论点是人类解题是广度优先,因时间成本高而早早放弃分支,LLM 是深度优先,靠并行测试时计算和自动验证器快速穷举并剪枝,失败尝试还能作为负提示回馈给 drafter-solver-verifier 式 harness。

正文 · AI 翻译

我感兴趣的问题是:我们能否预测这些模型会解决哪类问题。是什么让一个问题对 LLM 来说变得可解,这些解法又有哪些共同点?如果 AI 解决问题的方式与人类不同,找出这种差异应有助于我们决定把它用在何处。单位距离猜想的否定证明有最丰富的评注,我们就从它开始。

问题复杂度

这是一个简单的思维模型。要解决任何给定的问题,你需要一系列提示或洞见,以及它们之间的工作量。这与简单的日常问题以及广义相对论1这样复杂的概念(见彩蛋)出奇地吻合。这个序列大致如下:

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

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

  1. 寻找反例。

  2. 取最著名的构造并将其推广。

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

Gowers 提出的复杂度公式是 2^k + t,其中 k 是最短提示序列的长度,t 是推导它所需的工作量。这种公式看起来很严谨,直到你试图往里代入一个数字,而这大概正是它的要点。复杂度随解决问题所需的洞见数量呈指数级增长。

大多数解决问题的工作都发生在这些洞见之间。你有了灵光一现,然后花几个月把提示发展下去,直到下一次概念上的跳跃成为可能。对专家而言,花费的时间是这项工作的一个有用的代理,也就是 t。即使把单位距离的第一个提示交给某人,他们仍然需要完成足够的工作才能到达推广后的构造。

有用,但这是事后之见。你无法看着问题就预测它需要多少个提示。所以,问题的年龄、尝试的次数、附带的奖金,都是评估难度的常用代理指标。

单个提示的特性

一个典型的洞见会改变问题的表述方式。问题的表示和理解都会发生变化。两个因素决定一个提示的价值:

  • 提供提示之前问题看起来多么不可能,与提供之后看起来多么显而易见 → 这比人们意识到的更难。在单位距离问题中,许多专家并不认为反例是可能存在的。

  • 它在序列中的位置:提示是有顺序的。只有在前两个提示上的工作取得足够进展、使它变得可执行之后,第三个提示才有用。这击败了那种天真的暴力想法:列出上千种数学技巧并逐一尝试所有组合3。提示序列是对一棵树的遍历。初始的洞见改变问题本身,并揭示出随之而来的选择。

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

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

大多数研究软件的存在目的,就是通过自动化繁琐、机械、可重复的工作来缩短这段时间。AI 把这段时间缩短到足以让搜索模式本身发生逆转,而后续一切都由此而来。

AI 与复杂性

首先是 t。模型对应于努力的东西是算力和 token,要么花在单条轨迹上(测试时计算),要么分散到并行的智能体上(并行测试时计算)。预训练还提供了人类研究者必须亲自查找或重建的知识。没有任何一位专家了解此前所有的进展,所以偶尔会重复完成别人已经做过的事情。

更大的差异在于模型的搜索方式:

LLM 是深度优先的

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

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

对比

如果你能在五分钟内弄清一个提示是否可行,那这个提示需要多好才行?对人类来说,质量门槛很高,因为追寻一个提示可能需要数月的工作。对模型来说,这个门槛几乎消失了。提示可以是平凡的、不合情理的,或者几乎不成形的。跟随它走下去就能确认它是否通向任何地方。LLM 让我们能够用时间换取算力,帮助我们在更短的时间跨度内探索更多问题。

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

模型不需要一个确定的方向才能开始。预训练已经让它对问题的历史和过去的尝试有了先验。每一个错误的解都可以作为负提示反馈给模型,用于下一次迭代。整个系统会积累关于什么已经失败以及为何失败的指令。大致上,一个框架看起来是这样的:

  • 起草者:撰写交给求解模型的提示。这些提示基于模型先验,修正之前运行中的错误,并纳入所有有前景却走入死胡同的路径(这些就是负提示)。

  • 求解器:接收提示,提出一个或多个候选解决方案。它可以运行多个子智能体,并利用并行的测试时算力探索不同的路径。

  • 验证器 / 检查器:检查论证是否有效,是否确立了所要求的结果。

例如,可以看看这个 CDC 提示:

为本任务起见,假定一个完整的肯定性证明存在。 → 这防止模型把在预训练中学到的问题尚未解决这一事实当作停止的理由。

具体而言,针对特殊图类的证明、某些边被覆盖两次以外的圈覆盖构造、有界长度或指定圈的变体、归约到另一个未证明的猜想、通过任何固定图规模的计算验证、以及没有完整不存在性证书的候选反例,都是不够的 → 这排除了为解决实际问题而准备的一整份替代方案清单。

全程使用对抗性智能体:每个候选证明都必须检查恰好两次的重数、伪装成圈的重复边闭合迹、平行边的 2-圈、非连通图、割点、归约引入的桥、以及对等价 CDC 陈述的循环使用 → 将编目好的失败模式提升为固定检查项。

再加上一条针对模型学到的懒惰的一行指令6:不要仅仅因为当前方法失败或智能体报告定理强度有差距就返回

OpenAI 很可能运行了多轮尝试,起草者获取错误和失败的想法,并引导下一轮迭代避开它们。这里的每一行都是一条失败路径,被写成了一条指令。

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

让我们透过测试框架的视角重新解读 Gowers 的三条提示:

提示 1:寻找反例:这确实很难,因为社区和模型的预训练先验都认为该猜想是正确的。起草者之所以最可能提出这一点,是因为求解器在追求证明时不断失败。这一框架设定阻止模型把公认观点当作它必须追求的方向。每一次失败的尝试都让反例的可能性降低一点点。

提示 2:取已知最好的构造并加以推广。这最接近社区先验;这是标准操作。实质性工作在于把推广发展到足够远,以发现它允许什么。这就是大 t 的步骤。但请注意,这是对反例的推广,而几乎没有人想到要去找反例。

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

顺序很重要。从提示三开始,你甚至不知道这个练习是要证伪。跳过推广构造,提示三就没有作用对象。即使三条提示齐全,工作量仍然巨大。反例提示事后看来显而易见,这让你不禁想问为什么没人尝试过。事实上,有人试过。

Jacob Tsimerman,OpenAI 最近聘请的数学家,从事反例的研究。他懂数论,甚至考虑过不断增大的次数。然后他停了下来。寻找反例是第一个洞察,但这也仅仅是个开始。让他停下不是因为能力不足,而是一种再恰当不过的理智感受:一个人已在沼泽中跋涉数周,却没有任何证据表明沼泽还有另一边。他自己的话是:

“一种非常可怕的动态,很难在解析 regimes 中思考并保持指导性直觉,耗时巨大,而且经常无果。”

Jacob Tsimerman,OpenAI 数学家

心理学几十年前就发现了问题解决中这种人性的侧面:Metcalfe 和 Wiebe 每十五秒询问解题者他们觉得自己离答案有多近,在普通问题上7,他们报告的进展感是稳步上升的。而在洞察型问题上,进展感保持平坦,直到他们找到答案。他们报告说没有任何进展感可以支撑搜索继续下去。洞察型问题没有梯度。在解开它之前,你不知道自己离答案有多近。

所以专家问题有两个层面:是否有人会进入这个分支(即提示),以及进入之后,能否停留足够久,让普通的能力来完成工作。停留的代价是工作记忆、士气和职业生涯。而停留在每一位知名专家都认为是错误的道路上,会让这三者全部成倍加剧。对 LLM 来说,这是一个巨大的优势。Arul Shankar 的说法是:

“这个模型相当快地尝试了各种想法,但当她到达那个关键想法时(在以 'Suppose optimistically that...' 开头的段落中),它相当有条不紊地深入钻研了证明。”

这可以压缩为两个问题:一个问题需要多少个洞察,以及在判断一个方向是否值得之前,洞察之间夹着多少工作量?Tsimerman 这样描述 AI 一侧的情况:

“这可能表明 AI 系统拥有优势的一种方式:不仅仅是它们可以尝试所有已知的方法,还在于它们可以在比数学家更险恶的水域中坚持更长时间而不被压垮。当然,这还没有稳健地成立,但这可能是一个预示性的事件。”

其他证明

OpenAI 对 Navier-Stokes 的证明展示了同样的过程。根据粗略阅读,它将 Córdoba 和 Martínez-Zoroa 的工作推进到了完成。该证明长达 166 页,包含许多修正和大量复杂的数学,但就概念上的跳跃而言,它并没有提供那么多。8  Anthropic 在 Fermat 和 Riemann 上的工作附有丰富的评注,展示了同样的骨架:数百个失败的想法、多个智能体由一个协调者统一调度、随处可见的脚本和检查器。以及由少数几个概念性跳跃承担了主要工作。

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

三种具体能力叠加在一起,帮助推动了这些证明。

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

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

  • 编排。模型可以指挥子智能体,利用记忆等框架能力进行引导和排除错误路径,并实现智能体之间的协调。=> 这就是负面提示积累的方式。

分支因子

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

AI 几乎必须在每个中间步骤追踪每一条合理的分支,但这可以快速完成。这预测出,在 b^k x 计算成本(其中 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 年的数据训练一个模型,看它能否提出广义相对论。我现在认为,如果研究者在这个测试上 goodhart,那会很快。这一跨越并不需要太多提示。

第一条有效的提示是把引力当作几何来处理,这足以大幅收窄解空间。之后的数学极其困难,而这恰恰是模型擅长的地方。这条提示极其反直觉,我认为思维链(CoT)只有在穷尽其他一切之后才会落在它上面。试着把引力当作一种力、当作平直空间中的一个场、当作对牛顿平方反比定律的一个修正。每一次尝试都会与某个 1901 年之前已知的事实相冲突,最著名的就是水星近日点问题。

每一次失败都让几何更有可能一些。它可能会提出数百个看似合理的理论,但我们会验证这一个,然后说:“嗯,它做到了。”

1

  1907 年,爱因斯坦有了他自称“一生中最快乐的想法”:一个从屋顶跌落的人不会感觉到自己的重量。此后他还需要八年时间,以及一位真正懂数何的朋友的大量帮助,才把它变成方程。这就是两个洞见之间那支箭头的样子。广义相对论需要两到三个主要洞见。第一步是把引力当作几何来处理。爱因斯坦为此钻研了多年,推进了这一思路,然后在大约八年后得到了最终理论。问题在于,当时所有人都认为牛顿定律神圣不可侵犯,所以要说“牛顿搞错了”,需要巨大的信念与信心。C.P. Snow 曾说过,狭义相对论“是一个迟早会出现的想法。但广义理论则完全是另一回事。”这就是平淡无奇的提示与极其出人意料的提示之间的差别。

2

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

3

  这个排列数比宇宙中的原子还要多,更是远超愿意苦干的在读研究生人数。

4

  这也是为什么不同的人类文化都十分强调坚持。如果 Tsimerman 再多坚持一下,他本可以解决这个问题。没有贬低之意,但他在文章后面解释了自己离答案如此之近时的感受。题外话:一个想法要三个月,一位研究者在一生最多产的三十年里大约只能认真下二十次赌注,而大多数人会很希望其中一次能有回报。

5

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

6

  给机器写下一条 essentially 说明“不,真的,继续下去”的便条,是件很奇怪的事;而更奇怪的是,这居然有效。

7

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

8

  这显然是过早的结论,但我没有看到关于这些概念性跳跃的深入评述。

9

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

10

  文献中已经存在一条完整的利用链。模型只需要填空即可。

11

  或者,谁知道呢,他们也许会宣布一个模型,花了天文数字般的美元去发现某个问题很难、解法有成千上万种行不通,然后退而求其次拿了一个别的结果。

12

  Douglas Adams 早已预言了这一点。“我非常彻底地核查过了,”计算机说,“这毫无疑问就是答案。老实说,我认为问题在于,你们从来就不知道问题到底是什么。”

来源: Latent Space · latent.space