EDGE-GRPO
LLM-RL · arXiv 2025

EDGE-GRPO:用熵重新加权优势,用参考答案更可能补足全错组

GRPO 的组内优势在“全对”或“全错”时一起变成 0,难样本因此被浪费。EDGE-GRPO 在响应层面按概率对错误回答做引导纠错,让组里更可能出现正例;在信号层面用样本级策略熵缩放优势,让“自信地错”罚得更重、“不自信地对”奖得更轻。Qwen2.5-Math-1.5B 只用 1K 样本,五基准平均从 25.71 升到 48.08。

Xingjian Zhang、Siwei Wen、Wenjun Wu、Lei Huang · 北京航空航天大学 原文 ↗ 代码 ↗
TL;DR · 30 秒抓住核心

GRPO 用组内均值算优势。一个组 8 条回答如果全对或全错,奖励相同,优势全为 0,策略梯度也就为 0;难题上这种组很常见。论文的 Hard-1K 里约 80% 的问题在 8 次采样中全部答错。

EDGE-GRPO 分两层补信号。GEC 对每条错误回答按 0.5 / 0.25 / 0.25 的概率做“提示后重生成 / 提示并给答案 / 直接替换成参考解”,提高组里出现正例的概率;EDA 再把优势除以归一化熵:低熵(自信)放大优势绝对值,高熵(不确定)缩小。

Qwen2.5-Math-1.5B 上,Random-1K 平均 25.71→48.08;7B 上 29.04→49.30。Hard-1K 上 7B 从 47.69 到 53.21。

代价是训练数据要带参考答案:答案注入只需要最终答案,参考解替换才需要参考解;GEC 是“开卷”干预,EDA 的收益依赖组里先有非零优势。论文只验证数学推理,GEC 概率与熵缩放也没有敏感性实验。

48.08%
Qwen2.5-Math-1.5B 在 Random-1K 上的五基准平均;Base 为 25.71%
49.30%
Qwen2.5-Math-7B 在 Random-1K 上的平均;Base 为 29.04%
53.21%
7B 在 Hard-1K 上的平均;Vanilla GRPO 为 47.69%
01

全对或全错的组,优势一起归零

先看 GRPO 的失效点:优势是组内相对量,组内奖励没有差异时,整组都拿不到梯度。

GRPO 对每个问题采样 G 条回答,用规则 verifier 给每条回答一个奖励,再在组内标准化:

Ai = ( ri − mean({r1, …, rG}) ) / std({r1, …, rG})
Eq. 2:GRPO 的组内优势;ri 通常来自最终答案是否正确。

如果 8 条回答全对,ri 全相等,分子为 0;全错也一样。于是按论文口径记为 Ai = 0(严格说 Eq. 2 为 0/0,实现通常加 epsilon),策略梯度没有信号。论文把这个现象叫 advantage collapse。它不是偶发:在 Hard-1K 里,约 80% 的问题在 8 次采样中全部答错,这些题恰好是模型最需要学习的题。

所以问题不是“奖励太稀疏”这么简单,而是组内没有对照:没有一条比组平均更好的回答,模型无法判断该往哪个方向更新。

02

让模型反思收效有限,按样本看熵又常常错配

已有两条路线:响应层面逼模型反思,信号层面把熵/内部反馈塞进优势。论文先各做了一组量化实验,说明两条都不够。

响应层面

反思回答的准确率反而更低

论文用 15 个反思关键词(check again、recheck、verify again 等)识别回答里是否出现自我反思。多数模型上,含反思的回答准确率明显低于整体;强制模型对错误答案反思,Figure 2 右下报告的准确率多数模型低于 5%。Table 5 按单个触发词统计,多数纠正率低于 10%,0.1 档最高为 11.059%(DeepSeek-R1-Distill-Qwen-7B,Hmm),全表最高为 0.6 档的 12.097%。DeepSeek-R1-Distill 系列相对更高,论文正文称最好的 DeepSeek-R1-Distill-Qwen-7B 也只有约 11%(Table 5、Appendix)。

信号层面

平均熵有方向,样本级却大量错配

论文定义 RCM = (EntropyCorrect − EntropyWrong) / Average Entropy。多数后训练模型的 RCM 为负(Table 3),说明正确回答平均更自信;但逐样本看,约一半错误回答的熵低于平均,近三分之一正确回答的熵高于平均(Figure 3 右)。

