论文

通过形式化验证的语义等价自我对弈改进 LLM 代码推理

Improving LLM Code Reasoning via Semantic Equivalence Self-Play with Formal Verification

模型训练合成数据

摘要

我们在 Haskell 中引入了语义等价的自我对弈框架,利用形式验证来指导生成器和评估器之间的对抗性训练。该框架利用 Liquid Haskell 证明来验证等价性和基于执行的不等价反例,并通过难度意识课程进行组织。为了促进这一点,我们发布了 \textbf{OpInstruct-HSx},这是一个由 $\approx$28k 验证的 Haskell 程序组成的合成数据集。实证实验表明,我们的评估器有效地转移到下游任务,在 EquiBench 上实现了高达 13.3pp 的准确度增益,并在 PySecDB 上实现了一致的增益。对 SEQ-SINQ 体系的消融研究表明,虽然不等价监督提供了数据量,但等价证明对模型的推理能力负有独特的责任。整个训练流程和数据集分别在 GitHub 和 Hugging Face 上公开发布。