ChatGPT 人工智能 GPT4 伦理 生成式 医疗 监管 安全 机器学习 深度学习 神经网络 计算机视觉 强化学习 模型 算法 应用 开发 研究 工具 平台 框架 数据集 训练 部署 安全 合规 培训 投资 LLM,llm AI,ai,Ai 大模型 大语言模型 制图 生图 绘图 文生图 文生视频 生成式AI AGI 世界模型 sora chatGPT,chatgpt,ChatGpt claude openai Llama deepseek midjourney 红熊猫模型 Red panda,panda Stable Diffusion,StableDiffusion,stable DALL- E 3 DALL E DALL Flux,flux 扩散模型 混元大模型 文心一言 通义千问 可灵 Pika PixelDance 豆包 月之暗面 零一万物 阶跃星辰 搜索增强 MiniMax Talkie Agent prompt fastai LangChain TTS 微调 提示词 知识库 智能体
# 热门搜索 #
搜索
加州理工华人用AI颠覆数学证明!提速5倍震惊陶哲轩,80%数学步骤全自动化
6251点击    2024-04-23 15:01

Lean Copilot,让陶哲轩等众多数学家赞不绝口的这个形式化数学工具,又有超强进化了?


就在刚刚,加州理工教授Anima Anandkumar宣布,团队发布了Lean Copilot论文的扩展版本,并且更新了代码库。



论文地址:https://arxiv.org/pdf/2404.12534.pdf


最新实验表明,这个Copilot工具,可以自动化80%以上的数学证明步骤了!这个纪录,比以前的基线aesop还要好2.3倍。


并且,和以前一样,它在MIT许可下是开源的。



而对此做出巨大贡献的,是一位华人小哥宋沛洋,他是UCSB的荣誉CS本科生,加州理工学院计算+数学科学(CMS)系的SURF研究员。


网友惊呼:所以,陶哲轩现在的数学研究可以原地加速5倍了?



LLM提出证明策略,人类无缝干预


团队就发布了这个Lean Copilot的工具,希望启动人类和LLM的协作,编写出100%准确的形式化数学证明。


它解决了一个核心技术挑战:在Lean中运行LLM的推理。


通过这个工具,我们就可以让LLM在Lean中提出证明策略,允许人类以无缝的方式干预和修改。



之所以开发这个项目,是因为自动化定理证明在如今仍是一项艰巨的挑战。


我们都知道,LLM在做数学和推理任务时,时常会犯错误、产生幻觉,十分不可靠。



因此,到目前为止,数学证明大多是手动推导的,需要仔细验证。


像Lean这的定理证明工具,倒是可以形式化证明过程的每一步,但人类编写起Lean,着实很费力。


在这种情况下,Lean Copilot的诞生就显得意义重大。


让陶哲轩多次震惊的神器:数学家还不会用就完蛋了


LLM可以作为辅助人类证明定理的工具,这一论点已经被陶哲轩多次证实了。


他前脚刚在博客里预测,26年AI将和搜索、符号数学工具结合,成为数学研究中值得信赖的合著者。


紧接着,佐证他观点的研究就如雨后春笋一般源源不断地冒出来。


去年6月,加州理工、英伟达、MIT等机构的学者,就构建了一个基于开源LLM的定理证明器LeanDojo。



9月,微软亚洲研究院、北大、北航等机构的研究人员,通过97个回合的「苏格拉底式」严格推理,成功让GPT-4得出了「P≠NP」的结论,破解了这个千禧年难题



去年10月,陶哲轩在GPT-4、Copilot的帮助下,直接发现了自己论文中的一处隐藏bug。


在用Lean4形式化第6页论点的过程中发现,他发现表达式在n=3,k=2时,实际上是发散的。


这个不太容易看出的bug能被及时捉住,多亏了Lean4。原因是,Lean要求他构建0<n−3,但陶哲轩只假设了n>2。由此,Lean无法基于负的0<n−3得到反证。



这一发现直接让陶哲轩瞳孔震惊。



而在去年年底,陶哲轩直接成功地用AI工具,完成了形式化多项式Freiman-Ruzsa猜想证明过程的工作



最后,依赖关系图已经完全被绿色所覆盖,Lean编译器也报告说,这个猜想完全遵循标准公理。



在这个过程中,所有最前线的数学研究者,都在第一时间感受到了AI对于数学研究颠覆力量的直接冲击。


Lean Coilot,让Lean更好用


而今天,Lean Copilot的这项研究,让Lean直接变得更强大了。


在这篇论文中,团队基于Lean Copilot构建了一些工具,用于建议证明步骤(策略建议)、完成中间证明目标(证明搜索)和使用LLM选择相关前提(前提选择)。


实验结果也充分表明了,跟Lean中现有的基于规则的证明自动化相比,Lean Copilot在辅助人类自动化定理证明上,是有效的。


