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 应用于其他多步任务。