Table 3 / Table 5 未全文转录,仅引用定性结论 / 极值(SPEC §1.3-J)。

这两组观察决定了方法:既然模型自己反思很难产生正例,就从外部给答案或参考解;既然熵的 aggregate 方向对但样本级常错,就不能全局鼓励高熵或低熵,而要按每条回答的熵相对组均值来缩放它的优势。

模型(temperature=0.1)平均准确率含反思回答准确率无反思回答准确率
Qwen2.5-Math-1.5B25.7110.0026.01
Qwen2.5-Math-1.5B-Oat-Zero47.3717.8647.91
Qwen2.5-Math-7B29.0413.5129.42
Qwen2.5-Math-7B-SimpleRL47.3725.7147.87
DeepSeek-R1-Distill-Qwen-7B45.3856.2122.77

Table 4 的节选(temperature=0.1,5 个模型);完整表还含 0.3/0.6/1.0 与另外 4 个模型。DeepSeek-R1-Distill 是反例:它的反思准确率高于自身平均,论文归因于高质量长 CoT 蒸馏数据。

03

GEC 让组里更可能出现正例,EDA 按熵放大或缩小优势

两个模块正交:GEC 改的是“组里有哪些回答”,EDA 改的是“已有优势值怎么缩放”。

响应层面:Guided Error Correction

对每条错误回答,GEC 按固定概率三选一:

P = 0.5

提示后重生成

追加一句反思提示(如 “Wait! Something is wrong here.”),让模型基于提示重新生成,保留自纠机会。

P = 0.25

提示并注入答案

在提示后把最终答案直接拼进这条回答(外部注入,不再生成);回答的其余部分仍是模型生成,正确目标已写入。

P = 0.25

参考解替换

用外部参考解整体替换这条错误回答;改完之后,组里更可能出现正确样本。

关键点是 GEC 作用在每条错误回答上,而不是只在“整组全错”时启动。这样即使组里已经有一条正确回答,其余错误回答仍可能被纠正,组内正负样本的比例更高,优势更不容易塌成 0。

论文把“每个问题都有最终答案和参考解”列为整体数据条件;逐操作看,直接答案注入只需要最终答案,参考解替换才需要参考解,两者都没有时只能提示后重生成,正例不保证。GEC 是把外部监督注入 RL 组内,不是让模型凭空自纠。论文没有测试低质量或噪声参考解的影响。

信号层面:Entropy-Driven Advantage

对每条回答,先按 token 级策略分布算平均熵 Pi,再除以组内平均熵:

P̂i = Pi / mean({P1, …, PG})
Âi = Ai / P̂i
Eq. 6–7:归一化熵 P̂i 与熵驱动优势 Âi。注意 Eq. 7 是除法,不是乘法。

P̂ < 1 表示这条回答比组内平均更自信;P̂ > 1 表示更不确定。除以 P̂ 后:

注意 EDA 的前提是 Ai 已经非零。整组全对或全错时 Ai 按论文口径记为 0,除以任何 P̂ 仍是 0。GEC 对每条错误回答按概率处理:全错组是主要场景,GEC 能提高组里出现正例的概率;全对组没有错误回答可改,GEC 不执行任何操作,优势仍为 0。

熵驱动优势
Âi = Ai / P̂i = 2.000
正确且自信:放大奖励
手算:四组参数 与滑块输出逐位一致(三位小数)

1)A=1.0,P̂=0.5:Â = 1.0 / 0.5 = 2.000(正确且自信,奖励放大)。

2)A=−1.0,P̂=0.5:Â = −1.0 / 0.5 = −2.000(错误但自信,惩罚放大)。

3)A=1.0,P̂=1.5:Â = 1.0 / 1.5 = 0.667(正确但不自信,奖励缩小)。

4)A=−1.0,P̂=1.5:Â = −1.0 / 1.5 = −0.667(错误但不自信,惩罚缩小)。

滑块范围 A∈[−2,2]、P̂∈[0.5,2.0];A=0 时输出恒为 0,EDA 无法救回全对/全错组(GEC 只处理错误回答,全对组仍为 0)。

04

1K 样本、8 张 A100、一个 epoch:便宜在数据,不便宜在参考答案

