论文
超越执行:用于代码生成的静态分析奖励和提示条件扩散强化学习
Beyond Execution: Static-Analysis Rewards and Hint-Conditioned Diffusion RL for Code Generation
摘要
强化学习 (RL) 是将扩散语言模型 (DLM) 调整到代码生成功能正确性的重要范例。然而,这些模型经常在复杂任务上遇到“能力悬崖”,其中基于执行的语义奖励变得太低而无法提供可行的学习信号。在本文中,我们提出了 RL 后训练 的系统实证研究,用于沿着三个轴进行基于扩散的代码生成:奖励设计、提示条件采样和任务难度。我们研究了免执行奖励作为传统单元测试执行替代方案的有效性、训练时提示条件扩散采样在缓解探索瓶颈方面的作用,以及这些设计选择的影响因不同难度级别的任务而异。在 HumanEval、MBPP 和 LiveCodeBench 中,我们发现静态检查是我们设置中最强的整体独立执行奖励,特别是在 HumanEval 上将 DiffuCoder 从 53.9 提高到 67.1,在 LiveCodeBench 上从 14.9 提高到 15.5,同时将采样轨迹时间减少了 9.4%。我们进一步发现,基于 AST 的适度提示在较难的基准上最有用,而最佳奖励设计在很大程度上取决于任务难度:基于相似性的奖励在较容易的子集上更有效,而静态检查在执行奖励较低的较难的子集上更可靠。这些发现表明,在我们评估的代码生成环境中,奖励设计和训练指导会极大地影响扩散强化学习的性能。