Multi-Turn Code Generation Through Single-Step Rewards

作者: Arnav Kumar Jain, Gonzalo Gonzalez-Pumariega, Wayne Chen, Alexander M Rush, Wenting Zhao, Sanjiban Choudhury

发布时间: 2025-02-28

来源: arxiv

研究方向: 代码生成与机器学习

主要内容

该论文提出了一种名为 µCODE 的方法,用于通过单步奖励实现多轮代码生成。该方法利用单步可恢复马尔可夫决策过程(MDP)的特性,通过收集执行反馈来迭代训练生成器和验证器,从而实现代码的改进。

主要贡献

1. 提出了一种名为 µCODE 的多轮代码生成新框架,通过单步奖励实现。

2. 提出了多轮最佳-N(BoN)方法,用于推理时的缩放,并展示了学习验证器在每轮中选择代码解决方案的效益。

3. 在 MBPP 和 Hu manEval 基准测试中,µCODE 的性能优于领先的多种方法。

4. 通过消融实验展示了学习验证器在训练和推理过程中的帮助,并证明了 µCODE 的有效性。

5. 对 µCODE 的设计选择进行了分析,并展示了其在利用执行反馈方面的有效性。

研究方法

1. 单步可恢复 MDP 模型

2. 专家迭代框架

3. 本地搜索专家

4. 执行反馈收集

5. 验证器训练

6. 生成器训练

7. 多轮最佳-N(BoN)搜索

实验结果

在 MBPP 和 Hu manEval 基准测试中,µCODE 的性能优于多种基线方法。特别是在 HumanEval 数据集上,µCODE 与 Multi-STaR 相比,性能提升了 1.9%。在 MBPP 数据集上,µCODE 在 1B 参数模型上优于基线,而在 8B 参数模型上,µCODE 在 MBPP 和 Hu manEval 上均优于基线。

未来工作

未来可以探索在更大规模模型上的应用,以及在其他编程语言上的推广。此外,可以进一步研究如何提高学习验证器的性能,以及如何将 µCODE 应用于其他多步任务。