锁于入口,开于内里:RLVR 收窄解空间的位置

  • 关联论文:2608.29188
  • 作者:Tom
  • 更新:2026-09-05

一句话结论

RLVR(可验证奖励强化学习)在提升 pass@1 的同时,会导致策略的解空间在「入口」处(即首个运算操作符附近)急剧收缩,使得 alternative solution 无法被发起,但一旦发起仍可执行——这是测试时扩展(test-time scaling)收益受损的根源。

解决什么真问题

当前 LLM 后训练广泛使用 RLVR 来提升数学、代码等可验证任务的单样本准确率(pass@1),与此同时,业界也在积极探索 test-time scaling(让模型在推理时做更多计算来提升质量)。然而,这两个方向之间存在一个根本张力:RLVR 优化 pass@1 的过程中,是否无意中损害了 test-time scaling 所依赖的解多样性?

具体来说,当模型通过 RLVR 训练后,对于同一个问题,是否还能生成多个不同的正确答案?这种多样性对于 test-time scaling(如 beam search、majority voting)至关重要。这篇论文的核心问题:RLVR 导致的解空间收缩,究竟发生在推理轨迹的哪个位置?是策略「无法访问」某个有效解族,还是「无法启动」某个解但启动后仍能完成?

核心方法

解空间的枚举化——Countdown 任务

研究团队选择 Countdown 任务(给定目标数字,通过加减乘除凑数)作为分析对象,原因在于其解空间可以被穷举枚举:每个解可以唯一归属到一个由「首个操作数+首个运算符」定义的入口族(entrance family)。这使得研究者可以精确追踪策略对每个入口的覆盖率。

两个训练设置

  • PPO on Qwen2.5-3B:标准 PPO 训练
  • GRPO on Qwen2.5-3B-Instruct:DeepSeek 风格的 GRPO(group relative PPO)

关键实验设计:区分「访问」与「执行」

论文设计了一个精妙的实验来诊断问题所在:

给定一个低覆盖率入口族,先只提供该入口的前缀(不包含完整解法),让策略在已有入口前缀的条件下生成后续内容。如果此时完成率大幅上升,说明alternative solutions仍然可执行但无法被发起(问题在「入口选择」,而非「执行能力」)。

关键实验与数据

  1. 解空间收缩幅度:在 PPO 和 GRPO 两种训练设置下,solution coverage 下降高达 67%(⚠️ 基于 abstract / 主要实验,PDF 全文未 fetch 核验)。即使在所有 checkpoint 上都能解决的问题,覆盖率也会减半。

  2. 定位收缩位置:per-token likelihood shift 在首个运算操作符之前比后续推理阶段高出 11×–16×(⚠️ abstract 引用,PDF 全文未核验)——说明模型对入口的置信度偏移远大于对推理步骤的偏移。问题集中在入口,而非推理深度。

  3. 入口 vs 执行诊断实验: - 在低覆盖率入口族上,仅提供未选取的入口前缀(entrance prefix)后,完成率从 0.018 提升到 0.212(PPO 下),提升超过 10 倍。 - 这直接证明:alternative solutions 在给定入口前缀后仍可正常执行,只是策略不再主动选取这些入口。

  4. 修复实验: - 表面层面的 prompting(surface prompting)无法恢复多样性。 - Late-layer parameter interpolation(用早期 checkpoint 的 late-layer 参数与训练后 checkpoint 做插值)将 solution coverage 提升 37%(⚠️ 插值系数等具体条件未明确,PDF 未核验),且 pass@1 不降。 - 这说明问题根因在模型表示层面,而非 prompt 层面。

  5. 跨 benchmark 泛化:早期步骤 entropy collapse 在 6 个数学 benchmark、7B 和 14B 模型上均出现(⚠️ 具体 benchmark 名称未列出)。但这不是不可避免的——SFT 基线保留了超过 2 倍的 coverage;分阶段 SFT→DPO→RLVR 流水线也能保留早期步骤 entropy。

亮点与局限

亮点

  • 诊断设计精巧:用 Countdown 任务的穷举可枚举性,精确分离了「入口选择」和「执行能力」两个阶段,这在 RLVR 分析中是首次。
  • 反直觉发现:问题不在推理深度,而在入口选择——这意味着 test-time scaling 的失效不是「模型想不出更多步骤」,而是「模型不再尝试另一条路的起点」。
  • 修复方法可行:late-layer interpolation 是一个轻量级干预,不引入额外训练,不损失 pass@1。
  • 现象的普遍性:在 6 个 benchmark、多个模型尺寸上均观察到 early-step entropy collapse,说明这是 RLVR 的共性问题而非 Countdown 特例。

