论文

通过验证反馈的强化学习改进代码生成的小语言模型

Improving Small Language Models for Code Generation with Reinforcement Learning from Verification Feedback

模型训练强化学习

摘要

具有可验证奖励的强化学习 (RLVR) 使用可编程检查的信号(例如单元测试结果)来训练语言模型,从而能够直接优化代码生成中的功能正确性。我们使用两个小模型(Qwen3-0.6B 和 Llama3.2-1B)和 LoRA 微调 在 MBPP 基准上对用于 Python 代码生成的 RLVR 进行了实证研究。在多种奖励公式中,例如:仅单元测试奖励、通过 Ruff linter 进行静态分析塑造以及组合奖励,我们比较基于组的策略优化变体(GRPO 和 GSPO),并评估功能正确性和行为诊断。在我们的实验设置中,RLVR 在建议的组合奖励配置下将 MBPP 测试的 pass@1 提高了多达 13 个百分点。然而,我们发现奖励塑造可能会引起系统性行为转变:仅使用静态分析惩罚可能会使策略偏向于较短的完成时间,从而减少 lint 错误,而不会可靠地提高功能正确性。相反,组合奖励可以减轻这种退化,并在正确性和风格约束之间产生更稳定的权衡。总体而言,我们的结果强调,RLVR 代码生成的有效性对奖励设计和优化粒度高度敏感,并且 pass@1 之外的诊断(包括生成长度、Ruff 严重性配置文件和执行错误类型)对于识别故障模式非常有用。