Extrapolative Weight Averaging Reveals Correctness-Efficiency Frontiers in Code RL
原作者: Kunhao Zheng, Pierre Chambon, Juliette Decugis, Jonas Gehring, Taco Cohen, Benjamin Negrevergne, Gabriel Synnaeve
原作者: Kunhao Zheng, Pierre Chambon, Juliette Decugis, Jonas Gehring, Taco Cohen, Benjamin Negrevergne, Gabriel Synnaeve
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 ✨ 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
技术摘要:外推权重平均揭示代码强化学习中的正确性–效率前沿
问题陈述
在代码生成的强化学习(RL)中,特别是在竞争性编程领域,模型面临双重目标:功能正确性(通过所有测试用例)和计算效率(在时间和内存限制内解决问题)。标准的 RL 训练往往难以平衡这两者,因为针对严格效率的优化可能导致正确性失败,而针对小输入的正确性优化则可能产生在更大压力测试中失败的低效解决方案。
现有的模型合并研究(例如"Rewarded Soups")表明,在不同奖励目标下训练的检查点之间进行线性插值,可以描绘出这些目标之间的帕累托前沿。然而,目前尚不清楚外推权重平均(使用 [0,1] 区间之外的系数对权重进行平均)是否能在不额外训练的情况下,将这些前沿扩展到新的、有用的检查点。具体而言,外推能否超越单个 RL 训练运行的限制,发现既非纯粹正确也非纯粹高效、而是互补的策略?
方法论
实验设置
作者利用竞争性编程作为受控环境进行研究,其中验证器的严格程度作为一个自然的实验轴。
- 模型:实验在 7B 和 32B 参数模型(Qwen 2.5 7B 和 CWM-SFT 32B)上进行。
- 训练环境:使用三种不同的 RL 设置:
- 纯推理:单轮生成。
- 工具使用:带有 Python 工具调用的多轮推理。
- 代理编码:与沙盒终端进行多轮交互。
- 奖励严格性扫描:从共享的监督微调(SFT)检查点开始,在CodeContestsPlus数据集上训练独立的 RL 运行。奖励函数是基于输入长度阈值(k)的嵌套二元信号:
- 如果解决方案通过所有输入长度 <10k 的测试,则 Rk(y)=1。
- 如果解决方案通过所有测试(完整套件),则 R∞(y)=1。
- 这创建了一个从“低覆盖率”(宽松、小输入)到“高覆盖率”(严格、完整压力测试)的有序检查点族。
权重平均
核心操作是两个端点 θlow(低覆盖率)和 θhigh(高覆盖率)之间的线性权重平均:
θα=αθhigh+(1−α)θlow
- 插值:α∈[0,1]。
- 外推:α∈/[0,1](例如 α<0 或 α>1)。
评估
检查点在LiveCodeBench (LCB) 基准(保留集、完整测试覆盖率)上进行评估。结果分为以下类别:
- 正确:通过所有测试。
- 优化失败:通过较小测试,但在较大测试中超出时间/内存限制。
- 正确性失败:因逻辑错误或限制内的运行时异常而失败。
- 格式错误:无法解析的输出。
主要贡献与结果
1. 正确性–效率前沿的涌现
研究表明,改变验证器的严格程度并不会产生简单的检查点排名。相反,在困难问题上,它描绘出一条正确性–效率前沿:
- 低覆盖率训练减少了正确性失败,但增加了优化失败(低效解决方案)。
- 高覆盖率训练减少了优化失败,但增加了正确性失败(模型尝试高效算法但逻辑失败)。
- 解决率稳定性:整体解决率在整个前沿上保持几乎恒定;权衡主要在于模型如何失败(低效 vs. 不正确),而不是是否解决了问题。
2. 插值恢复前沿
低覆盖率和高分辨率端点之间的线性插值成功恢复了由独立训练检查点描绘的前沿。权重空间中的单一插值方向足以遍历优化失败与正确性失败之间的权衡。
3. 外推扩展前沿
关键在于,外推权重平均将这一前沿扩展到了任何单个 RL 运行所达到的端点之外:
- 超越 RL 限制:对于 α>1 和 α<0,外推检查点延续了相同的权衡曲线,实现了任何单个 RL 检查点均未达到的优化/正确性失败比率水平。
- 稳定性:这种延续在较宽的范围内是稳定的(例如 α∈[−0.5,1.5])。极端外推(∣α∣>2)导致的退化主要是由于格式错误(令牌耗尽),而非前沿逻辑的崩溃。
- 泛化性:只要问题难度与模型能力相匹配,这种现象在所有三种推理设置(推理、工具使用、代理编码)和两种模型规模(7B、32B)中均成立。
4. 通过集成进行推理时扩展
该论文证明,外推检查点是互补策略:
- 按问题轮换:外推轴上的不同点解决了不同子集的困难问题。虽然整体解决率是平坦的,但具体解决的问题差异显著。
- 集成增益:通过在扩展前沿(插值 + 外推)上集成检查点,作者在匹配样本预算的情况下,将 LCB/hard 上的 pass@250 指标提高了 3.3%,优于最佳单个检查点。
- 多样性:外推池为插值仅池遗漏的问题(特别是最难的问题)提供了独特的解决方案。
5. 什么推动了前沿?
作者对比了静态奖励塑造与基于失败条件的训练:
- 静态奖励塑造:为通过较小测试分配部分奖励(离散或连续)使模型保持在同一条前沿上。它只是重新加权现有结果,而没有引入新信息。
- 基于失败条件的训练:利用失败上下文(失败代码 + 执行统计)来训练修复策略(在线修复),显示出向外移动前沿的潜力,同时提高修复率和原始通过率,这表明需要更丰富的失败信号来超越现有的权衡。
意义与主张
该论文声称,代码 RL 中的嵌套单元测试覆盖率诱导了一条可以通过外推权重平均进行导航、扩展和利用的正确性–效率前沿。
- 新颖性:它确立了外推不仅仅是一个数学奇观,而是一种实用的方法,用于访问帕累托前沿的“延续”,生成单个训练运行无法产生的多样化策略。
- 实用价值:外推检查点作为一种廉价、无需训练的机制,用于推理时扩展,无需额外的 RL 计算即可扩大已解决问题的覆盖范围。
- 局限性:这条前沿是由竞争性编程中正确性与效率之间的特定权衡诱导的。作者指出,要移动前沿本身(改进帕累托前沿),可能需要揭示程序为何失败的训练信号(例如基于失败条件的训练),而不仅仅是更严格的测试。
这项工作为代码中的 RL 提出了一种新范式:从业者不必寻找单一的“最优”检查点,而是可以利用权重平均来探索一系列互补行为,通过对权重进行简单的算术运算来扩展现有模型的能力。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。
每周获取最佳 NLP 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。