论文

GraphAlignCoder:对齐程序和证明图以生成代码

GraphAlignCoder: Aligning Program and Proof Graphs for Code Generation

模型训练奖励建模与过程监督

摘要

代码 大语言模型 (LLM) 可以生成语法上合理的程序,但违反了隐藏的语义约束。现有的执行反馈训练方法可以识别已完成的程序是否失败,但对如何组织正确的解决方案提供有限的监督。我们引入了 GraphAlignCoder,一个将显式正确性结构转移到代码生成中的训练框架。 GraphAlignCoder 构造一个实现图来捕获程序区域之间的控制和依赖关系。同时,受约束的精益管道会产生证明痕迹,我们从中提取正式的证明流程图。该模型首先学习可执行代码以及关于各个程序区域为何正确的图形派生描述,然后将这些知识整合到代码生成中。 GraphAlignCoder 在所有基准测试中始终优于基本模型、纯代码 SFT 和 CodeRL。与 CodeRL 相比,它在 LiveCodeBench v6 上将解决的任务数从 38 个增加到 50 个,在 BigCodeBench Hard 上从 16 个增加到 23 个,相对增加了 31.6% 和 43.8%,同时还将 BigCodeBench Full 的任务数从 359 个增加到 363 个。消融研究进一步表明,验证图注入产生了初始推理增益,而代码合并验证对于稳健的跨基准传输至关重要。