Lean Copilot提供了一个通用框架,可以通过CTranslate 2在本地,或者在服务器上运行LLM的推理。


通过这个框架,用户就能创建各种自动化证明工具。



Lean是一个在数学家中很受欢迎的证明助手。如下图所示,Lean中的一个证明,是由一系列被称为策略(tactics)的证明步骤组成。



从整个定理开始作为初始目标,策略反复地将当前的目标转化为更简单的子目标,直到所有目标都被解决。


用户在由VSCode驱动的IDE中交互编写策略,在右边的infoview面板中显示目标。


生成策略建议


利用Lean Copilot,团队构建出了suggest_tropics,一种用LLM生成策略建议的工具。


而它本身,也是一种策略。


应用时,它将当前目标输入LLM,并且从LLM获取生成的策略候列表。


它会查看每个选项,看它们是否会 1)导致错误;2)结果没有错,但不能完成证明;3)顺利完成证明。


如果是1),这个策略就会被删除。



只有无错误的策略,才会显示在右边的视图面板中。


其中,成功完成证明的策略,使用绿色标记(类别3);没有错误改变证明目标,但未完成证明的策略,使用蓝色标记(类别2)。


注意!当所有列出的策略都属于类别2时,这个信息对于用户来说,可能极有价值。


在这种情况下,剩余目标的信息,可以直接帮助用户选择策略,作为下一个中间证明步骤。


看到建议后,用户可以选择是否接受,或使用它们作为灵感来源,制定新策略。


比如,我们在Lean代码中定义了一个定理add_abc,它的初始目标如图3右所示。



当我们输入suggest_tropics时,会在右边看到策略建议。


第一个策略显示为绿色,表示证明已成功完成。


接下来三个建议均为蓝色,这就表明无法直接完成证明,但不会导致错误。


因而,它们很有可能是有效的中间证明步骤!


同时,剩余子目标也显示了出来。


而Tactic state字段显示No goal,是因为至少有一个策略建议可以被证明。



搜索完整证明


此外,因为人类和机器都不能始终如一地产生正确的策略,因此在这个过程中必须回溯、探索不同的替代方案,这个过程就是证明搜索。


当是上面所说的Suggest_tropics,仅能生成当前步骤的策略,不具备搜索多策略证明的能力。


为此,团队将其与基于规则的证明搜索工具aesop结合起来,构建了一个基于LLM的证明搜索工具。


Aesop会将最佳优先搜索作为Lean的策略实施,并且允许用户配置搜索树的扩展方式。



搜索树是由作为节点的目标组成。


起初,它只有原始目标作为根节点。在每一步中,aesop都会选择最有希望的未扩展节点,通过应用策略对其扩展,将生成的节点添加为子节点。


而当aesop找到一条从根源到可轻松解决的目标的路径,就证明搜索成功了!


因此,aesop的性能关键取决于用户是否配置了有效的规则集。


这就可以看出,aesop缺乏灵活性。因此,Search_proof通过在每一步中由suggest_tropics生成的目标相关策略,来增强aesop的规则集,让它变得更加灵活。


对于图3中的原始目标,用户只需输入search_prrof,找到可以解决目标的完整证明,就显示在了信息视图中(图5右)。


可以看到,由于发现了成功的证据,所以剩余的Tactic state是No goals。



选择注释好的前提


此外,定理证明中另一项具有挑战性的重要任务是,找到减少或完成证明的相关前提。


除了源码库和标准库中有大量前提,Lean还有一个大型数学库(Mathlib)。


然而,从所有库中搜索候选前提,极其困难且耗时耗力。


所以许多人都试图,能在Lean,或其他的证明助手中得到辅助,或自动完成这一过程。



在Lean中,最先进的前提选择方法是,直接在Lean中实现的基于随机森林(random forest)的框架。


然而,前提选择任务非常适合检索增强型LLM,即在大模型训练期间训练检索矩阵(前提嵌入),以估计证明目标与候选前提之间的相关性。


给定推理时的证明目标,首先将目标编码成一个向量,然后在前提嵌入和目标向量之间执行矩阵向量乘法。


然后,为了选择前k个前提(其中k可以是一个超参数,决定用户想要返回多少个前提),这时只需返回得分最高的k个前提。


而要在Lean中执行推理任务,除了Lean Copilot提供的快速推理外,还需要一个高效的矩阵乘法库和一个C++的numpy矩阵阅读器。


研究人员采用了来自CTranslate2的矩阵乘法函数,和来自Libnpy的C++快速numpy文件阅读器。


他们再次通过FFI机制,将这些数链接到Lean。


因此,前提选择的策略可以非常高效地运行,因为前提嵌入可以预先计算,所有后续操作都可以使用上文介绍的库在C++中快速完成。


