Reducing the Costs of Proof Synthesis on Rust Systems by Scaling Up a Seed Training Set
本文介绍了 VeruSyn,这是一个可扩展的数据合成流水线,可为 Rust 程序生成 690 万条形式化证明,使经过微调的 Qwen2.5-Coder-32B 模型在证明合成任务中相比最先进的商业和研究模型展现出更优的成本效益与性能。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象你有一位才华横溢但缺乏经验的学徒程序员。你希望他们为一个关键系统(例如操作系统或银行安全软件)编写代码,而至关重要的是,你希望他们能写出一份数学证明,证明该代码 100% 无缺陷。
问题在于,虽然这位学徒擅长编写代码,但他们非常不擅长撰写这些证明。他们缺乏足够的范例可供学习,而“专家”(即最昂贵、最强大的 AI 模型)对于每一项任务都雇佣不起。
本文介绍了VeruSyn,这是一个巧妙的“训练营”,旨在利用海量自生成的练习材料,将那位缺乏经验的学徒培养成证明撰写大师。
以下是他们如何做到的,分解为简单步骤:
1. 问题:缺乏足够的练习册
在形式化验证(即证明背后的数学)领域,有一个名为Verus的工具,专用于 Rust 编程语言。它就像一位严格的老师,检查你的代码是否完美。
- 问题所在:带有完美证明的真实世界 Rust 代码示例极少。这就像试图仅通过听三首歌来学习弹钢琴。
- 结果:小型、廉价的 AI 模型无法学会撰写这些证明,因为它们未见过足够的范例。只有最昂贵、最“超级智能”的 AI 模型能做到这一点,而运行它们的成本极高。
2. 解决方案:"VeruSyn"训练营
研究人员构建了一个流水线,以创建海量的练习题和解答库。他们不仅仅是复制粘贴现有的书籍,而是建立了一个工厂来生成新的内容。他们采用了三种具体策略:
策略 A:“自学”循环(扩展规模)
想象一名学生被要求写一道数学题,然后立即解答它。
- AI 被教导同时生成一段 Rust 代码及其对应的证明。
- 难点:AI 会不断犯错或重复相同的问题。
- 修正:他们构建了一个过滤器。如果 AI 撰写的证明无法被严格的"Verus 老师”验证,他们就会将错误反馈给 AI,并要求其“调试”并修复。他们重复这一过程,直到拥有690 万个独特的、经过验证的程序。这就像给学徒提供了一座拥有数百万本练习册的图书馆,而不仅仅是三本。
策略 B:“教科书”方法(扩展覆盖范围)
“自学”循环在生成简单问题时表现出色,但遗漏了现实世界系统中存在的复杂内容。
- 修正:研究人员提取了官方Verus 教程(该工具的教科书),并将其分解为具体的课程(例如“如何处理循环”或“如何处理数学”)。
- 他们强制 AI 针对教科书中的每一课生成数千个新示例。这确保了学徒学习了每一条规则,而不仅仅是简单的规则。
策略 C:“导师日记”(扩展推理能力)
即使有数百万个示例,AI 在处理非常困难、复杂的问题时仍感到吃力。它知道规则,但不知道如何思考以解决难题。
- 修正:他们聘请了“超级专家”AI(即昂贵的那款)来解决少数真正棘手的问题。但他们没有仅仅保存最终答案,而是记录了整个思维过程:犯下的错误、读取的报错信息、修改的代码以及每一步使用的推理。
- 他们将这些“思维日志”转化为一种新型的训练数据。这就像给学徒提供了一本主厨的日记,详细展示他们如何一步步修复一个烤焦的舒芙蕾,而不仅仅是展示最终的蛋糕。
3. 结果:廉价的专家
在利用这个海量、高质量的数据集对中等规模的 AI 模型(Qwen2.5-Coder-32B)进行训练后,结果令人惊讶:
- 性能:训练后的模型在撰写证明方面几乎与最昂贵、最“超级专家”的商业模型一样出色。
- 成本:这是最大的胜利。昂贵的模型解决单个复杂证明任务的成本约为8.00 美元。而新的、经过训练的模型完成同样工作的成本仅为0.17 美元。
- 效率:在某些测试中,如果允许尝试几次(调试),新模型的表现实际上优于昂贵的模型,而其成本仅为后者的五十分之一。
类比总结
将昂贵的 AI 模型想象成奥运运动员,他们天生具有天赋,但需要巨额薪资来训练和参赛。
将新的 VeruSyn 方法想象成一个高科技体育学院。
- 他们选取了一名普通运动员(中等规模的 AI)。
- 他们提供了一座拥有数百万个练习项目的图书馆(自合成)。
- 他们确保运动员练习了规则手册中的每一个具体动作(教程合成)。
- 他们给运动员提供了奥运冠军在比赛中心理独白的录像带(智能体轨迹)。
结果如何?经过这种特定训练后,这名普通运动员能够与奥运冠军竞争,但运行成本仅为后者的零头。
他们的声明(以及未声明的内容)
- 他们声称:他们创建了一个包含 690 万个经过验证程序的数据集。他们训练出了一个模型,该模型在为 Rust 系统生成形式化证明方面具有极高的准确性。他们证明了这比使用当前顶级的商业模型便宜得多。
- 他们未声称:他们不声称这能解决世界上所有的软件缺陷,也不声称这适用于除 Rust 以外的语言(特别是配合 Verus 工具时)。他们严格专注于生成证明的成本和准确性,而非软件本身更广泛的社会影响。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。