OpenAI推出Lean-Gym:用强化学习叩开形式数学的证明之门

⭐ 201

OpenAI的开源项目Lean-Gym提供了一个兼容Gymnasium的API,用于与交互式定理证明器Lean进行交互。其核心创新在于,将抽象且高风险的数学证明构建任务转化为结构化的强化学习环境。通常由经过推理微调的语言模型担任的AI智能体,会在Lean中提出证明步骤或策略(tactics),环境则会以新证明状态、进度奖励以及证明完成或失败时的终止信号作为反馈。这形成了一个闭环系统,智能体可通过试错学习证明策略。该项目基于Lean 4构建,这是主要由微软研究院的Leonardo de Moura开发的最新版定理证明器。

Lean-Gym本质上是一个适配器,位于强化学习智能体与Lean 4内核之间,将动作(提议的证明步骤)翻译为Lean命令,并将观察结果(证明状态)转换为神经网络可处理的格式。环境状态本质上是Lean的`TacticState`,包含所有当前目标、假设和局部上下文。智能体的动作空间由有效的Lean策略(如`intro h`、`apply h1`、`simp at h2`)或更强大的、调用经过训练的语言模型生成策略字符串的指令组成。

奖励函数是塑造学习过程的关键设计选择。Lean-Gym可提供稀疏奖励(仅在完成证明时)或塑形奖励(例如,为减少剩余目标总数提供小额正向奖励,为调用昂贵策略提供负向奖励)。这带来了在长序列推理步骤中进行信用分配的经典强化学习挑战。

在架构上,该系统使用Lean的`Elab`框架进行元编程。当智能体提交一个策略时,Lean-Gym使用`Elab.runTactic`在当前目标上执行它,随后将生成的新`TacticState`序列化。一个关键的技术障碍是状态表示:如何将复杂的树状结构证明状态输入神经网络。常见方法包括将状态线性化为字符串,或使用图神经网络捕捉假设与目标之间的关系结构。

该项目与LeanDojo生态系统紧密相连,这是一个用于在Lean中进行定理证明的开源工具包。LeanDojo提供了以编程方式与Lean交互、从Mathlib等现有证明库中挖掘训练数据以及评估模型所必需的基础设施。该研究领域的核心由几个关键的GitHub仓库构成:`lean-gym`(OpenAI提供核心Gym接口的仓库)、`lean-dojo`(用于数据提取和交互的基础工具包,已获超1.2k星标)、`ProofNet`(一个从Mathlib提取的包含371个多样化本科水平定理陈述的基准数据集,用于评估自回归定理证明器),以及`llm-step`(展示如何在Lean-Gym框架内使用GPT-4等大型语言模型建议单个证明步骤的项目)。

技术深度解析

Lean-Gym的核心是一个适配器。它位于强化学习智能体与Lean 4内核之间,将动作(提议的证明步骤)翻译为Lean命令,并将观察结果(证明状态)转换为神经网络可处理的格式。环境状态本质上是Lean的`TacticState`,包含所有当前目标、假设和局部上下文。智能体的动作空间由有效的Lean策略(例如`intro h`、`apply h1`、`simp at h2`)或更强大的、调用经过训练的语言模型生成策略字符串的指令组成。

奖励函数是塑造学习过程的关键设计选择。Lean-Gym可提供稀疏奖励(仅在完成证明时)或塑形奖励(例如,为减少剩余目标总数提供小额正向奖励,为调用昂贵策略提供负向奖励)。这带来了在长序列推理步骤中进行信用分配的经典强化学习挑战。

在架构上,该系统使用Lean的`Elab`框架进行元编程。当智能体提交一个策略时,Lean-Gym使用`Elab.runTactic`在当前目标上执行它,随后将生成的新`TacticState`序列化。一个关键的技术障碍是状态表示:如何将复杂的树状结构证明状态输入神经网络。常见方法包括将状态线性化为字符串,或使用图神经网络捕捉假设与目标之间的关系结构。