在获得返回的前提后,研究者进一步用有用的信息对其进行注释。


这里将所有前提所分为两类:可直接在当前环境中使用的前提(范围内前提)和不可直接在当前环境中使用的前提(范围外前提)。


这取决于是否导入了所需的软件包。


如果已经导入了前提所需的包,则可以轻松使用该前提。如下图6显示了带注释的范围内前提。



图7所示是带注释的范围外前提。



下面举个使用「前提选择」的例子,对于图3中的定理add_abc,可以直接在证明中输入select_premises(图8左)。


然后,相关前提的列表,就会出现在信息视图中(图8右)。


对于这个简单的定理,可以清晰看到所选的前提确实相关,因为它们都与自然数和加法规则有关。


在这种情况下,所选的4个前提都在当前范围内,这意味着它们的模块已经导入。



如上,便是研究人员通过Lean Copilot构建的三个实用的证明自动化工具,用于策略建议、搜索证明和前提选择。


81.2%的证明步骤,全都自动化了


通过Lean Copilot框架,研究人员凭经验提出了假设——在Lean交互式定理证明(ITP)中进行人机协作是有益的。


由于Lean中的定理证明过程,主要以策略证明为主。


因此,在具体实验中,作者主要评估了用于「策略建议」,以及「证明搜索」的证明自动化工具。


总而言之,aesop是当前是一种用于证明搜索,最先进的基于规则的证明自动化工具。


研究人员在两种情况下,验证了基于LLM的搜索证明与aesop相比的有效性:


(1)自主证明定理(LLM独立完成)


(2)协助人类进行定理证明(人类与AI协作)


此外,研究者还将搜索证明与策略建议进行了比较,以证明除了单一策略建议之外,搜索证明体现的优势。


研究Lean Copilot如何有效地帮助人类进行ITP的过程,类似于人类在软件编程中使用Copilot的范式。


也就是说,当我们面对一个目标时,首先会调用Copilot,看其是否可以直接解决问题。


如果不能,我们会进一步简化目标,然后再次尝试Copilot。然后,一直重复上述过程,直至Copilot成功解决剩余目标。


而研究人员便是通过这样的迭代协作范例中,去查看每个证明自动化工具可以自动化多少人力。


具体结果,如下表1显示。


证明搜索(search_proof)可以自动证明64%的定理(50个中的32个),明显高于aesop和策略建议(suggest_tropics)。


当用于辅助人类时, 证明搜索仅需要平均1.02个手动输入策略,这也比aesop(3.62)和策略建议(2.72)更好。



最后,对于每个测试的定理,作者计算了三个工具中每一个可以自动化的证明步骤的百分比。


结果发现,证明搜索可以自动完成定理中约81.2%的证明步骤,明显高于策略建议(48.6%)和aesop(35.2%)。


总之,证明搜索的性能比策略建议,要高出1.67倍,比基于规则的基线aesop高2.31倍。


通过Copilot在Lean中进行本地LLM推理


Lean Copilot中的tactic建议、证明搜索和前提选择,这三个任务在本质上可能看起来不同,但对于用户体验的要求是相似的。


它们都需要足够快速地生成响应,具有适中的计算需求,同时在Lean中运行。


用户之所以有这些要求,是因为Lean本身在大多数情况下都能非常快速地提供环境反馈(比如剩余目标,错误信息,类型信息等)。


这种快速,跟证明定理的本质是一致的——它需要连贯的推理。


如果Lean Copilot需要用户等待很长一段时间,那么人类和AI之间的协作就很难发挥作用。


同样,我们也非常希望满足低计算的需求。因为Lean中的定理证明本身不需要GPU,可以在用户本地的笔记本电脑上运行。


因此,能够在大多数硬件(包括没有GPU的笔记本电脑)上高效运行,对于Lean的用户就非常重要。


因为用户在编写证明时,可能无法访问支持CUDA的GPU。


因为需要满足快速推理和低计算需求,而且所有流行的高效深度学习框架都是在Python中,团队想到的一个自然的解决方案,就是在Python中托管模型(本地或远程),然后从Lean向模型发出请求。


然而,这种方法会受到进程间通信的开销的影响,并且它需要用户执行额外的设置步骤,并不适合Lean的传统工作流程。


为了克服这些问题,Lean Copilot通过外部功能接口(FFI)在Lean中本地运行LLM。


FFI是一种机制,可以用一种语言编写的程序调用另一种语言的子程序。


Lean部分用c++实现,可以与c++高效互操作。


程序员可以在Lean中声明一个函数,但在c++中实现函数体。实现会被编译到一个共享库中,并动态链接到Lean。


默认情况下,我们采用的是LeanDojo预训练的repver模型。它基于一个编码器-解码器转换器,BVT5,它将输入字符串映射到输出字符串。


