论文
自执行模拟改进编码模型
Self-Execution Simulation Improves Coding Models
摘要
使 LLM 能够生成一致正确的代码的一个有前途的研究方向涉及解决它们无法正确估计程序执行的问题,特别是对于它们生成的代码。在这项工作中,我们证明代码 LLM 可以被训练来以逐步的方式模拟程序执行,并且可以利用此功能来提高竞争性编程性能。我们的方法结合了自然语言执行轨迹上的监督 微调、基于真实执行的文本解释以及使用可验证奖励的强化学习。我们引入两个互补的目标:给定代码和输入的输出预测,以及使用 真值 或自我预测的执行反馈解决竞争性编程任务。这些目标使模型能够对多个候选解决方案进行自我验证,并通过模拟测试执行进行迭代自我修复。在多个竞争性编程基准中,我们的方法比标准推理方法取得了一致的改进。我们进一步提出消融和分析,以阐明执行模拟的作用及其局限性。