24年12月来自Meta FAIR、斯坦福、伯克利、爱丁堡大学和TX Austin的论文“Formal Mathematical Reasoning: A New Frontier in AI”。
数学人工智能 (AI4Math) 不仅在智力上引人入胜,而且对于科学、工程和其他领域中由人工智能驱动的发现也至关重要。AI4Math 上的大量努力反映 NLP 的技术,特别是在策划文本形式化的数学数据集上训练大语言模型。作为一种互补但较少探索的途径,形式化数学推理落地于类似于证明助手等的形式化系统,这些系统可以验证推理的正确性并提供自动反馈。本文提倡形式化数学推理,并认为它对于将 AI4Math 提升到新的水平是必不可少的。近年来,使用人工智能进行形式化推理方面取得了稳步进展,包括定理证明和自动形式化等核心任务,以及可验证的代码生成和硬件设计等应用。然而,人工智能要真正掌握数学并产生更广泛的影响,仍有重大挑战需要解决。本文总结现有的进展,讨论未解决的挑战,并设想衡量未来成功的关键里程碑。
自人工智能诞生之初,研究人员就梦想着构建能够自动进行数学推理的人工智能系统。历史上第一个人工智能程序是 Newell & Simon 的逻辑理论家 [1],这是一个可以证明《数学原理》[2] 中 38 条定理的定理证明系统。此后的几十年里,人工智能的中心从符号方法转移到机器学习,并出现一个新的数学统计人工智能领域 (AI4Math)。该领域的一个吸引力在于,数学问题是广泛推理和规划任务的智体。另一个吸引力在于,数学在定量学科中起着基础性作用,因此 AI4Math 有可能彻底改变科学、工程和其他领域的人工智能。出于这些原因,大语言模型 (LLM) [3, 4] 的设计者经常强调 LLM 在数学问题上的成功,并且也有人努力构建在数学竞赛中胜过人类的人工智能系统 [5–7]。
鉴于 AI4Math 的重要性,大量研究致力于开发数学 LLM,使用从自然语言处理 (NLP) 中借鉴的技术。一种常见的方法是继续在数学数据(例如 arXiv 论文和 MathOverflow 的网页)上对 LLM 进行预训练,然后在精选的数学问题数据集上对模型进行微调,并提供详细的分步解决方案。我们称之为“非形式化”方法,以区别于下面的形式化方法。就像一般的 LLM 一样,数学 LLM 有一个简单的配方,但秘诀往往是数据管理 [8–11]。精心策划的训练数据加上推理-时间技术,包括思维链提示 [12]、自洽性 [13] 和工具使用 [14],已经在广泛使用的基准(如 GSM8K [15] 和 MATH [16])以及 AIMO Progress Price [6] 中取得了显著的成功。然而,非形式化方法的成功主要局限于不超过 AIME 水平的高中数学。这就提出一个关键问题:
扩大非形式化方法能走多远?它能让数学 LLM 解决更具挑战性的竞赛问题(例如,IMO、国际数学奥林匹克)甚至数学研究中的问题吗?
从高中到更高级的数学,非形式化方法面临着难以通过仅仅扩大训练来解决的挑战。首先,训练数学 LLM 需要高质量的数据,而这在高等数学中是稀缺的。对于新研究数学问题,在互联网上找到类似问题的解决方案或大规模手动注释数据是不可行的。如果不扩大数据规模,就无法充分受益于 LLM 的规模化定律 [18, 19]。其次,许多高级问题的解,不是可以将它们与真值进行比较来评估的数字。相反,它们执行一系列复杂的推理步骤,例如证明。 LLM 存在的臭名昭著问题,就是幻觉出看似有效的推理步骤,这使得评估模型输出的正确性或收集有用的学习反馈变得具有挑战性。这些挑战很难通过在训练期间扩大非形式化方法来解决。如果训练-时间规模化还不够,还需要什么?一个方向,以 OpenAI o1 [17] 为例,是在推理过程中扩大非形式化方法,可能将搜索与神经验证器相结合以减轻幻觉推理 [15]。虽然这种方法已经获得关注,但它对高级数学问题的有效性仍是一个悬而未决的问题。
人工智能在形式化数学推理方面取得长足进步。首先讨论两个关键任务的进展:自动形式化和定理证明。然后讨论两个相邻领域——自然语言和代码生成——它们受益于形式化方法实现的可验证推理。
自动形式化
“自动形式化”,20 世纪 50 年代和 60 年代自动定理证明的先驱们显然已经构想出这个想法(王浩 [97])。然而,直到交互式定理证明(例如 Automath [98])兴起,人们才开始认真考虑将劳动密集型的形式化过程自动化 [99]。
基于规则的自动形式化。 Mohan Ganesalingam [100] 探索数学文本的语言基础,引入类型理论来消除单词和符号中的歧义。为了解决自然语言的灵活性和复杂性,许多系统采用受控自然语言(受形式化语法支配的自然语言受限子集),允许用户以自然而又形式化的方式表达数学证明。此类系统包括 Mizar [101]、NaProChe [102]、ForTheL [103]、MathNat [104] 和 Verbose Lean [105]。严格来说,这些系统可能不符合自动形式化的条件,因为它们并不直接处理整个自然语言。同时,一种名为语法框架(GF)[106] 的高级语法编写工具,越来越受到关注。此工具允许灵活地开发定制语法来直接解析数学文本。基于 GF 的系统包括 GLIF [107](一种符号自然语言理解和处理框架)和 GFLean [108](一种将自然语言语句翻译成 Lean 形式化语言的自动形式化框架)。
基于神经和 LLM 的自动形式化。Kaliszyk [109, 110] 使用机器学习进行早期实验,以解析非形式化数学文本,随后 Wang [111, 112] 应用神经机器翻译技术将非形式化数学语句转换为 Mizar 语言。与基于规则的方法不同,机器学习方法更灵活,可以捕获专家在创建规则时可能遗漏的自然语言中边缘情况。尽管 Wang [112] 探索无监督机器翻译 [113],但大多数早期的自动形式化机器学习方法严重依赖于非形式化和形式化语句的对齐语料库,而这很难大规模获得。
像 GPT-4 [3] 这样的 LLM 代表机器学习的新范式。这些自回归模型是在大量互联网数据上进行预训练的,只需几次演示,便可快速适应各种下游任务,而无需更新参数——这种功能称为上下文学习(ICL)。Wu [37] 表明,使用少于五个专家制作的示例,LLM 可以在一定程度上在形式化和非形式化数学陈述之间进行转换。这一发现很有希望,因为它表明可能不需要收集大量对齐的非形式化-形式化陈述语料库(考虑到形式系统的多样性,这几乎是不可能完成的任务)来实现自动形式化。Wu [37] 的另一个值得注意的观察是,(自动)非形式化通常比(自动)形式化更容易。使用同一模型,在形式化竞赛级数学陈述时实现约 30% 的准确率,而在非形式化更具挑战性的本科数学问题时实现超过 70% 的准确率。这一见解促使后续研究利用基于 LLM 的反向翻译,其中通过自动形式化现有形式化语句生成合成对齐语料库 [38, 114]。对这些合成数据上的较小模型进行微调可显着提高自动形式化性能。在合成语料库的基础上,Lu [115] 进一步融入来自形式化环境的其他信号,开发一个流程驱动的自动形式化器。
LLM 还显著推进自然语言向形式化域特定语言 (DSL) 的翻译,例如 SQL [116] 和线性时态逻辑(LTL) [117, 118]。更具表现力的形式化语言,往往能够容纳现代数学的陈述和证明,但面临着非静态词汇的挑战(定义和证明策略会随时间的推移而发展或扩展)。然而,自动形式化和 NL-到-DSL 的翻译密切相关,共享自洽和自校正等技术。
自动形式化的应用。自动形式化是非形式化数学和形式化数学知识之间的桥梁,可直接产生三个应用:(1)用于训练神经证明智体的数据论证(通过自动形式化非形式化定理陈述)[37, 39],(2)通过非形式化证明指导形式化定理证明 [81, 82],以及(3)验证非形式化推理 [83, 119]。
神经定理证明
在任何具有足够表达力的形式化系统中证明定理都是不可判定的 [120]。因此,定理证明不可避免地需要启发式方法。深度学习已被广泛用于学习启发式方法以在形式化系统中寻找证明。 Holophrasm [121] 是第一个证明训练深度神经网络来指导证明搜索可行性的系统。Holophrasm 使用 Metamath 形式化语言 [68] 作为其逻辑主干,在人工编写的形式化证明上训练门控循环单元 (GRU) 网络 [122],用作蒙特卡洛树搜索 (MCTS) 中的策略和价值网络 —— 与AlphaGo [78] 中使用的搜索算法相同。这种训练范式在 GPT-f [34] 中得到扩展,它训练一个 Transformer 模型来预测 Metamath 中的证明步骤。GPT-f 通过在非形式化数学相关数据(arXiv Math、Math StackExchange、Github)上进行预训练获得可观的收益。后续方法训练更丰富的架构,例如检索增强型 Transformer [35],并且还利用通用 LLM 的零样本提示 [36, 40]。
专家迭代。由于形式化定理证明环境可以保证证明的有效性,因此每当模型找到新定理的证明时,该证明都可以用作新的训练数据。在定理证明的背景下,专家迭代包括交替进行 (a) 尝试一组未解决的问题,以及 (b) 使用第一阶段生成的新训练数据,去微调模型。这已被证明可以改进形式化定理证明 [123, 124],包括最近的 AlphaProof [7] 的工作。然而,收益往往会在几次迭代后减少。利用形式化验证器可以提供的潜在无限反馈,如何获得持续的改进仍然是一个悬而未决的问题。
从错误中学习。形式化证明环境的一个主要好处,是它们可以在证明步骤失败时提供错误消息。COPRA [36] 是一种反复要求前沿 LLM 在搜索循环中预测证明步骤的方法,它将此类错误消息用作 LLM 提示的一部分。 COPRA 还配备一个记忆,用于存储它在证明特定定理时做出的错误预测子集,并且此记忆包含在 LLM 的提示中。由于前沿 LLM 能够在上下文中学习,这些策略降低类似错误一再重复的几率。然而,并非所有错误都会导致立即失败;许多错误会导致分心或无效路径,而没有朝着证明目标取得有意义的进展。识别并从此类错误中吸取教训,仍然是一个挑战。
非形式化证明草图。形式化语言中的神经定理证明也受益于自然语言生成的非形式化证明。值得注意的是,Draft, Sketch and Prove (DSP) [81] 提出首先让 LLM 以自然语言生成“证明草图”,然后尝试在 Isabelle 中将此草图形式化。Lean-STaR [125] 建议在 Lean 定理证明中,交错那些形式化和非形式化推理步骤。上面提到的 COPRA 还将非形式化证明作为可选输入,并将其用作通用 LLM 的零样本证明步骤预测查询的一部分。
库学习。人类数学家可以利用一个不断增长的数学结果库,来寻找新的结果。每个新定理都可能进入这个库,以便在以后的更高级工作中重复使用。为了实现这一行为,形式化数学人工智能研究开始探索库学习的概念,其中不仅搜索启发式方法(神经策略和价值函数)会随数据的增加而改进,而且可用的符号库也会得到改进。库学习首先在程序综合的背景下流行起来,例如 DreamCoder [126] 系统能够从先前任务的解决方案中发现越来越高级的抽象。对于定理证明,LEGO-Prover [127] 在 Isabelle 中展示这一想法,通过提出可能可重用的引理来帮助证明手头的定理。除了新定理之外,研究人员还探索学习策略(tactics),即程序性证明生成策略,可以缩短原本冗长的低级证明,通常针对特定的数学领域。策略归纳(tactics induction)已被证明可以在更简单的形式化中发挥作用 [128, 129],但尚未开发用于成熟环境,例如 Lean 或 Coq 中的策略语言(tactic language)。
前提选择和检索。庞大而不断变化的定理库对训练神经定理证明模型提出挑战,因为证明器不应仅受训练时给出的引理和定义的限制。一种可以适应不断变化库的架构,是检索增强生成 (RAG)。在 RAG 中,在尝试生成(例如,目标定理的证明)之前,首先从数据库中检索可能有用的数据(例如,来自数学库的引理),并将这些数据放在提供给 LLM 的上下文中。检索可能用于证明目标定理的引理,是一个称为前提选择 [130] 的问题,该问题已在学习-引导 [29、131、132] 和符号 [133–135] 定理证明器中得到广泛研究。甚至在神经网络直接应用于生成证明之前,它们在 DeepMath [29] 等早期工作中就已被证明可作为前提选择模型。
LeanDojo [35] 中引入的架构 ReProver 将检索应用于神经定理证明,它首先从数学库中检索引理。COPRA [36] 方法也将检索到的引理用作 LLM 查询的一部分。这种基于检索的方法最初在 LeanDojo 中提出,其一个迫切需要满足的条件,是在名为“新前提”的训练/测试数据分解中取得成功,其中在测试时看到的每个定理都需要至少一个在训练期间未见过的前提。这种设置更接近定理证明器的实际用例,其中人类数学家可能正在形式化一个新领域,经常以最近证明的引理为基础,其在原始训练数据中不存在。
自然语言中的验证推理
许多用非结构化自然语言表达的推理问题很难完全形式化。在这种情况下,仍然需要对自然语言推理进行某种形式的验证。有几篇论文提出通过训练有素、少量提示或符号验证器来“验证”自然语言推理。例如,小学数学应用题的 GSM8K 数据集 [15],对 GPT-3 进行微调以验证部分解决方案。将 GPT-3 作为解决方案生成器与微调后的验证器相结合,可显著提高准确率。OpenAI 发布 PRM800K,这是一个大规模的数据集,其中包含人类对逐步数学解决方案的书面反馈,已用于探索训练验证器 [136]。对于自然语言中的逻辑推理,NLProofS [137] 提出一种分步验证器,该验证器经过训练可以评估给定的结论是否由一组前提所蕴含,并用它来指导分步证明器。分步验证器也可以通过在专用于验证的上下文中提示 LLM 来获得,如在 Natural Programs [61] 中所做的那样。虽然验证器不能形式化保证推理的有效性,但它仍然提高整体性能和响应的忠实度。
与直接用自然语言验证相反,另一项工作探索使用 LLM 首先将自然语言中给出的问题形式化,然后利用符号求解器来寻找解决方案。在这个线程中,SatLM [138] 和 LINC [119] 都利用 SAT/SMT 求解器作为推理问题的逻辑后端,而 LLM 只负责将原始问题解析为适当的形式化对应物。然而,在这两种方法中,系统都没有提供分步解决方案,因为所有推理都发生在求解器内部,而且这种形式很难翻译回自然语言。LogicGuide [139] 建议使用形式化系统来约束 LLM 的分步推论,产生在形式化语言和自然语言之间交替的思维链(CoT)推理。在所有这些系统中,虽然形式化推理保证是合理的,但仍然很难评估自然语言问题是否已被正确形式化。这通常源于自然语言允许歧义和依赖常识或一般世界知识,而形式化问题必须完全明确,所有假设都必须完全写下来,这通常具有挑战性。
形式化系统验证和验证生成
软件 [140–142] 和硬件系统 [143, 144] 的形式化验证长期以来一直是形式化数学最重要的应用之一。在这个领域,人们首先将系统的正确性和安全性要求指定为形式化断言。接下来,使用定理证明和模型检查技术来证明系统满足其要求,或者查找错误。
具体而言,演绎定理证明已应用于一系列关键系统,包括微处理器设计 [145]、文件系统 [146, 147]、操作系统内核 [46, 148]、加密实现 [149, 150]、编译器 [47]、分布式系统 [151] 和网络基础设施 [152, 153]。然而,编写验证所需的形式化规范和证明需要大量的手动工作。例如,验证 seL4 OS 内核需要 20 多人-年以上的复杂工程工作 [154]。
形式化数学推理的人工智能提供一种有前途的方法,可以自动化系统验证中定理证明的许多繁琐方面,从而大幅降低成本。神经定理证明的进步(如前所述)可以有效地应用于使用形式化数学的软件和硬件验证工作,促进初始证明的生成 [36, 155, 156] 和现有证明的细化 [40, 157]。此外,LLM 可用于协助各种基于 SMT 的验证任务,包括推断必要的闭环不变量 [158–161]、生成有用的断言 [162] 以及将自然语言转换为形式化规范 [163]。
一个密切相关的挑战是使用人工智能同时生成具有正确性和安全性形式化证明的代码。例如,LLM 最近在编程任务方面取得显著进展 [164]。然而,LLM 生成的代码可能存在错误且不安全 [165, 166],最近的一些研究发现,LLM 生成的代码比人类编写的代码表现出更多的漏洞 [167]。将生成与形式化验证结合起来是防止此类故障的自然方法。
一种可能性是首先在 Coq 和 Lean 等框架中开发经过形式化验证的程序(或设计),并在 AI 的帮助下,然后使用标准编译器将开发的工件转换为更高效的低级实现。这种方法在定理证明和生成之间建立直接联系。另一种可能性是将基于 LLM 的代码和证明生成合并到高级验证友好型语言中,如 Dafny [168] 或 Verus [169]。
形式化规范的设计是形式化方法的一个特别具有挑战性方面。然而,前面提到的自动形式化技术可以帮助从自然语言或代码生成形式化规范。还有一些设置,例如转译 [170],其中规范是“免费”提供的。在转译中,人们从源语言系统的代码开始,然后使用人工智能生成另一种目标语言的代码。这两个系统必须是等效的;因此,源语言代码构成目标语言代码的完整规范。
形式化数学推理是广义上落地于形式化系统的数学推理,包括但不限于一阶/高阶逻辑 [20]、依赖类型理论 [21] 和带有形式化规范注释的计算机程序 [22]。这种形式化系统提供可以验证模型推理并提供自动反馈的环境。它们与现代 LLM [23] 使用的“工具”不同,能够对一大类命题的可证明真假进行建模。此类系统提供的反馈可以缓解数据稀缺问题;此外,此类系统能够进行严格的测试-时间检查,以抵抗幻觉。相比之下,非形式化数学,是指教科书、研究论文和在线数学论坛中常见的数学文本。非形式化数学将自然语言与符号(例如 LATEX)交织在一起,但这些符号没有自包含的形式化语义,而是依靠非形式化文本来传达其含义的重要部分。
AlphaProof [7] 和 AlphaGeometry [5] 是这一理念成功的两个突出例子。在这些系统出现之前,曾有许多使用 LLM 解决奥林匹克级数学问题的尝试失败了。上述系统的关键区别,在于对符号表示和证明检查框架的原则性使用。符号组件(AlphaProof 的 Lean [24, 25];AlphaGeometry 的域特定几何系统)用于执行神经网络的推理步骤并生成高质量的合成数据,从而实现前所未有的数学推理能力。
AlphaProof 和 AlphaGeometry 追随更宽泛领域文献的脚步,即在数学任务中协同使用形式化方法和机器学习 [26–33]。这些文献包括神经定理证明(即根据形式化定理陈述生成形式化证明)的研究 [34–36],以及自动形式化(即自动将非形式化数学转化为形式化数学)的研究 [37]。LLM 的出现大大加速该领域的研究。例如,由于缺乏用于微调的对齐非形式化-形式化对,自动形式化长期以来一直受到阻碍。LLM 可以通过合成数据 [38] 或执行不进行微调的自动形式化 [37] 来缓解此问题。因此,自动形式化在提升神经定理证明器能力方面具有潜力 [39]。LLM 也是定理证明的强大工具;特别是,最近的方法已经利用 LLM 来预测证明步骤并修复有缺陷的证明,而无需对形式化证明数据进行明确训练 [36, 40]。
围绕 LLM 和形式推理的研究基础设施正在迅速成熟。 Lean [24, 25] 是一种用于编写形式化证明的语言,在数学家中越来越受欢迎,从而催生形式化研究数学 [41] 和通用数学库 [42]。现在有多个框架 [35, 36] 支持 LLM 和 Lean 之间的交互。这些框架允许从人工编写的形式化证明中提取训练数据,以及通过与形式化环境交互进行定理证明。除了 Lean 之外,Coq [21] 和 Isabelle [20] 等语言证明的多语言基础设施也开始构建 [36]。最后,LLM 已被用来协助人类数学家编写形式化证明 [43],这可能会启动一个数据飞轮,其中不断增长的人工编写形式化数学数据会产生更强大的 LLM,这反过来又会简化更多数据的创建。
人工智能为形式化数学推理带来的新兴机遇导致研究活动的蓬勃发展。最近的一项调查 [44] 显示,2023 年该领域的出版物数量几乎翻了一番,2024 年很可能再翻一番。通过将自动形式化与强化学习相结合,AlphaProof [7] 成为第一个获得 IMO 银牌的人工智能。该领域的发展也直接应用于形式化验证 [45–48],形式化验证(formal verification)是计算机科学的一个核心问题,传统上一直是形式化数学最重要的应用之一。虽然形式化验证可以产生极其稳健和安全的软件和硬件系统,但从历史上看,除了最安全关键的应用程序外,在其他所有应用程序中部署它的成本都太高。人工智能可以通过大幅自动化形式化和证明工作来大幅降低这一成本,这些工作是形式化认证复杂系统所必需的。这将使未来大规模生产的软件和硬件系统比现在更加稳健。
本文概述数据和算法方面的未决挑战,以及未来进步的潜在路线。它并不是一项全面的调查,而是提供该领域下一步发展方向的观点,并呼吁社区团结起来加速进步。
数学推理是人工智能研究前沿面临的挑战。基于 AI4Math 非形式化方法及其局限性的分析,形式化数学推理可以作为推进 AI4Math 一条有希望的途径。
最先进的数学 LLM 及其局限性
NuminaMath 案例研究。NuminaMath [49] 是一门数学LLM,于 2024 年 7 月获得首届 AIMO 进步奖,成功解决 50 道测试题中的 29 道。测试问题是中级高中数学题,在评估前新建并保密。因此,与 GSM8K [15] 和 MATH [16] 等公共基准相比,它们的数据污染风险非常小。NuminaMath 是最先进数学 LLM 一个极好的例子,因为它包含许多关键要素,例如数学预训练 [10, 50–52]、微调 [8, 9] 和工具集成推理 [14, 53](如图所示)。
- 数学预训练(图 左):从通用 LLM(或编码 LLM,如 Code Llama [54])开始,可以继续在来自网络的大量数学相关文档上对模型进行预训练。结果称为基础数学 LLM。NuminaMath 和 AIMO 进步奖的其他顶级参赛者一致采用 DeepSeekMath-Base 7B [11] 作为基础数学 LLM。数据对 DeepSeekMath 的成功至关重要。为了从 Common Crawl 中检索高质量的数学文档,DeepSeekMath 的作者设计一个结合自动滤波和手动注释的数据选择流水线。
- 对分步解决方案进行微调(图 中):基础数学 LLM 在预训练期间接触大量数学内容,但还不能生成结构良好的数学问题解决方案。为了使模型与问题解决保持一致,可以在策划的数据集上对其进行微调,该数据集由具有详细分步解决方案的数学问题组成,例如以思维链的形式 [12]。可以通过预处理和组合异构问题源(例如在线论坛、高中考试、数学竞赛、问题集和手动注释)来构建此数据集。然后,问题和解决方案由 GPT-4 等 LLM 扩充和重新格式化 [3]。例如,NuminaMath 构建一个包含 860K 个问题和解决方案的大型数据集,涵盖高中和竞赛数学 [55]。
- 工具集成推理(图 右):经过微调的数学 LLM 已经获得通用解决问题的技能,但它们可能仍然难以进行精确计算(例如 162 × 731)和符号操作(例如,将 (x + 2)^8 展开为 x 的幂)。一个简单的解决方案是将这些操作外包给外部工具,例如 SymPy [56]。NuminaMath 执行工具集成推理,将自然语言中的推理与 Python 中的工具调用交织在一起。关键还是数据。该模型在由自然语言与工具调用轨迹相结合的工具集成解决方案上进行微调。NuminaMath 遵循 ToRA [14] 和 MuMath-Code [53] 中的方法,收集这个具有工具集成解决方案的数学问题数据集。
数据稀缺。NuminaMath 总结:“好的数据就是你所需要的一切” [49]。事实上,训练数据在非形式化方法的所有要素中都起着关键作用。因此,这种方法的成功仅限于可以以低成本获得大量高质量数据的领域。对于大学前数学,在互联网上收集问题和解决方案或手动注释它们相对容易。然而,很难将非形式化方法扩展到数据稀缺的领域,如高等数学。
高等数学是许多科学学科的基础。例如,气候建模依赖于偏微分方程。要充分发挥人工智能在科学发现中的潜力,它必须能够学习和应用高等数学。此外,培养人类水平的人工智能数学家的长期目标要求人工智能能够处理数学的新方面。根据定义,新颖性意味着难以收集分布内的训练数据。因此,展望未来,我们认为数据稀缺是 AI4Math 非形式化方法的主要障碍。
缺乏正确可验证性。除了数据稀缺之外,另一个挑战是评估,这对于人工智能取得可衡量的进展至关重要。现有的数学 LLM 是基于 GSM8K 和 MATH 等基准进行评估的,这些基准的组成是那些单个数字(或表达式)解的数学问题。因此,将模型生成的数字与真值进行比较,可以轻松进行评估。虽然这种方法适用于大学前的数学,但并不直接适用于更高级的数学。最近的研究试图通过限制具有数值解的问题来调整此评估框架以适应高级问题 [57]。
然而,这偏离数学研究中的常见做法。毕竟,几乎所有 AIME 问题都有数值解,但 Millennium Prize Problems 都没有。
高等数学并不局限于数值解,而是经常处理抽象的猜想和证明。即使对于经验丰富的数学家来说,验证证明也是一项艰巨的任务。数学论文的冗长审查过程以及围绕某些证明的争议(例如 abc 猜想的证明 [58])都表明了这一点。当使用 LLM 生成证明时,情况会变得更加复杂,因为它们会产生合理的幻觉。
为了解决验证困难,研究人员探索自我验证或自我纠正。这些方法使用 LLM 来检测和纠正证明中的推理错误,基于验证证明可能比生成证明更容易的假设。虽然自我验证已经得到广泛的研究,但结果好坏参半 [59–61]。越来越多的研究表明,当前的 LLM 难以进行内在的自我验证,即在不依赖外部反馈的情况下验证自己的生成 [62–66]。因此,在非形式化方法中能否实现严格的证明验证仍是一个悬而未决的问题。
用于形式数学推理的人工智能
从非形式化到形式化。由于数据和评估方面的挑战,很难将非形式化方法直接扩展到高等数学。形式数学推理有助于解决这些挑战。本文指的是以形式化系统为基础的数学推理,形式化系统具有格式良好公式的语法,并可以通过按照一组定义良好的推理规则操纵公式来进行推理。形式化系统的例子包括公理集合论[67, 68]、高阶逻辑[69–71]和依赖类型理论[72–74]。它们广泛应用于数学和计算机编程。在数学中,它们可以表达公理、定理和证明。在编程中,它们用于指定程序和推理语义。数学证明和计算机程序之间的联系因 Curry-Howard 对应关系等理论结果而加深[75]。
用形式化系统表达的数学,称为形式化数学。它具有表现力:几乎所有数学都可以用 ZFC 集合论的一阶逻辑来表达 [76]。同时,它强制执行形式约束:公式必须符合语法规则,其操作必须符合捕捉有效推理的推理规则。这类似于国际象棋和围棋等棋盘游戏在预定的规则和动作范围内进行的方式。人工智能在棋盘游戏中的成功 [77, 78] 表明,类似的方法可以应用于形式化数学,即使数学具有无限的配置和动作,可能比围棋更具挑战性。
具体来说,形式化系统可以成为人工智能学习数学的有用环境。形式化环境可以保证推理的合理性,提供自动反馈,并检查目标是否已实现。这对于解决非形式化方法面临的两个挑战至关重要:数据稀缺和评估。自动反馈可以作为学习信号,并减轻对人工注释训练数据的需求。严格的证明验证能够评估模型的推理,而不必担心幻觉。
证明助手和 Lean。一种具体的形式化系统称为证明助手,也称为交互式定理证明器。这些软件工具使人类能够编写关于数学或验证软件的形式化证明。证明助手的常见示例包括 Coq [21]、Isabelle [20] 和 Lean [24, 25]。它们具有不同的逻辑基础,但从用户的角度来看具有相似之处,无论“用户”是人类还是人工智能。为简单起见,将经常使用 Lean 作为示例来解释形式化数学推理中的关键概念,尽管许多想法可以应用于其他证明助手或一般形式系统。
如图演示如何使用 Lean 来形式化数学。从本质上讲,Lean 是一种具有依赖类型的函数式编程语言 [79],使其不仅适合编写常规程序,还适合编写数学定义、定理和证明。如图(中间)是一个示例 Lean 文件。首先,它将自然数 (Nat) 定义为零或另一个自然数的后继。然后,它将两个自然数之间的加法 (add) 定义为递归函数。最后,它陈述并证明定理 add_zero (∀n ∈ N, 0 + n = n)。Lean 可以自动检查证明是否符合定理陈述。从技术上讲,由于 Curry-Howard 对应关系,Lean 中的语句是类型,而证明是表达式。因此,证明检查本质上是类型检查,即验证表达式是否具有指定的类型。
注意 add_zero 的证明(上图 左)。在 Lean 中,定理证明是一个向后和交互的过程。它以定理陈述作为初始目标开始,用户输入证明步骤,称为“策略(tactic)”。当由 Lean 执行时,策略会将当前目标转换为希望更简单的子目标列表。然后,用户检查新目标并输入新策略,重复此过程,直到没有目标。此过程隐式定义一个证明树,其节点是目标,边缘是策略(上图 左)。用户在定理证明中起着关键作用。虽然像 Lean 这样的证明助手是为人类用户设计的,但在形式化数学推理中,用户也可以是人工智能或与人工智能合作的人类。
使用 Lean 形式化数学类似于软件开发,如上图 右 所示。 Lean 文件被组织成更大的代码单元,如库和项目,它们可以在 GitHub 上开源并被其他项目重用。例如,像 pfr(多项式 Freiman-Ruzsa 猜想 [80])这样的前沿数学研究的形式化通常建立在 mathlib [42](Lean 的通用数学库)中形式化基本概念之上。Mathlib 目前包含 82,847 个定义和 161,483 个定理,涵盖包括分析、代数和几何在内的广泛主题。它是最大的形式化数学整体存储库之一,包括相当一部分研究生水平的数学。
AI 与形式化数学相遇。将 AI 与 Lean 等证明助手相结合,可以使 AI 研究人员和证明助手社区(数学家、计算机科学家和形式化验证工程师)受益。一方面,证明助手为开发形式化数学推理的 AI 提供数据和环境。另一方面,人工智能可以通过自动执行简单证明和推荐有用的引理来增强证明助手的用户体验。
如图包括证明助手中人工智能和形式化数学交叉的常见任务。给定人类编写的非形式化数学(例如教科书和论文),自动形式化会自动将其转换为形式化定理和证明。给定定理陈述,定理证明旨在生成形式化证明。除了陈述之外,定理证明器还可以访问大量现有定义和引理库,例如 mathlib,并可以从库中选择有用的定义和引理。此外,用于自动形式化和定理证明的人工智能,可以产生新的定理和/或证明,从而丰富库并引导其自身能力。
下图说明最近神经定理证明器常用的架构,由两部分组成:策略生成和证明搜索。给定当前的证明目标(以及可选的定义和引理库),神经网络会为下一个策略生成建议。该网络通常基于人工编写的证明进行训练,并可以使用强化学习进一步微调。证明搜索算法将生成的策略组合成完整的证明。它从定理陈述作为根开始,通过执行策略来扩展节点,迭代地生成搜索树,直到找到证明。扩展顺序由搜索算法决定,例如最佳优先搜索 (BFS) 和蒙特卡洛树搜索 (MCTS) 等经典算法。
下图说明自动形式化的任务,即从非形式化到形式化的转换。它采用非形式化数学(例如教科书和论文)并将其转换为 Lean 等正式系统中的定理陈述。在某些情况下,自动形式化还会转换证明 [81, 82],这可以看作是定理证明的一种形式,给定非形式化证明作为提示。
形式化和非形式化的推理方法不应被视为互相排斥,形式化推理也不应该完全取代非形式化推理。相反,这些方法可以相互补充,实现既通用又严格的复杂推理。例如,可以将自动形式化与定理证明相结合,以解决用自然语言提出的问题 [83]。该模型可以在尝试自动形式化部分推理的同时生成自然语言中的推理步骤,从而从形式化环境中获得反馈并有助于过滤掉无效推理。这种形式化和非正式推理的结合称为自然语言中的验证推理。
数学人工智能的其他方向
虽然强调非形式化方法和形式化方法之间的区别,但 AI4Math 是一个广泛而开放的研究领域,并不完全符合这种二分法。例如,除了生成解决方案或证明之外,神经网络还可用于近似数学函数。这包括简单函数,如最大公约数 [84]、特征值 [85] 和模运算 [86]。这些函数可以通过众所周知的算法计算;然而,通过神经网络近似它们可以深入了解模型的能力和机制可解释性。此外,神经网络可以近似还没有有效算法的更复杂函数,应用于密码学 [87]、理论物理学 [88]、控制理论 [89] 和偏微分方程 [90]。
人工智能研究人员和数学家之间的合作努力在数学开放问题上取得显著进展。例如,FunSearch [91] 发现上限集问题的新解,这是叠加组合学中一个长期存在的开放问题 [92]。它将解决方案表示为程序,并利用 LLM 从现有程序生成新程序,使用自动评估器来评估解决方案的质量。Gukov [93] 使用强化学习 (RL) 生成拓扑中结点简化的变换,而 Wagner [94] 使用 RL 寻找图论中开放猜想的反例。PatternBoost [95] 通过将 Transformers 与经典局部搜索算法相结合来找到数学构建,证明其在图论和组合学中开放问题的有效性 [96]。这些工作与形式化数学推理有相似之处:它们也将数学目标表示为符号,并根据明确定义的推理规则对其进行操作。然而,它们是针对特定子域量身定制的,而不是依赖于 Lean 等通用数学语言。