Lean Copilot通过将模型包装成一个对字符串操作的c++函数,使其在Lean中可运行,该函数可以通过FFI在精益中调用。



华人作者立大功


最新论文中的三人团队,也是23年6月开源平台LeanDojo其中的作者。




宋沛洋是加州大学圣巴巴拉分校创意研究学院(CCS)的计算机科学荣誉本科生,导师是Richert Wang和Phill Conrad 。


与此同时,他还是加州理工学院计算与数学科学系(CMS)的SURF研究员,由Anima Anandkumar教授和Kaiyu Yang博士共同指导。



另外,他还是UC伯克利建筑实验室的研究员,与Tim Sherwood和Dr. Jeremy Lau(谷歌)一起合作。


他的研究兴趣是机器学习(ML),涉及自然语言处理(NLP)和计算机视觉(CV)等应用领域,以及系统和编程语言(PL)等基础理论。


宋沛洋最近的研究主要有两个方向。


一是神经符号推理和人工智能数学(AI4Math),将大模型与交互式定理证明器(ITPs)相结。


另一个是基于时序逻辑的高能效机器学习。


Kaiyu Yang(杨凯峪)



杨凯峪是加州理工学院计算+数学科学(CMS)系的博士后研究员,导师是Anima Anandkumar。


他曾在普林斯顿大学获得了博士学位,导师是Jia Deng,还曾与Olga Russakovsky、陈丹琦一起工作。


他的研究重点是神经符号人工智能,旨在使机器学习能够进行符号推理,希望通过两个方向实现:


(1)将机器学习应用于符号推理任务,如形式逻辑或自然语言中的数学推理和定理证明;


(2)将符号组件引入机器学习模型,使其更具可解释性、可验证性和数据高效。


目前,他正在研究能够理解和推理数学的人工智能。数学推理是人类智能的一个重要里程碑,它有可能改变科学和工程中的许多重要问题,比如解决偏微分方程和公式验证。


Anima Anandkumar



Anima Anandkumar现在是加州理工学院计算和数学科学教授。


她的研究兴趣主要集中在大规模机器学习、非凸优化和高维统计等领域。


张量分解方法具有极高的并行性和可扩展性,可应用于海量数据。它可以保证收敛到最优解,并对许多概率模型(比如Markov模型)输出一致的估计结果。


更广泛地说,Anandkumar教授一直在研究加速非凸优化的高效技术。


本文来自微信公众号“新智元”









关键词: AI , AI数学 , AI学术 , Lean Copilot
AITNT资源拓展
根据文章内容,系统为您匹配了更有价值的资源信息。内容由AI生成,仅供参考
1
AI工作流

【开源免费】n8n是一个可以自定义工作流的AI项目,它提供了200个工作节点来帮助用户实现工作流的编排。

项目地址:https://github.com/n8n-io/n8n

在线使用:https://n8n.io/(付费)


【开源免费】DB-GPT是一个AI原生数据应用开发框架,它提供开发多模型管理(SMMF)、Text2SQL效果优化、RAG框架以及优化、Multi-Agents框架协作、AWEL(智能体工作流编排)等多种技术能力,让围绕数据库构建大模型应用更简单、更方便。

项目地址:https://github.com/eosphoros-ai/DB-GPT?tab=readme-ov-file



【开源免费】VectorVein是一个不需要任何编程基础,任何人都能用的AI工作流编辑工具。你可以将复杂的工作分解成多个步骤,并通过VectorVein固定并让AI依次完成。VectorVein是字节coze的平替产品。

项目地址:https://github.com/AndersonBY/vector-vein?tab=readme-ov-file

在线使用:https://vectorvein.ai/(付费)

2
RAG

【开源免费】graphrag是微软推出的RAG项目,与传统的通过 RAG 方法使用向量相似性作为搜索技术不同,GraphRAG是使用知识图谱在推理复杂信息时大幅提高问答性能。

项目地址:https://github.com/microsoft/graphrag

【开源免费】Dify是最早一批实现RAG,Agent,模型管理等一站式AI开发的工具平台,并且项目方一直持续维护。其中在任务编排方面相对领先对手,可以帮助研发实现像字节扣子那样的功能。

项目地址:https://github.com/langgenius/dify


【开源免费】RAGFlow是和Dify类似的开源项目,该项目在大文件解析方面做的更出色,拓展编排方面相对弱一些。

项目地址:https://github.com/infiniflow/ragflow/tree/main


【开源免费】phidata是一个可以实现将数据转化成向量存储,并通过AI实现RAG功能的项目

项目地址:https://github.com/phidatahq/phidata


【开源免费】TaskingAI 是一个提供RAG,Agent,大模型管理等AI项目开发的工具平台,比LangChain更强大的中间件AI平台工具。

项目地址:https://github.com/TaskingAI/TaskingAI