论文没有报告 GPU 小时或 token 成本;能确认的是训练配置、数据规模和 GEC 对数据的额外要求。

训练在 8 张 NVIDIA A100-40G 上进行,每个问题采样 8 条回答,每条最多 1024 token;只训练 1 个 epoch,学习率 1e-6,并去掉了 KL 约束(§Implementation Details、Appendix)。训练集是从 DeepScaleR 过滤后随机抽的 1K 条 DeepScaleR-Random-1K;另外用 Qwen2.5-Math-7B 筛出 8 次采样准确率最低的 1K 条,构成 DeepScaleR-Hard-1K。

数据

1K 条训练样本,1 个 epoch;对比模型使用 5.7K–800K 条(Table 6 的 #Train 列)。

硬件

8×A100-40G;论文没有给出 GPU 小时、训练时长或显存峰值。

GEC 成本

错误回答按概率触发一次重生成、答案注入或参考解替换;论文没有量化额外 token/时间,也没有 GEC 概率的敏感性实验。

GEC 的数据条件值得单独看:直接答案注入只需要最终答案;参考解替换才需要参考解;两者都没有时只能提示后重生成,正例不保证。论文把“每个问题都有最终答案与参考解”列为整体数据前提,这把数据门槛从“答案可验证”提高到“过程可参考”;论文没有测试低质量或噪声参考解。

另一个工程细节是 std 分母。GRPO 的 Eq. 2 在组内奖励全相等时会出现 0/0;论文没有展开实现里的 epsilon 处理,页面不对 0/0 的数值结果做推断。论文的口径是:全同奖励组为 zero advantage;后续 EDA 对 A = 0 也除不出信号。

05

先补组内正例,再重加权,最后才更新

把两个模块放回一次 GRPO 迭代:采样 → 奖励 → GEC → 重新算奖励与优势 → EDA → 策略更新。

问题 q 数学题 采样 G=8 条 policy π_θ 规则奖励 答对 1,答错 0 GEC 引导纠错 对每条错误回答按概率三选一 0.5 重生成 / 0.25 注入 / 0.25 替换 重算奖励 组内出现正例 GRPO 优势 (r_i−mean)/std EDA 缩放 A_i / P̂_i 策略更新 PPO clip 更新,去掉 KL
图:EDGE-GRPO 的一次迭代示意。覆盖 §Response-level: Guided Error Correction (GEC) 的三选一概率与 §Signal-level: Entropy-Driven Advantage (EDA) 的 Eq. 6–7;不覆盖 TRL 的具体 batch 组织、clip 实现与分布式采样细节。
Step 1–2

采样与奖励

每个问题采样 8 条回答,规则 verifier 只给最终答案对错。全部同奖时组内分子为 0;其中有错误回答(全错组)时 GEC 会对每条错误回答按概率处理,全对组没有错误回答可改,GEC 不执行任何操作。

Step 3–4

GEC 与重算

对每条错误回答按 0.5/0.25/0.25 触发三种干预;参考解替换会直接写入正确解,提示并注入答案则把最终答案直接拼进回答,两者都让组里更可能出现正例;重生成则给模型一次自纠机会。之后重新算奖励与优势。

Step 5

EDA 缩放

用 Eq. 3–4 算每条回答的平均策略熵,除以组均值得到 P̂,再用 Â = A / P̂ 放大或缩小优势。

Step 6

更新

把 Â 放进 GRPO/PPO 的 clip 目标,更新 actor。论文去掉了 KL 项,理由是训练分布可能显著偏离初始模型。

06

1K 样本把 1.5B 从 25.71 拉到 48.08,7B 在 Hard-1K 到 53.21

先看两张主表:Random-1K 与 Hard-1K;再看与开源模型的对比,以及原文表间的一处数值并列。

Table 1 · Random-1K:两个模型、六个方法

模型 / 方法Avg (1560)AIME (30)AMC (83)MATH (500)Minerva (272)Olympiad (675)
Qwen2.5-Math-1.5B
Base25.716.6737.3534.6012.1324.00
SFT30.1310.0030.1247.2014.7124.59
Vanilla GRPO40.3213.3339.7665.6019.4931.26
+ Force-R42.6310.0036.1471.4021.6932.00
+ Force-R & EDA45.8310.0037.3573.6023.9036.74
EDGE-GRPO48.0813.3344.5876.4028.6836.89
Qwen2.5-Math-7B
Base29.0410.0037.3553.4010.6618.22
SFT41.996.6743.3769.0022.0631.41
Vanilla GRPO46.4723.3355.4272.4027.9434.67
+ Force-R47.7623.3353.0174.6023.1638.22
+ Force-R & EDA45.7123.3349.4067.0032.3535.85
EDGE-GRPO49.3016.6750.6075.6033.0937.04

Table 1:DeepScaleR-Random-1K,训练 1 epoch;Pass@1(temperature=0.1);Avg 是按题目数加权(总答对数 / 1560),不是五个基准准确率的简单平均。

Table 2 · Hard-1K:7B 的提升在 Hard-1K 进一步放大

模型 / 方法Avg (1560)AIME (30)AMC (83)MATH (500)Minerva (272)Olympiad (675)
Qwen2.5-Math-1.5B
SFT29.176.6728.9246.4012.8724.00
Vanilla GRPO40.2610.0046.9965.0020.5930.37
+ Force-R41.5513.3331.3370.0022.0630.81
+ Force-R & EDA42.4410.0034.9469.6023.5332.30
EDGE-GRPO47.2410.0044.5873.2029.0437.33
Qwen2.5-Math-7B
SFT37.373.3344.5868.0019.8522.37
Vanilla GRPO47.6926.6753.0174.2025.7437.19
+ Force-R40.2613.3340.9667.6019.8529.33
+ Force-R & EDA45.1926.6750.6068.0028.6835.11
EDGE-GRPO53.2116.6753.0179.0036.0342.67

Table 2:DeepScaleR-Hard-1K,Pass@1,temperature=0.1;Hard-1K 中约 80% 的问题在 8 次采样中全部答错(§Experimental Setup)。

先看相对 Base 的提升:1.5B 是 48.08 − 25.71 = 22.37 个百分点,相对 87.0%;7B 是 49.30 − 29.04 = 20.26 个百分点,相对 69.8%。相对 Vanilla GRPO,1.5B 提升 7.76 个百分点(相对 19.2%),7B 提升 2.83 个百分点(相对 6.1%);Hard-1K 上分别是 6.98 个百分点(相对 17.3%)与 5.52 个百分点(相对 11.6%)。

消融里有两个值得注意的反例。第一,Table 2 里 7B 的 + Force-R 只有 40.26,比 Vanilla GRPO 的 47.69 低 7.43 个百分点,方向与 7B Random-1K 相反(47.76 对 46.47);论文没有单独解释这一下降。第二,在 Force-R 基础上再加 EDA(+ Force-R & EDA)对 7B 的两个设置都低于 Vanilla GRPO(Random 45.71 对 46.47;Hard 45.19 对 47.69),但相对 + Force-R 在 1.5B Random(45.83 对 42.63)、1.5B Hard(42.44 对 41.55)与 7B Hard(45.19 对 40.26)三处更高,只在 7B Random 下降(45.71 对 47.76)。从表看,+Force-R&EDA 在 3/4 设置高于 +Force-R 推断(依据:Table 1 与 Table 2 的 Avg 逐项比较);论文的解释是:EDA 对全零优势组无效,GEC 提高非零优势组的比例。+Force-R&EDA 在四个设置中仍都低于完整 EDGE-GRPO。

Table 6 · 与开源模型对比:1K 样本接近 5.7K–800K 训练的模型

模型#TrainAvg (1560)AIMEAMCMATHMinervaOlympiad
Qwen2.5-Math-1.5B Base—25.716.6737.3534.6012.1324.00
DeepSeek-Distill-1.5B800K33.536.6727.7161.0013.6023.11
Oat-Zero-1.5B8.5K47.3720.0048.1975.0025.7436.74
Qwen2.5-Math-7B Base—29.0410.0037.3553.4010.6618.22
DeepSeek-Distill-7B800K45.3916.6736.1474.2029.4132.89
Oat-Zero-7B8.5K53.4036.6761.4579.8030.8842.67
SimpleRL-Zoo-7B8K47.3723.3353.0176.0024.2635.85
Eurus-7B*48.4K53.926.757.879.238.642.1
OpenReasoner-Zero-7B5.7K51.9920.0040.9680.2029.4142.96
EDGE-GRPO-1.5B1K48.0813.3344.5876.4028.6836.89
EDGE-GRPO-7B1K53.0116.6749.4079.0036.0342.67

Table 6:与开源模型的 Pass@1 对比,temperature=0.1;* 表示数据来自原论文,其余为论文自己评测。#Train 为训练样本数;Avg (1560) 为总答对数 / 1560。强调色只表示 EDGE-GRPO(论文方法),不表示该列为全表最高。

数据效率的对比很直接:EDGE-GRPO-1.5B 用 1K 样本达到 48.08,高于 Oat-Zero-1.5B 的 47.37,差 0.71 个百分点;EDGE-GRPO-7B 的 53.01 比 Oat-Zero-7B 的 53.40 低 0.39 个百分点、比 Eurus-7B 的 53.9 低 0.89 个百分点。论文的“comparable”是合理描述,不是全面超过。

表间并列

Table 2 的 53.21 与 Table 6 的 53.01 不是同一个数

Table 2(Hard-1K)7B EDGE-GRPO 的 Avg 是 53.21;Table 6 的 EDGE-GRPO-7B 写 53.01,差 0.20 个百分点。Table 6 的 EDGE-GRPO-1.5B 行 48.08 与 Table 1 Random-1K 行数值完全相同,但 7B 行既不等于 Table 1 的 49.30(差 3.71 个百分点),也不同于 Table 2 的 53.21(差 0.20 个百分点)。Table 6 没有注明这两行各自对应哪个训练集;页面并列两处,不替原文选一个。

当前读数
SFT
30.13
GRPO
40.32
+Force-R
42.63
+Force-R&EDA
45.83
EDGE-GRPO
48.08
EDGE-GRPO(完整方法)对照变体柱高按当前视图、当前指标内最大值归一;数值逐字取自 Table 1/Table 2
手算:图表归一化 两个视图各一组,与柱高逐位一致

1.5B · Random-1K · Avg:该视图最大值是 EDGE-GRPO 48.08,所以 EDGE-GRPO 柱高 = round(48.08 / 48.08 × 1000) / 10 = 100.0%;GRPO = round(40.32 / 48.08 × 1000) / 10 = 83.9%。

7B · Hard-1K · Avg:最大值是 EDGE-GRPO 53.21,所以 EDGE-GRPO 柱高 = round(53.21 / 53.21 × 1000) / 10 = 100.0%;GRPO = round(47.69 / 53.21 × 1000) / 10 = 89.6%。

柱高最低 1.2%,避免 0 值柱不可见;当前表内最小值不会触发。

07

它更可能把“全错组”变成可学信号,但只在有参考答案的数学题上验证

边界有三层:数据要带最终答案或参考解、GEC 是外部监督、评测只覆盖数学推理;此外超参数敏感性没有展开。

数据门槛

答案注入要答案,参考解替换要过程

GEC 的“答案注入”需要最终答案;“参考解替换”才需要参考解;两者都没有时只能提示后重生成,正例不保证。论文在过滤 DeepScaleR 时要求答案位于 \boxed{} 且带 solution;论文没有测试低质量或噪声参考解的影响。

外部监督

GEC 把参考答案放进训练组

这不是模型自己纠错,而是把外部正确解按概率注入。论文的消融显示它有效,但也意味着性能提升部分来自“开卷”信号;GEC 与纯 RL 的贡献比例,论文没有拆分。

评测范围是五个数学基准:AIME24、AMC、MATH500、Minerva、OlympiadBench,共 1560 题;没有代码、科学问答、开放对话或多模态。论文只在五个数学基准上评测,未讨论其他领域,页面不把“数学上有效”扩成“通用有效”。

超参数方面,GEC 的三个概率(0.5/0.25/0.25)与熵缩放都没有敏感性实验;EDA 的熵是 token 级策略熵,论文没有比较语义熵、序列熵等替代信号。训练还去掉了 KL 约束,作者称这是沿用已有工作的做法,但没有给出有无 KL 的对照。

最后一个边界是 EDA 的适用条件:它只能重加权非零优势。全错组可由 GEC 提高出现正例的概率;全对组没有错误回答可改,GEC 不执行任何操作,A 仍为 0,除以 P̂ 仍是 0。页面把这条写成机制约束,而不是“EDA 单独解决优势坍塌”。