Transformer的技能树是越来越厉害了。
来自马萨诸塞大学、谷歌和伊利诺伊大学厄巴纳-香槟分校(UIUC)的研究人员,最近发表了一篇论文,他们通过使用大型语言模型,成功地实现了自动生成完整定理证明的目标。
论文地址:https://arxiv.org/pdf/2303.04910.pdf
这篇工作以Baldur(北欧神话中雷神Thor的兄弟)命名,首次证明了Transformer可以生成全证明,还表明在为模型提供额外上下文时,可以改进模型先前的证明。
该论文在2023年12月的ESEC/FSE(ACM欧洲软件工程联合会议和软件工程基础研讨会)上发表,并荣获杰出论文奖。
众所周知,软件中不可避免地存在着bug,这对一般应用程序或网站来说可能不会带来太大问题。然而,对于关键系统背后的软件,如加密协议、医疗设备和航天飞机,我们必须确保没有任何错误。
——一般的代码审查和测试并不能给出这个保证,这需要形式验证(formal verification)。
对于formal verification,ScienceDirect给出的解释为:
the process of mathematically checking that the behavior of a system, described using a formal model, satisfies a given property, also described using a formal model
指的是从数学上检查,使用形式模型描述的系统行为,是否满足给定属性的过程。
简单来说就是,利用数学分析的方法,通过算法引擎建立模型,对待测设计的状态空间进行穷尽分析的验证。
形式化软件验证,对于软件工程师来说是最具挑战性的任务之一。例如CompCert,使用Coq交互式定理证明器验证的C编译器,是无处不在的GCC和LLVM等使用的唯一编译器。
然而,手动形式验证(编写证明)的成本却相当巨大,——C编译器的证明是编译器代码本身的三倍以上。
所以,形式验证本身是一项“劳动密集型”的任务,研究人员也在探索自动化的方法。
比如Coq和Isabelle等证明助手,通过训练一个模型来一次预测一个证明步骤,并使用模型搜索可能的证明空间。
而本文的Baldur首次在这个领域引入了大语言模型的能力,在自然语言文本和代码上训练,并在证明上进行微调,
Baldur可以一次就生成定理的完整证明,而不是一次一个步骤。
如上图所示,仅使用定理语句作为证明生成模型的输入,然后从模型中抽取证明尝试,并使用Isabelle执行证明检查。
如果Isabelle接受了证明尝试而没有错误,就说明证明成功;否则从证明生成模型中抽取另一个证明尝试。
Baldur在6336个Isabelle/HOL定理及其证明的基准上进行评估,从经验上证明了完整证明生成、修复和添加上下文的有效性。
另外,这个工具之所以叫Baldur,可能是因为当前最好的自动证明生成工具叫做Thor。
Thor的证明率更高(57%),它使用较小的语言模型结合搜索可能证明空间的方法预测证明的下一步,而Baldur的优势在于它能够生成完整的证明。
不过Thor和Baldur两兄弟也可以一起工作,这样可能把证明率提升到接近66%。
自动生成完整证明
Baldur由Google的大语言模型Minerva提供支持,Minerva在科学论文和包含数学表达式的网页上进行训练,并对有关证明和定理的数据进行了微调。
Baldur可以与定理证明助手Isabelle合作,Isabelle对证明结果进行检查。当给定一个定理陈述时,Baldur几乎在41%的时间内能够生成一个完整的证明。
为了进一步提高Baldur的性能,研究人员向模型提供了额外的上下文信息(比如其他定义、或理论文件中的定理陈述),这使证明率提高到47.5%。
这意味着Baldur能够获取上下文,并使用它来预测新的正确证明,——类似于程序员,当了解了相关方法和代码之后,他们更有可能修复程序中的错误。
下面举个例子(fun_sum_commute定理):
这个定理来自形式证明档案中一个名为多项式的项目。
当人工编写证明的时候,会区分两种情况:集合是有限的或者不是有限的:
所以,对于模型来说,输入是定理陈述,而目标输出是这个人工编写的证明。
Baldur认识到这里需要归纳,并应用了一种特殊的归纳法则,称为infinite_finite_induct,遵循与人类书面证明相同的总体方法,但更简洁。
而因为需要归纳,Isabelle使用的Sledgehammer默认无法证明这个定理。
训练
为了训练证明生成模型,研究人员构建了一个新的证明生成数据集。
现有数据集包含单个证明步骤的示例,每个训练示例包括证明状态(输入)和要应用的下一个证明步骤(目标)。
给定一个包含单个证明步骤的数据集,这里需要创建一个新数据集,以便训练模型一次预测整个证明。
研究人员从数据集中提取每个定理的证明步骤,并将它们连接起来以重建原始证明。
证明修复
还是以上面的fun_sum_commute为例,
Baldur首次生成的证明尝试,在证明检查器中失败。
Baldur试图应用归纳法,但未能首先将证明分解为两种情况(有限集与无限集)。Isabelle返回以下错误消息:
为了从这些字符串中派生出一个证明修复训练示例,这里将定理陈述、失败的证明尝试和错误消息连接起来作为输入,并使用正确的人工编写的证明作为目标。
上图详细介绍了训练数据的创建过程。
使用证明生成模型,针对原始训练集中的每个问题,对温度为0的证明进行采样。
使用校对助手,记录所有失败的校样及其错误消息,然后,继续构建新的证明修复训练集。
对于每个原始训练示例,将定理语句、证明生成模型生成的(不正确的)候选证明以及相应的错误消息连接起来,以获得新训练示例的输入序列。
添加上下文
在定理陈述之前添加理论文件的行,作为额外的上下文。比如下图这样:
Baldur中带有上下文的证明生成模型,可以利用这些附加信息。出现在fun_sum_commute定理语句中的字符串,在这个上下文中再次出现,因此围绕它们的附加信息可以帮助模型做出更好的预测。
上下文可以是陈述(定理、定义、证明),还可以是自然语言注释。
为了利用LLM的可用输入长度,研究人员首先从同一个理论文件中添加多达50个语句。
在训练过程中,首先对所有这些语句进行标记化,然后截断序列的左侧以适应输入长度。
上图展示了有上下文和无上下文的生成模型的证明成功率与证明尝试次数的关系图。我们可以看出,具有上下文的证明生成模型始终优于普通生成模型。
上图展示了不同尺寸和温度模型的已验证定理与推理成本之比。
我们可以看到生成模型的证明成功率,以及8B模型和62B模型的上下文与证明尝试次数的关系。
具有上下文的62B证明生成模型优于具有上下文的8B模型。
不过,作者在这里强调,由于这些实验的成本较高,他们也无法调整超参数,62B模型如果经过优化可能会表现得更好。
以上是陶哲轩看了都直呼内行!谷歌等用LLM自动证明定理拿顶会杰出论文,上下文越全证得越好的详细内容。更多信息请关注PHP中文网其他相关文章!