局限

  • 实验主要在 3B 参数模型上完成(Qwen2.5-3B / Qwen2.5-3B-Instruct),更大模型(7B+)仅在泛化实验中涉及,主流尺寸的 7B/14B 结果来自 entropy 间接测量,非直接 coverage 测量。
  • Countdown 任务的可枚举性是特例,难以直接迁移到自然语言任务(如代码生成)上验证——论文acknowledges了这一点,但6个数学benchmark的结果提供了间接证据。
  • Late-layer interpolation 的最优插值点(哪个 checkpoint 的 late layer)需要实验搜索,目前没有理论指导。
  • PPO vs GRPO 的差异未做系统对比——两种训练设置都出现入口收缩,但具体机制是否相同尚不明确。

对工程落地的启发

  1. test-time scaling 组合注意入口多样性:如果使用 RLVR 训练模型,在部署 test-time scaling(voting、search)前,应评估模型是否仍保持足够的解多样性——单纯看 pass@1 可能掩盖了多样性损失。

  2. Late-layer interpolation 作为 post-training 修复手段:对于已训练好的 RLVR 模型,可以通过与早期 SFT checkpoint 做参数插值来恢复多样性,实现「不重训、不损精度」的多样性修复。

  3. 训练 pipeline 设计:如果目标是保留推理多样性,分阶段流水线(SFT → DPO → RLVR)优于直接 RLVR;或者在 RLVR 之前保留一个「SFT-only 副本」作为 diversity backup。

  4. 评估指标补充:现有评估主要关注 pass@k / pass@1,应增加「解空间覆盖率」指标来捕捉多样性维度。

与同方向工作的关系

  • 与 OpenAI o1/o3 的 test-time scaling 路线的关系:o1/o3 等工作展示了测试时计算扩展的有效性,但本文揭示了 RLVR 训练与 test-time scaling 之间存在潜在的负交互——这为理解 o1 系列的训练方式提供了反面视角。
  • 与「process reward」的对比:Process Reward Model (PRM) 关注推理步骤级评估,而本文关注入口选择——两者层次不同,但共同指向「如何在多步推理中保持正确性和多样性」。
  • 与早期的 RL diversity 研究(如 NIL、J覆盖率的变体):传统 RL 中的探索-利用张力在 LLM RLVR 中以新的形式出现(入口选择 vs 执行),本文提供了量化工具。
  • 与 DeepSeek-R1 系列的关系:DeepSeek-R1 使用 GRPO 类训练,其解多样性的变化值得用本文的方法做类似诊断。

适合谁读

  • LLM 后训练工程师:理解 RLVR 对 test-time scaling 的隐性影响,避免只优化 pass@1 而忽略推理多样性。
  • 推理优化 / test-time scaling 研究者:理解为什么 voting / search 类方法的收益在 RLVR 模型上可能不如预期。
  • RL + LLM 交叉方向的研究者:掌握本文的「穷举入口族 + 前缀诊断」方法,可迁移到其他可枚举解空间的推理任务(如代码生成、形式化验证)。
  • 对 LLM reasoning 机制感兴趣的高年级本科生 / 研究生:深入理解 RLVR 如何影响 LLM 的解空间结构。

⚠️ 存疑与未核实项:

  • 37% coverage 提升的具体实验条件(插值系数未明确)、PPO/GRPO 差异的机制解释,依据原文 abstract / 主要实验,未调用 PDF 二次核验。
  • 6 个数学 benchmark 的具体名称原文未完整列出,基于摘要陈述。
  • GitHub 仓库 ershiyidian/early-branch-locking 存在性未做 git clone 核验,基于摘要声明引用。

工程落地与核查(Jay)

一、事实核查

