ReCo:回答似然与 Token 方差比重加权#
TL;DR#
本页内容7 个部分
1. 为什么调整不同回答的梯度权重#
假设模型用不同的推理过程回答同一道题。有一种正确回答经常被采到,另一种正确回答很少出现。直接对采样结果平均时,常见回答会更频繁地参与更新;即使每次出现只计一次,重复样本仍可能贡献较大比例的累计梯度。
普通 GRPO 以提高平均奖励为出发点。使用正确性奖励时,这对应单次答对的概率,也就是 Pass@1。训练可能更多地强化常见的正确回答,而一些低概率正确回答的生成概率下降。ReCo 希望在提高单次正确率的同时,保留多次采样时找到正确回答的机会,包括低成功率问题上的正确回答。[1]
ReCo(Reweighting GRPO Against Distributional Concentration)改变两处梯度权重:(1)按回答似然,给似然较低的回答更大的相对权重;(2)按 token 方差比,调整每个生成位置的梯度系数。 生成回答、评分和计算组内优势的基本流程仍沿用 GRPO。
Pass@ 表示多次采样中至少一条答对的概率。它是 ReCo 关注的评测指标,不是直接求导的训练目标;ReCo 主动改变不同回答的梯度权重,而不只是提高原有梯度估计的准确性。
2. 怎样给回答分配权重#
2.1 回答越常见,期望出现次数越多#
固定问题 ,采样策略 独立生成 条回答。若某条完整回答 的概率为 ,它在组中出现的次数 满足:
因此,高概率回答有更多机会进入训练数据。ReCo 据此考虑降低常见回答的相对权重,但实际采用的权重还需要处理回答长度的影响。
2.2 用 token 概率的几何平均计算回答权重#
第 条回答记为 ,包含 个有效生成 token。
若要抵消重复出现带来的额外梯度权重,可以先考虑期望出现次数的倒数 。但完整回答概率由各 token 的条件概率相乘得到,长度也会影响这个乘积。直接取倒数,可能把长度造成的概率差异也转成回答权重差异。因此,ReCo 改用各 token 概率的几何平均,近似衡量回答的常见程度:
其他因子固定时,该回答任务项的梯度贡献与 成正比。 由 old 概率和组大小决定,在本批更新中固定。几何平均不是完整回答概率,所以 也不再是严格的期望次数;这是减少长度影响的实用近似。[1]
2.3 两条回答的权重计算#
手算取 ,从这一组中选出甲、乙两条回答比较。假设它们的 token 概率几何平均分别为 和 ,则:
| 回答 | token 概率几何平均 | 回答权重 |
|---|---|---|
| 甲 | ||
| 乙 |
乙的回答权重是甲的两倍。 固定相同的优势、token 方差比、裁剪分支和聚合分母时,乙对应任务项的梯度系数也是甲的两倍。这比较的是按几何平均似然计算的权重,不表示乙在采样中恰好只出现甲的一半次数。
3. 怎样调整一个 token 的梯度系数#
3.1 从概率比改为方差比#
正在更新的策略记为 。对一个已采样 token,设采样策略给它的概率为 ,当前策略给它的概率为 。普通 GRPO 的概率比为 。
ReCo 还计入“采到其他 token”的总概率 ,改用 的比值。 是“采到该 token/采到其他 token”这一二值事件的方差,在 时最大,在接近 或 时变小。这里的方差既不是整个词表分布的熵,也不是梯度方差。
记当前位置的采样概率和当前概率为 、。当 时,方差比为:
本例的方差比为 ,是普通概率比 的一半。ReCo 通过停止部分梯度,让这个方差比成为 log 概率梯度前的系数。[1]
3.2 回答权重与 token 权重合并计算#
取乙回答中的这个 token,回答权重为 。为单独比较权重,设它的组内优势为 ,裁剪宽度为 。这些数值均为手算设定,不是实验结果。
ReCo 使用 ,选择未截断分支。因此,省去共同的回答与 token 平均分母后,log 概率梯度的系数为:
相同条件下,普通 GRPO 使用 ,也未截断,梯度系数为 。若甲也有相同的 token 概率和优势,其 ReCo 系数还要乘以回答权重 ,得到 。
这组计算分别展示了两处改动:(1)回答权重区分甲与乙;(2)方差比改变每个 token 相对普通 GRPO 的系数。本例中的系数为正,但它描述的是任务梯度,不能据此保证更新后该 token 的实际概率变化。
3.3 当前策略等于采样策略时会怎样#
当当前策略等于采样策略,且 token 概率严格介于 与 之间时,方差比为 。因此,低概率 token 不会仅因概率低,在首次更新时就获得更小的 token 权重。方差比比较的是当前概率与采样概率对应的方差,而非只看当前的 。[1]
4. 停止梯度与完整训练目标#
4.1 为什么不能直接对方差比整体求导#
若把 整体求导,会得到 ;当 ,额外因子会变为负值。所得梯度就不再是“正权重乘 log 概率梯度”。
因此,构造训练目标时,对第二个因子使用 stop-gradient(停止梯度,记为 )。它保留当前数值,但反向传播时把其中的输入视为常数:
这个表达式的数值仍是方差比,反向传播则用它给 log 概率梯度加权。只复现前向数值而没有停止相应梯度,会得到不同的更新。[1]
4.2 两层权重怎样进入完整目标#
第 条回答的任务分数为 。组内优势沿用 ,其中 和 是组内分数的均值与总体标准差, 防止除零。令 为裁剪宽度。先对回答内的 token 平均,再对回答平均,最大化任务目标:
更新时最大化上述目标;采样策略、 和优势 固定。ReCo 仍保留 GRPO 基线的 reference KL;上式只展开任务项。[1]
公式中的 对一条回答的有效 token 平均, 再对回答平均;手算系数若用于完整目标,还需除以 。
GSPO 用回答的平均 log-ratio 共享权重和裁剪条件;ReCo 则逐 token 裁剪,并额外使用回答权重与 token 方差比。二者改变的是不同的更新规则。
4.3 策略更新流程#
- 用采样策略生成同题多条回答,评分并计算组内优势。
- 用采样策略的 token 概率计算回答权重,在本批更新中固定权重和优势。
- 重算当前策略的 token 概率,按指定位置停止梯度,构造裁剪任务项,再加入参考 KL 惩罚更新策略。
- 本批更新结束后,使用更新后的策略重新采样。
5. 局限性#
回答似然不能识别推理方法是否重复。 两条不同文本可能使用相同的推理方法,几何平均似然无法识别这种关系。因此,回答重加权不等于语义去重,也不精确抵消完整回答的期望出现次数。
两层权重都可能出现小分母。 回答权重的分母包含 token 概率的几何平均,方差比的分母包含 。前者接近零,或采样概率接近 或 时,相应权重可能被放大;实现中的数值保护需分别核对。
重加权不直接保证 Pass@ 改善。 两层权重改变梯度分配,但没有直接优化 Pass@,也不等同于最大化分布熵。需要分别评估单次正确率与多次采样覆盖率,判断这种权重选择是否达到预期目的。
参考资料#
- ReCo(2026). §3、§4:两层重加权、停止梯度及评测范围。