有关使用distressai创建色情图片/视频的教程:1。打开相应的工具Web链接; 2。单击工具按钮; 3。根据页面提示上传所需的生产内容; 4。保存并享受结果。
![[带AI的吉卜力风格图像]介绍如何使用Chatgpt和版权创建免费图像](https://img.php.cn/upload/article/001/242/473/174707263295098.jpg?x-oss-process=image/resize,p_40)
OpenAI发布的最新模型GPT-4o,不仅能生成文本,还具备图像生成功能,引发广泛关注。其中最受瞩目的功能便是“吉卜力风格插画”的生成。只需将照片上传至ChatGPT,并给出简单的指令,即可生成宛如吉卜力工作室作品般梦幻的图像。本文将详细解读实际操作流程、效果感受,以及需要注意的错误和版权问题。 OpenAI发布的最新模型“o3”详情请点击此处⬇️ OpenAI o3(ChatGPT o3)详解:特性、定价体系及o4-mini介绍 吉卜力风格文章的英文版请点击此处⬇️ 利用ChatGPT创作吉

作为一种新的交流方法,在地方政府中使用和引入Chatgpt引起了人们的关注。尽管这种趋势在广泛的领域正在发展,但一些地方政府拒绝使用Chatgpt。 在本文中,我们将介绍地方政府中ChatGPT实施的示例。我们将通过各种改革实例,包括支持文件创建和与公民对话,从而探索如何通过各种改革实例来实现地方政府服务的质量和效率提高。 不仅旨在减少员工工作量并改善公民的便利性的地方政府官员,而且都对高级用例感兴趣。

您是否听说过一个名为“福卡斯提示系统”的框架?诸如ChatGpt之类的语言模型非常出色,但是适当的提示对于发挥其潜力至关重要。福卡(Fukatsu)提示是旨在提高输出准确性的最受欢迎的提示技术之一。 本文解释了福卡式风格提示的原理和特征,包括特定的用法方法和示例。此外,我们还引入了其他众所周知的及时模板和有用的技术来及时设计,因此,根据这些设计,我们将介绍C。

CHATGPT搜索:使用创新的AI搜索引擎有效获取最新信息! 在本文中,我们将彻底解释OpenAI提供的新的ChatGpt功能“ ChatGpt搜索”。让我们仔细研究一下功能,用法以及该工具如何根据实时网络信息和直观的易用性来帮助您提高信息收集效率。 chatgpt搜索提供了一种对话互动搜索体验,该体验在舒适,隐藏的环境中回答用户问题,以隐藏广告

信息爆炸的现代社会,创作出令人信服的文章并非易事。如何在有限的时间和精力内,发挥创造力,撰写出吸引读者的文章,需要高超的技巧和丰富的经验。 这时,作为革命性的写作辅助工具,ChatGPT 备受瞩目。ChatGPT 利用庞大的数据训练出的语言生成模型,能够生成自然流畅、精炼的文章。 本文将介绍如何有效利用 ChatGPT,高效创作高质量文章的技巧。我们将逐步讲解使用 ChatGPT 的写作流程,并结合具体案例,详细阐述其优缺点、适用场景以及安全使用注意事项。ChatGPT 将成为作家克服各种障碍,

使用AI创建图表的有效指南 视觉材料对于有效传达信息至关重要,但是创建它需要大量时间和精力。但是,由于AI技术(例如Chatgpt和dall-e 3)的兴起,图表创建过程正在发生巨大变化。本文使用这些尖端工具提供了有关有效而有吸引力的图创建方法的详细说明。它涵盖了从想法到完成的所有内容,并包含大量信息,可用于创建图表,从可以使用的特定步骤,提示,插件和API以及如何使用图像一代AI“ dall-e 3.”)

解锁ChatGPT Plus:费用、支付方式及升级指南 全球瞩目的顶尖生成式AI,ChatGPT已广泛应用于日常生活和商业领域。虽然ChatGPT基本免费,但付费版ChatGPT Plus提供多种增值服务,例如插件、图像识别等,显着提升工作效率。本文将详细解读ChatGPT Plus的收费标准、支付方式及升级流程。 OpenAI最新图像生成技术“GPT-4o图像生成”详情请点击: GPT-4o图像生成详解:使用方法、提示词示例、商业应用及与其他AI的差异 目录 ChatGPT Plus费用 Ch


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SublimeText3汉化版
中文版,非常好用

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Dreamweaver CS6
视觉化网页开发工具

Atom编辑器mac版下载
最流行的的开源编辑器