arXiv cs.LG精选80

代码优化的强化学习

Reinforcement Learning for Code Optimization

· 6天前

精选理由

提出让强化学习稳定优化代码速度的方法,兼顾正确性并显著提升性能。

AI 摘要

arXiv:2607.25970v2 公告类型:替换 摘要:用于代码正确性的强化学习如今已经成熟:让模型生成程序,在隐藏测试用例上运行,并对通过测试的解给予奖励。将这一方法扩展到代码优化似乎很直接:只需将执行时间加入奖励即可。但在实践中,一旦计时驱动奖励,测量噪声、奖励稀疏性或 GRPO 不稳定性等小问题就会淹没有效信号,使强化学习失效:生成的解几乎没有更快,而且失败的解反而更多。我们通过三个阶段使执行时间变得可学习:(1)代码如何接受测试:通过构建包含大量优化测试和经过校准的沙盒环境的 DMC-Optim;(2)如何将速度转化为奖励:在强化学习环境中结合正确性与速度,并使用离线模拟器预测最有前景的配置;(3)模型如何从该奖励中学习:针对更加稀疏且噪声更大的计时执行场景,调整 GRPO 和评估方法。在 DMC-Optim 上,最强的面向优化配置将 Qwen 2.5 7B 的严格前 50% pass@1 从 18.0% 提升至 31.3%,并将 CWM 32B 的该指标从 30.7% 提升至 50.4%。在前 30% 等更严格的百分位范围内,这些增益进一步扩大,其中 CWM 32B 的相对提升达到 125%,同时保持纯正确性得分不变。当计时沙盒性能下降时,根据评估标准不同,稳健的优化强化学习相比标准 RLVR 可实现 100% 至 200% 的提升。在 LCB 上,CWM 32B 在与标准 RLVR 的中位样本速度比较中,最多有 83% 的比较结果胜出。相较于每道题中速度最快的正确人类提交,CWM 32B 达到了人类复杂度类别改进速率的约一半(13% 对 22%)。

查看原文(arXiv cs.LG)