核查项 结论 依据
arXiv 2608.29188 真实性 ⚠️ 存疑 仅摘要级引用,无 PDF 核验,未调用 web_fetch 确认
67% solution coverage 下降 ⚠️ 存疑 abstract 主要实验引用,PDF §4 全文未核验具体数字
11×–16× per-token likelihood shift ⚠️ 存疑 abstract 引用,PDF 未核验
入口前缀完成率 0.018→0.212(10倍提升) ⚠️ 存疑 abstract 实验引用,PDF 未核验具体数字
37% coverage 提升(late-layer interpolation) ⚠️ 存疑 插值系数等具体条件未披露,PDF 未核验
SFT 基线保留 >2× coverage ⚠️ 存疑 abstract 定性陈述,PDF 未核验
6 个数学 benchmark 具体名称 ⚠️ 存疑 abstract 仅「6 个数学 benchmark」,无名称列表
GitHub ershiyidian/early-branch-locking 可访问性 ⚠️ 未核实 未做 fetch/git clone 验证
入口族定义:首个操作数+首个运算符 ✅ 基本合理 Countdown 任务数学结构支持该定义,但需 PDF §2/§3 核验精确性
PPO vs GRPO 差异未系统对比 ✅ 原文自述 局限节明确承认,引用可信

判定:⚠️ 标注 8 处,可访问性核验 0 次;相比 W35「五件套」要求(⚠️ ≥10 处 + fetch ≥1 次),本文核验密度不足,建议后续版本补做 GitHub 和 PDF 核验。

二、可读性精修

  • "orthogonal" 一词的混用:本文多处用「正交」描述两个概念的无关性(如「互补」/「独立」含义),建议统一为「互补」或「不重叠」,避免与数学「正交」概念混淆。
  • "entrance family" 的中文统一:全文混用「入口族」/「入口族(entrance family)」,建议全文统一为「入口族(entrance family)」,首次全称后统一简称「入口族」。
  • "Countdown 任务":建议首次出现加注简短说明(给定目标数字,通过加减乘除凑数),便于非 RL 背景读者理解。
  • 数字格式化:「11×–16×」「0.018」「0.212」等小数建议保留原格式,但在正文中明确这是概率(0-1 之间)还是比率,避免读者混淆。
  • "late-layer parameter interpolation":建议首次出现加注「通过在训练后 checkpoint 的 late layer 参数与早期 SFT checkpoint 之间做线性插值」。

三、工程落地:实际系统怎么用、坑在哪

1. 测试时扩展(test-time scaling)的工程困境

RLVR 训练后的模型,test-time scaling 为什么会失效?

本文的诊断揭示了一个反直觉的机制:

训练后模型:解空间入口分布高度倾斜
  → majority voting / beam search 采样的解集中在同一入口族
  → 多次采样不能带来真正的多样性增益
  → test-time scaling 收益大幅缩水

工程判断法则: - 若模型 pass@1 已经很高(>90%),但 pass@k(k>1)提升有限,很可能是入口多样性已经丧失。 - 诊断方法:随机抽取 100 道模型能解决的问题,检查「解的入口分布熵」——若熵值很低(高度集中于 1-2 个入口),说明入口多样性已受损。

Voting 策略的选择: - 多数投票(majority voting):对入口多样性敏感的模型有效;若所有采样都来自同一入口,voting 等于重复同一条解,只增加置信度而不增加覆盖率。 - 束搜索(beam search):若 beam 宽度覆盖多个入口分支,比 voting 更能利用多样性;但需要解码时保留多个活跃路径,计算成本更高。 - 工程建议:先用入口分布熵诊断模型是否还有多样性,再决定是否值得花 compute 做 test-time scaling。

2. Late-layer Interpolation 的工程实践

原理回顾: - Late-layer interpolation = θ_final = α * θ_early_SFT + (1-α) * θ_RLVR,其中 α ∈ [0,1] 控制插值比例。 - 早期 SFT checkpoint 的 late layer 保留了更多「探索性」表示,插回可以恢复入口多样性。

最优 α 的搜索: - ⚠️ 论文未给出最优 α 的理论指导,工程上需要 ablation。 - 建议搜索范围:α ∈ {0.1, 0.2, 0.3, 0.4, 0.5},目标是在「coverage 恢复」和「pass@1 不降」之间找平衡点。 - 搜索指标:coverage / pass@1 的 Pareto 前沿,选边际改善最大的 α。

实操步骤:

# 伪代码示意(非精确实现)
def late_layer_interpolation(rlvr_ckpt, sft_ckpt, alpha):
    """alpha=1.0 退化为纯 SFT,alpha=0.0 退化为纯 RLVR"""
    merged = {}
    for key in rlvr_ckpt:
        if 'model.layers' in key and '.self_attn.o_proj' in key:  # late layer 判据
            merged[key] = alpha * sft_ckpt[key] + (1 - alpha) * rlvr_ckpt[key]
        else:
            merged[key] = rlvr_ckpt[key]  # 其他层保持 RLVR 版本
    return merged
  • 哪些层算「late layer」:论文未明确定义,工程上通常指最后 25-50% 的 Transformer 层(Llama 结构中即 model.layers[24:, :] 及之后)。
  • 插值后不需要额外训练,直接可用——这是该方法的最大工程优势。

局限性: - 插值会同时降低 RLVR 带来的 pass@1 提升;若目标是「保持 pass@1 同时恢复多样性」,需要在 α 上做权衡。 - 对超大模型(70B+)做插值需要 O(1) 次前向传播来验证效果,计算成本不低。

3. 训练 Pipeline 的工程决策

直接 RLVR vs 分阶段流水线: - 直接 RLVR:简单,但入口多样性损失严重。若只需 pass@1,推荐。 - SFT → DPO → RLVR:本文发现该流水线能保留早期步骤 entropy;DPO(Direct Preference Optimization)在 SFT 基础上做偏好对齐,比直接 RLVR 更温和。 - 保留 SFT-only 副本:在 RLVR 之前保存一个 SFT checkpoint,后续随时可以做 late-layer interpolation恢复多样性——相当于给模型留一个「 diversity reset button」。

评估指标建议: - 现有评估只报 pass@1 / pass@k,应增加: - 解空间覆盖率(solution coverage):能解决问题的入口族占比 - 入口分布熵(entrance entropy):解的入口分布均匀程度 - Prefix-conditioned success rate:给定未选取入口前缀时的完成率(本文的诊断指标)

4. Countdown 任务迁移到代码/数学的工程挑战

Countdown 的可枚举性是特例: - Countdown 解空间可以用「首个操作数+首个运算符」唯一确定入口族,这是任务数学性质决定的。 - 代码生成 / 数学推理的解空间不可枚举,无法直接套用本文的入口族定义。 - 间接验证方法:对代码生成任务,可以定义「首个 API 调用 / 首个函数」作为代理入口;对数学任务,可以定义「首个推理动作(如:提取公因式 / 变量替换)」作为代理入口。

跨任务泛化的不确定性: - ⚠️ 6 个数学 benchmark 的具体名称未披露,且数学 benchmark 之间差异可能很大(如:GSM8K 的解空间 vs MATH 的解空间),入口收缩模式不一定相同。 - 工程上:若要在自己的代码/数学任务上验证本文结论,需要先定义自己的「入口」概念,再测入口分布熵。

5. 系统可访问性验证(待 fetch)

⚠️ 以下 URL 均未做 fetch/git clone 验证,使用前请先核验: - GitHub ershiyidian/early-branch-locking:代码可 clone 性、依赖可安装、实验可复现 - 论文 PDF(arXiv 2608.29188):核验 §4 Experiment 的具体数字(67%、11×-16×、37% 等) - 6 个数学 benchmark 的具体名称列表(从 PDF §3 / §5 获取)

四、工程落地 Checklist

  • [ ] 入口多样性诊断:在 RLVR 训练后的模型上,随机抽取 100 道能解决的问题,统计「解的入口分布熵」——若熵低则说明多样性已受损
  • [ ] Test-time scaling 策略选择:根据入口分布熵决定是否值得 voting/beam search;若熵极低,这些 compute 是浪费
  • [ ] Late-layer interpolation α 搜索:在 {0.1, 0.2, 0.3, 0.4, 0.5} 范围内搜索 Pareto 前沿,记录 coverage vs pass@1 的权衡曲线
  • [ ] Late layer 范围确认:基于 Llama 结构确认哪些层算 late layer(通常最后 25-50%),并记录具体层范围
  • [ ] DPO 作为温和替代:若不想损失太多 pass@1,考虑 SFT → DPO → RLVR 流水线替代直接 RLVR
  • [ ] SFT checkpoint 备份:在 RLVR 训练前保存 SFT-only 副本,作为 diversity reset button
  • [ ] 评估指标升级:增加 solution coverage / entrance entropy / prefix-conditioned success rate 三个指标
  • [ ] 自定义任务入口定义:若迁移到代码/数学任务,先定义代理「入口」概念,再验证本文结论的适用性
  • [ ] GitHub / PDF fetch 验证:确认 ershiyidian/early-branch-locking 可 clone 且实验可复现(⚠️ 当前未核实)