证明网:自动形式化和形式化本科水平的数学
摘要
我们介绍了 ProofNet,这是一个用于本科数学的自动形式化和形式证明的基准。ProofNet 基准由 371 个示例组成,每个示例由 Lean 3 形式化定理陈述、自然语言定理陈述和自然语言证明组成。这些问题主要选自流行的本科纯数学教科书,涵盖的主题包括实分析和复分析、线性代数、抽象代数和拓扑学。我们希望 ProofNet 成为一个具有挑战性的基准,推动自动格式化和自动定理证明领域的进步。我们报告了通过上下文学习实现语句自动规范化的基准结果。此外,我们还介绍了两种新颖的语句自动格式化方法:提示检索和蒸馏无本回译。
Introduction
创建自动数学家,即能够自主提出猜想和证明定理的系统,是数学和人工智能领域的一项长期挑战[Gelernter, 1959]。近年来,神经生成语言建模已成为实现数学自动化的一种有前途的方法[Rabe and Szegedy, 2021]。
将语言模型应用于数学的一种方法是将自然语言中的数学推理视为序列学习任务[Welleck 等人,2021,2022;Lewkowycz 等人,2022]。用自然语言进行数学推理的一个主要优势是互联网上有大量的自然语言数学数据[Lewkowycz 等人,2022]。
另一种方法是在交互式定理证明器(ITP)中使用语言模型指导形式化证明搜索[Yang 和 Deng,2019;Polu 和 Sutskever,2020;Polu 等人,2022;Jiang 等人,2022a]。这种方法的一个突出优点是,ITP充当了语言模型推理的验证器,可以自然地实现引导技术,如专家迭代[Silver等人,2017;Polu等人,2022]。
自动形式化是将数学自动形式化的任务,它试图在非正式数学推理和正式数学推理之间架起一座桥梁[Wang等人,2018;Szegedy,2020;Wu等人,2022a],有可能从大量的自然语言数学数据语料库中提取训练信号,同时仍将系统的推理建立在形式逻辑的基础上。然而,非正式数学和正式数学之间缺乏并行数据,这意味着自动形式化缺乏标准基准来指导该领域的进展。
为了弥补这一不足,我们提出了 ProofNet2 这一由并行自然语言和形式数学组成的基准,可用于评估自动形式化和定理证明。ProofNet 基准由 371 个并行的形式化定理语句、自然语言定理语句和自然语言证明组成,这些语句来自流行的本科纯数学教科书的练习。形式化语句由 Lean 3 定理证明器[de Moura et al.,2015]表达,并依赖于 Lean 的 mathlib [mathlib Community, 2020]。
基于语言模型的定理证明器和自动公式化系统通常是在由竞赛和奥林匹克式问题组成的基准上进行评估的[Zheng 等人,2022;Wu 等人,2022a]。虽然这类问题需要复杂的推理,但其解决方案只依赖于整数、实数、计数和几何等相对较少的基本事实。相比之下,现代研究数学需要掌握由成千上万个定义、公理和定理组成的庞大理论体系。完形空间的 Lean 3 形式化是研究级算术几何中的一个重要定义,它依赖于 3000 多个不同的定理和定义[Buzzard 等人,2020]。如何对如此庞大的知识库进行有效推理,是将语言模型应用于数学的一个重要未决问题 [Irving 等人,2016;Wu 等人,2022b;Tworkowski 等人,2022] 。
ProofNet 并不要求掌握所有现代数学知识,但提出了一个仍然雄心勃勃的目标,即推理本科数学的核心内容,包括基本分析、代数、数论和拓扑学。我们希望这一基准能促进能有效推理大型知识库的语言模型的发展。
为了在 ProofNet 上获得更强的基线,我们以 13 亿和 67 亿参数的规模训练并开源了 PROOFGPT 语言模型。这些模型是在 proof-pile 上训练的,这是一个包含 80 亿个标记的数学文本数据集。据我们所知,这是唯一针对普通数学进行微调的开源语言模型。
我们利用上下文学习建立了 ProofNet 定理自动规范化基线[Brown 等人,2020]。此外,我们还介绍了两种新颖的定理自动格式化方法,它们的性能优于我们的少量基线。提示检索使用嵌入数据库的最近邻搜索来创建提示,提示由与特定自然语言定理最相关的 mathlib 声明组成。Distilled backtranslation 是一种受无监督机器翻译工作启发的方法[Lample 等人,2017 年;Han 等人,2021a],该方法无需并行数据即可在大规模范围内优化语言模型以实现自动格式化。