该项目与LeanDojo生态系统紧密相连,这是一个用于在Lean中进行定理证明的开源工具包。LeanDojo提供了以编程方式与Lean交互、从Mathlib等现有证明库中挖掘训练数据以及评估模型所必需的基础设施。几个关键的GitHub仓库构成了该研究领域的支柱:

* `lean-gym`:OpenAI提供核心Gym接口的仓库。
* `lean-dojo`:用于数据提取和交互的基础工具包,已获得超过1.2k星标。
* `ProofNet`:一个从Mathlib提取的包含371个多样化本科水平定理陈述的基准数据集,旨在评估自回归定理证明器。
* `llm-step`:一个展示如何在Lean-Gym框架内使用GPT-4等大型语言模型建议单个证明步骤的项目。

主要在ProofNet数据集上的早期基准测试结果揭示了当前的前沿水平。纯粹的基于检索的方法(搜索现有证明)成功率很低。经过微调的语言模型,例如通过少量提示指令的CodeLlama变体或GPT-3.5 Turbo,显示出潜力,但在证明长度和新颖性方面存在困难。

| 方法 | 模型/方法 | ProofNet Pass@1 (%) | 关键局限 |
|---|---|---|---|
| 检索 | 基于Mathlib的k-NN | ~5% | 无法泛化到未见过的定理结构 |
| 微调LM | CodeLlama 7B (微调) | ~21% | 生成的策略看似合理但经常错误或不完整 |
| 大规模LLM | GPT-4 (少量提示) | ~29% (估计) | 成本高,非确定性,无法从在线反馈中学习 |
| RL智能体 (假设) | 在Lean-Gym上使用PPO | 不适用 (活跃研究) | 需要大量模拟,奖励塑形非易事 |

数据要点: 当前Lean中自动定理证明的最先进技术严重依赖于以引导式、逐步(工具使用)方式使用的大型预训练语言模型。纯粹的从零开始的强化学习仍然是一个遥远的目标,突显了该问题的样本效率低下。

关键参与者与案例研究

形式化数学的机器学习领域是企业研究实验室与学术机构之间合作竞争的结果。OpenAI携Lean-Gym入场,是直接进入了由他人开创的领域。

Google DeepMind 凭借其AlphaGeometry系统一直是主导力量,该系统解决了30个奥林匹克级别几何问题中的25个。虽然不基于Lean,但它展示了一种混合神经符号架构:神经语言模型预测新的几何构造,符号演绎引擎详尽地推导结果。这种蓝图——符号搜索的神经引导——直接适用于Lean-Gym范式。

微软研究院 是Lean本身的大本营。像Leonardo de Moura(Lean和Z3的创造者)和Sebastian Ullrich(Lean 4的首席开发者)这样的研究人员构建了使Lean-Gym等项目成为可能的基础设施。他们在Coprover上的工作探索了使用语言模型为Lean生成证明草图,这是交互式智能体方法的前身。

学术联盟: `lean-dojo` 项目由加州理工学院、纽约大学和华盛顿大学的研究人员领导。这个团队在创建标准化评估的数据管道和基准(ProofNet)方面发挥了关键作用。他们的工作强调可重复性和开放科学,与企业封闭的大规模实验形成了制衡。

常见问题

GitHub 热点“OpenAI's Lean-Gym Bridges Reinforcement Learning and Formal Mathematics”主要讲了什么?

Lean-Gym is an open-source project from OpenAI that provides a Gymnasium-compatible API for interacting with the Lean interactive theorem prover. Its core innovation lies in transf…

这个 GitHub 项目在“How to install and run OpenAI Lean-Gym locally”上为什么会引发关注?

At its core, Lean-Gym is an adapter. It sits between a reinforcement learning (RL) agent and the Lean 4 kernel, translating actions (proposed proof steps) into Lean commands and observations (proof states) into a format…

从“Lean-Gym vs LeanDojo: what's the difference and which to use”看,这个 GitHub 项目的热度表现如何?

当前相关 GitHub 项目总星标约为 201,近一日增长约为 0,这说明它在开源社区具有较强讨论度和扩散能力。