RLVR 只有最终答案的对错,GRPO 把同一个轨迹级优势摊给所有 token。FR3E 先找出一条推理轨迹里熵最高的 K 个位置,从这些中间状态重放 M 条部分轨迹,用成功率估 V(Sj),再据此调制优势。
它不需要 critic,也不需要过程标签;代价是部分 rollout 带来的不同计算足迹,论文没有给出定量对比。
RLVR 的奖励是最终答案的 0/1 判定;一条长推理里,哪一步是关键、哪一步是填充,奖励本身不区分。GRPO 的做法是用最终结果估一个轨迹级优势,再把它摊到轨迹里的所有 token。
FR3E 把探索起点从 prompt 移到高熵中间状态:先跑一条 base trajectory,算每个 token 的熵,取 top-K 位置作锚点,把轨迹切成 K+1 个块;再从每个前缀状态 Sj 重放 M 条部分轨迹,用成功率估 V(Sj)。
最后用 αj = 1 / exp(V(Sj) − V(Sj−1)) 调制优势:有进步就压低信号,停滞就放大信号。它不训练 critic,也不训练 PRM;中间信号是采样出来的,不是学出来的。
RLVR 的奖励是最终答案的对错;真正的难题是判断哪一步推理值得保留。
数学推理的轨迹可以很长,但奖励通常只有一个 0/1 的最终判定。于是所有中间步骤共享同一个结果信号:答案错了,前面某一步可能才是罪魁祸首;答案对了,某一步也可能只是碰巧。论文把这件事称为 granular assignment of credit to intermediate steps(§1)。
GRPO 是这条路上常见的基线,也是论文的主要对照。它不训练 critic,而是对同一个 prompt 采样一组完整轨迹,用组内相对奖励估一个轨迹级优势,再把这个优势分配给轨迹里的所有 token。论文的原话是:GRPO 用最终结果奖励去估计所有中间动作的价值,“incorrectly averages the contribution of each step”(§1)。关键步骤和填充步骤拿到同样的信用,模型没有动力去强化真正决定成败的那一步。
如果只用最终奖励,信用分配不可避免地变粗;如果训练 critic 或 PRM,又引入新的不稳定、偏差或标注成本。论文要做的,是在不训练 critic、不用过程标签的前提下,构造一个语义上站得住的中间信号。
PPO 和 VAPO 试图用 critic 估计中间状态的价值,但论文指出:为 LLM 的巨大状态空间训练一个稳定、准确的 critic 很难,常常带来不稳定、偏差和显著的计算开销(§1)。这为后面的两条路——过程奖励与轨迹级比较——埋下了伏笔。
PPO 有细粒度但难训;PRM 有过程信号但贵;GRPO 简单但把整条轨迹当成一个动作。
已有方案可以粗分成三条路。它们都能提供某种中间信号,但每条路都留下了一个缺口。
本页按 §1–§2 整理的对照,不是论文表格;引文为原文英文句子。
| 路线 | 论文原句(§) | 留下的缺口(本页概括) |
|---|---|---|
| PPO / VAPO critic-based |
“training a stable and accurate critic for the vast state space of LLMs is difficult, often leading to instability, bias, and significant computational overhead”(§1) | 需要额外训练 critic;长程奖励传播仍然困难。 |
| GRPO trajectory-level |
“use the final outcome reward to estimate the value of all intermediate actions”; “incorrectly averages the contribution of each step”(§1) | 轨迹级信号,无法区分关键步骤与填充步骤。 |
| VinePPO / PRM process-level |
VinePPO “segments trajectories heuristically and uses Monte Carlo (MC) sampling for step-level advantages”; PRMs “face challenges with heuristic quality, sampling variance, labeling costs for explicit PRMs, or the granularity of implicitly derived rewards”(§1) | 依赖启发式分段、过程标签或采样方差。 |
FR3E 选择的是第四条路:不训练 critic,不训练 PRM,也不把最终奖励直接摊到所有 token。它先从 base trajectory 里找出高熵位置,再从这些位置重新生成,用部分 rollout 的成功率估一个中间状态的 value。这个 value 不是学出来的,是采样出来的。
这个思路借自 Go-Explore 的 “First Return, Then Explore”:先回到一个有希望的状态,再从那里探索(§2、§3.4)。论文把「回到」落到 LLM 的自回归生成上:回到高熵前缀,重新采样后续。
FR3E 把一条完整轨迹切成 K+1 个语义块,在 K 个高熵锚点上做 M 次部分 rollout,用成功率估每个中间状态的价值。
给定 query q,先让当前策略生成一条 base trajectory:
然后在每个位置 k 计算 token 级熵:
论文取整条轨迹上熵最高的 K 个位置作为锚点:
这 K 个锚点把轨迹切成 K+1 个块:
由这些块定义中间状态 Sj:
对每个 Sj,重置上下文,从该状态生成 M 条部分轨迹:
每条轨迹的奖励是二元的:答案正确为 1,否则为 0(Eq. 12)。于是 Sj 的经验价值就是这 M 条轨迹的平均成功率:
这一步是 FR3E 与 GRPO 的关键差别:GRPO 从 prompt 开始跑完整轨迹,FR3E 从中间状态开始跑部分轨迹。它不需要过程标签,但需要从中间状态做 M 次采样。
有了 V(Sj),论文定义调制因子:
然后把它乘到优势上:
两个分支的原文是:当 V(Sj) > V(Sj−1),αj < 1,“This reduces the influence of the advantage signal for successful paths, preventing premature convergence and preserving exploration diversity”;当 V(Sj) ≤ V(Sj−1),αj ≥ 1,“This amplifies the learning signal, encouraging more aggressive exploration to overcome reasoning bottlenecks”(§4.3)。换句话说,进步时踩一点刹车,停滞时踩一点油门。
论文还给出一个理想化性质:如果同一个块内所有轨迹等长,调制后的优势在整个 batch 上的平均恰为 0(Eq. 16–17)。实际轨迹长度不一,论文说会有偏差,但估计量仍近似无偏(§4.3)。
下面是一个简化模拟。12 个 token 的熵值是页面设定的示意值,M=8,成功次数也由页面设定;论文没有报告 K、M 的具体取值,也没有给出逐 token 熵表。拖 K 看 top-K 锚点如何改变块划分与调制因子。
示例数据声明:12 个 token 的熵值、每个锚点的成功次数、M=8 都是页面设定的示意值,仅用于演示机制;不是论文实验数据。
共同设定:12 个 token 的熵值依次为 t1=1.2, t2=3.6, t3=0.8, t4=3.1, t5=1.9, t6=2.9, t7=0.6, t8=2.5, t9=1.4, t10=2.2, t11=0.9, t12=1.7; M=8;成功次数固定为 t2=3, t4=5, t6=6, t8=2;V = 成功次数 / 8;锚点按位置升序排列。
K=2:熵值前 2 是 t2=3.6、t4=3.1 → 锚点 {t2, t4} → 块 B1=t1–t2, B2=t3–t4, B3=t5–t12。 V(S1)=3/8=0.375,V(S2)=5/8=0.625。 α2 = 1/exp(0.625−0.375) = 1/exp(0.25) = 0.7788。 α1 不计算:原文未定义 V(S0)。
K=4:熵值前 4 是 t2=3.6、t4=3.1、t6=2.9、t8=2.5 → 锚点 {t2, t4, t6, t8} → 块 B1=t1–t2, B2=t3–t4, B3=t5–t6, B4=t7–t8, B5=t9–t12。 V(S1)=3/8=0.375,V(S2)=5/8=0.625,V(S3)=6/8=0.750,V(S4)=2/8=0.250。 α2 = 1/exp(0.625−0.375) = 1/exp(0.25) = 0.7788; α3 = 1/exp(0.750−0.625) = 1/exp(0.125) = 0.8825; α4 = 1/exp(0.250−0.750) = 1/exp(−0.5) = 1.6487。 α1 不计算。
覆盖:Eq. 7 的 top-K 选择;Eq. 8–10 的块/状态切分(按位置升序展示);Eq. 13 的经验价值 V = 成功数 / M;Eq. 14 的 αj(仅 j≥2)。
未覆盖:真实的策略 rollout 与奖励判定;可变轨迹长度;拒绝采样与 PPO / Clip-Higher 目标;V(S0)(原文未定义);优势 A 的具体估计与 Eq. 16–17 的等长假设。页面不声称与原文逐行一致。
两处原文表述并列:§1 说锚点取自 “correctly completed reasoning trajectories”;§4.1.1 的生成步骤只写从 policy 生成 base trajectory,没有写正确性过滤条件。Eq. 9–10 把 Bj 定义到 tkj 为止,§4.1.4 的文字却说 Sj 在 kj “just prior to”;本模拟按 Eq. 9–10 的区间(含 kj)切分。
示例数据:12 个熵值、成功次数、M=8 都是页面设定;论文未报告 K 与 M 的取值,也未给出逐 token 熵表。
VeRL、512 batch、1e-6、16k 响应、16 rollouts/prompt、KL=0、entropy loss=0;论文没有给出与 GRPO++ 的定量成本对比。
训练配置(§5.1)
| 项目 | 设置 |
|---|---|
| 框架 | VeRL |
| batch size | 512 |
| learning rate | 1 × 10−6 |
| clip range | 0.22 – 0.28 |
| max response length | 16k tokens |
| rollouts per prompt | 16 |
| KL coefficient | 0 |
| entropy loss | 0 |
| mini-batch size | 128 |
| 训练数据 | DeepScaler(低难度)+ SimpleRL difficulty 3–5(高难度) |
| 评测采样 | greedy;AIME24 用 avg@32 |
拒绝采样:对每个 prompt 先跑多条 rollout;如果奖励全 0 或全 1,这个 prompt 被视为退化,从当前 batch 里剔除(§3.2)。因为剔除后 batch 可能不满,论文采用累积样本直到凑满一个完整 batch 再更新(§5.1)。
数据设置有一个附录说明:这套 DeepScaler + SimpleRL 的组合是在 Qwen2.5 7B math base 上做初步实验后选定的;作者提醒,这个结论不一定能直接迁移到 Qwen2.5 32B 等其他 base model(Appendix 7)。
成本:论文明确说,FR3E 与 GRPO++ 的 group size 对齐 “inherently infeasible”;即使匹配 rollout 数,推理成本也会因为部分 rollout 机制而不同。FR3E 只从中间状态生成,而不是从 prompt 跑完整序列;论文称这带来更高效的探索和更好的信用分配,代价是 “a different computational footprint”(§5.2)。论文没有给出与 GRPO++ 的定量成本对比,也没有断言更高或更低。
K 与 M:§5.1 只写了每个 prompt 16 次 rollout;论文没有说明这 16 次与 §4.2 的 M 是否同一参数,也没有报告 K 的取值。复现时这两个数需要自己定。
Figure 1 只画了 Stage 1 与 Stage 2;③ 是 §4.3 的调制机制,不是第三个阶段,本图把它单列出来以便读公式。
这个流程的关键在于「重置上下文」:Sj 是一个真实的前缀,模型可以从它继续生成;因此 FR3E 不需要把整条轨迹重新跑一遍,只需要从锚点续写。论文用这一点解释它的探索效率,也用它解释为什么 inference cost 与 GRPO++ 不同(§5.2)。
Table 1 的 8 个数学基准、3 个 Qwen2.5 模型;AIME24 用 avg@32,其余 greedy。
Table 1(Accuracy %)。本页只转录 FR3E 与 GRPO++ 两侧的原始分数;论文表中括号写作 (+6.1%) 等,按同一行两侧分数相减,它们是准确率百分点差,不是相对提升。§5.1 的基准列表没有列 AMC23,但 Table 1 有这一行;本页按表转录。
| Benchmark | Qwen2.5-Math-7B | Qwen2.5-7B | Qwen2.5-32B | |||
|---|---|---|---|---|---|---|
| FR3E | GRPO++ | FR3E | GRPO++ | FR3E | GRPO++ | |
| AIME24 | 39.1 | 39.1 | 25.2 | 22.7 | 40.2 | 34.1 |
| GSM8k | 91.3 | 91.2 | 92.8 | 91.2 | 96.1 | 95.8 |
| Math500 | 82.2 | 81.6 | 79.0 | 77.8 | 87.4 | 85.2 |
| Minerva Math | 40.8 | 38.2 | 39.0 | 35.3 | 45.6 | 43.0 |
| Gaokao2023en | 67.8 | 65.2 | 67.3 | 63.9 | 75.3 | 71.4 |
| Olympiadbench | 46.5 | 43.0 | 42.1 | 38.8 | 51.7 | 48.7 |
| College Math | 47.4 | 47.5 | 45.1 | 45.1 | 48.3 | 47.0 |
| AMC23 | 67.5 | 62.5 | 67.5 | 60.0 | 80.0 | 75.0 |
| Avg | 60.3 | 58.5 | 57.3 | 54.3 | 65.6 | 62.5 |
先看 AIME24:三个模型的 FR3E / GRPO++ 对比如下(Table 1,avg@32)。
柱高按准确率 0–100 线性映射;数值直接来自 Table 1。
几个值得单独看的点:
Figure 3 的熵损失曲线显示:Qwen2.5-7B 和 32B 上 FR3E 维持略高的熵水平;Qwen2.5-Math-7B 上 FR3E 后期熵回升,GRPO++ 更快收敛到低熵。Figure 5 的优势曲线更贴近 0、波动更小。Figure 7 的 All-Wrong 轨迹下降,Figure 8 的 All-Right 轨迹上升。Figure 9 的热图显示 FR3E 从低准确率区域向高准确率区域稳定迁移。这些图在正文中没有逐点数值,本页未转录。
四个边界:专精模型增益有限、成本未定量、K/M 未报告、奖励仍是二元的。
Qwen2.5-Math-7B 的平均分只从 58.5 抬到 60.3(+1.8 个百分点),AIME24 39.1 vs 39.1,College Math 47.4 vs 47.5(低 0.1 个百分点)。论文的解释是 fine-tuned knowledge 可能受到干扰(§5.2)。
FR3E 从中间状态做部分 rollout,GRPO++ 从 prompt 跑完整轨迹;论文说 group size 对齐不可行,推理成本会不同,但没有给出定量对比(§5.2)。所以「更贵还是更便宜」在这篇论文里没有定量答案。
§5.1 只写每个 prompt 16 次 rollout;论文没有说明它与 M 的关系,也没有报告 K 的取值,正文没有 K/M 的消融。复现时需要自己定这两个超参数。
Eq. 12 的奖励是二元的;论文的实验集中在数学基准,没有报告代码、Agent 或开放式任务的结果,也没有使用过程标签。FR3E 改变的是中间信号的来源,不是最终奖励的形式。
一句话:FR3E 改的是「中间信号怎么来」,不是「最终奖励怎么来」。最终奖励仍是 0/1 的结果判定;它用高熵锚点和部分 rollout 把中间状态的价值采样出来,再把这个价值反馈到优势。这个思路不依赖 critic 或 PRM,但也没有消除稀疏奖励本身。