SAR
LLM-RL · ICLR 2026

Self-Aligned Reward:奖励“离开问题就说不出来”的答案

RLVR 只回答“最终答案对不对”,无法区分简洁正确与冗长正确;长度惩罚又常把必要步骤一起扣掉。SAR 比较同一答案在有 query 与无 query 两种条件下的困惑度,把“问题帮了多少忙”变成连续奖励。Qwen3-4B 上,SA-GRPO 把五基准平均准确率从 69.07 提到 71.41,同时把平均长度从 1030.6 降到 894.0。

Peixuan Han、Adit Krishnan、Gerald Friedland、Jiaxuan You、Chris Kong · UIUC / AWS 原文 ↗ 代码 ↗
TL;DR · 30 秒抓住核心

二值奖励只看最后一格答案。只要答案对,143.5 token 的简洁解和 236.0 token 的冗余解在 GRPO 里拿到同样的优势值 0.5;模型没有理由少写。

SAR 把同一个答案分别放进“有 query”和“空 query”两种上下文,计算困惑度的相对下降:答案越依赖问题、越不像一段可独立背出来的通用文本,奖励越高。它不惩罚长度本身,惩罚的是“把 query 拿走后仍然成立”的内容。

在 4 个模型、5 个数学基准上,SA-GRPO 相对 GRPO 的准确率与平均长度同时改善;Qwen3-4B 是 69.07→71.41、1030.6→894.0。代价是每个答案多一次前向,更新阶段耗时几乎不变。

但论文摘要里的“30% 长度、4% 准确率”不是每个模型都成立;Table 3 逐模型看,长度降幅 13.3%–45.5%,准确率相对增幅 0.6%–3.4%。页面在 06 与页脚把原文几处口径并列,不替它选一个。

71.41%
Qwen3-4B 上 SA-GRPO 的五基准平均准确率;GRPO 为 69.07%
894.0
同一设置的平均答案长度;GRPO 为 1030.6
1.15
SAR 给“正确且简洁”答案的优势值;正确但冗余为 1.00
01

二值奖励看不出:两个都对的答案,一个啰嗦一个简洁

先建立共同认知:可验证奖励只判断最终答案是否包含 ground truth,不判断推理过程里有多少内容是必要的。

论文把 RLVR 的奖励写成 Eq. 5:答案里出现 ground truth 就得 1,否则得 0。这个信号足够训练出会做题的模型,但它对“过程质量”完全沉默。一个 143.5 token 的简洁解和一个 236.0 token 的冗余解,只要最后答案都对,奖励相同;在 GRPO 的组内归一化之后,它们的优势值也都是 0.5。模型没有任何梯度去偏好前者。

Table 2 用 200 道数学题、6 类答案把这个盲区量化了。SAR 给“正确且简洁”的答案是 1.15,给“正确但冗余”是 1.00;“部分正确但最终答案错”是 −0.01,而不是传统二值奖励的 −0.5;“完全错误或无关”是 −1.44。更反直觉的是“正确但没思考”(直接给答案、只有 5.0 token)拿 −0.04:SAR 不奖励背诵式答案,即使它又对又短。

这就是这篇论文要补的信号:正确性之外,还需要一个连续的、内容感知的“这个答案有多依赖问题”的分数。

02

长度惩罚能压 token,却把“必要步骤”和“废话”一起压掉

已有两条路线:直接惩罚长度(O1-pruner、Efficient Reasoner),或奖励低熵/高置信度;它们都拿到效率,但常常用准确率交换。

Table 1 把不同奖励设计拆成 5 个维度:是否连续、是否只用模型内部信号、是否内容感知、是否保留正确性、是否鼓励简洁。长度惩罚在“简洁”一列打勾,但在“内容感知”和“正确性”两列是叉——它不知道哪些 token 是必要推理。

奖励设计ContinuousInternalContent-AwareCorrectnessConciseness
Correctness(RLVR)✗✓✓✓✗
Reward Model✓✗✓✓✗
Length Penalty✓✓✗✗✓
Entropy✓✓✓✗✗
Self-Aligned(SAR)✓✓✓✓✓

Table 1:不同奖励设计的比较;SAR 是表中同时勾满五列的一行。

两条长度基线分别是 O1-pruner 与 Efficient Reasoner。O1 的奖励是 RO1 = clip((mean[len(a1..N)] − len(ai)) / len(ai), −1, 1):比同组平均短的答案得分高。ER 只对正确回答生效,用正确回答长度的均值与标准差做 z-score,再经 sigmoid 映射到 [−1, 1];错误回答直接给 0(Appendix B.2, Eq. 9–10)。两者都只看长度,不看内容。

代价在 Table 3 的 Average 列很直接:四个模型上,GRPO-O1 与 GRPO-ER 的准确率都低于同模型的 GRPO。长度确实短了,但“短”不是免费的。

模型GRPO
acc / len
GRPO-O1
acc / len
GRPO-ER
acc / len
Qwen3-1.7B53.37 / 762.852.64 / 572.252.11 / 666.6
Qwen3-4B69.07 / 1030.667.75 / 608.667.38 / 579.0
Phi-3.5-mini45.91 / 448.240.62 / 392.840.84 / 374.8
Gemma3-1B31.78 / 1866.031.23 / 1529.631.29 / 1236.6

摘自 Table 3 的 Average 列;acc 为五个数学基准平均准确率(%),len 为平均答案长度(token)。

另一条路线是奖励低熵/高置信度。Table 5 的消融显示:只用 entropy minimization 奖励(REM)时,Qwen3-4B 平均准确率只有 55.46,长度反而升到 1228.8;即使在 verifiable reward 上再加 entropy 项(RVR + αREM),也只有 69.85 / 936.4,低于 SAR 的 71.41 / 894.0。论文的解释是:绝对置信度可以被“过度自信的简单答案”满足,而 SAR 要的是条件于 query 之后的相对下降。

03

SAR 奖励的是“问题让答案从意外变得不意外”的相对幅度

核心公式只有一行:同一答案在无 query 与有 query 下的困惑度相对差,裁剪到 [−1, 1] 后与正确性奖励相加。

RSA = clip( ( ppl(a) − ppl(a|q) ) / ppl(a), −1, 1 )
Eq. 6:Self-Aligned Reward;R = RVR + αRSA。
ppl(a) = exp( −(1/|a|) Σj=1..|a| log P(aj | a1..j−1) )
ppl(a|q) = exp( −(1/|a|) Σj=1..|a| log P(aj | q, a1..j−1) )
Eq. 7:ppl(a) 是答案独立出现的困惑度;ppl(a|q) 是给定 query 后的困惑度。

可以把 RSA 读成一句话:“如果把问题拿掉,这个答案会变得多不可能?” 一条为问题量身定做的推理,很多 token 只有看到 query 才容易预测,ppl(a|q) 远低于 ppl(a),相对下降大;一段可以独立背诵的通用文本,有没有 query 都差不多,相对下降小。由于 ppl > 0,RSA 恒小于 1;实现里再把下界裁到 −1(§3.2 脚注)。

论文还把它拆到 token 级(Eq. 8):RSA = 1 − ppl(a|q)/ppl(a) = 1 − exp( −(1/|a|) Σ log [P(aj|q, a<j) / P(aj|a<j)] ),与前面的 1 − ppl(a|q)/ppl(a) 一致。定义 v(aj) = log P(aj|q, a<j) − log P(aj|a<j):第一次从 question 里取信息的 token(Figure 2 的例子是 “Janet”“duck”“16”)v 高;重复已经生成过的信息(第二次说 “Janet”)v 低甚至为负。这解释了 SAR 为什么偏好短答案:答案越往后,能新引入的 query 信息越少。

R_SA 与总奖励
RSA = 0.600;R = RVR + αRSA = 1.120
未触发 clip
手算:两组参数 与滑块输出逐位一致(三位小数)

1)ppl(a)=10.0,ppl(a|q)=4.0,α=0.20,答案正确:RSA=(10−4)/10=0.600;R=1+0.2×0.6=1.120。

2)ppl(a)=10.0,ppl(a|q)=13.0,α=0.20,答案错误:RSA=(10−13)/10=−0.300;R=0+0.2×(−0.3)=−0.060。

滑块范围 ppl∈[1,50]、α∈[0,0.5];RSA 先裁到 [−1,1] 再乘 α,因此答案错误时,若 ppl(a|q) 远大于 ppl(a),总奖励只会到 −α,不会无限变小。

04

只多一次前向:更新阶段 15.13 → 15.20 GPU 小时

SAR 的工程卖点是“便宜”:ppl(a|q) 在 GRPO 里已经被 KL 项和重要性采样算过,真正新增的只有 ppl(a) 的一次前向。

论文在 Appendix B.1 给了具体做法:先把 query 换成空问题(仍保留 system prompt),把答案 token 拼回去并修正 position ids,让答案位置连续;然后用当前 policy 对这条“无 query 序列”算一次 log-probs,得到 ppl(a)。ppl(a|q) 则直接复用 rollout 时已有的 log-probs。也就是说,SAR 的额外成本是一次前向,不是两次。

Table 7 报告 Qwen3-4B 前 200 步的 GPU hours(训练时间 × GPU 数):SA-GRPO 的总耗时是 46.64,GRPO 是 48.08,反而少 1.44;Update 阶段从 15.13 到 15.20,只多 0.07;Rollout 阶段从 32.95 降到 31.44,少 1.51。论文的解释是答案变短后 rollout 本身更快,抵消了额外前向。

方法RolloutUpdateTotal
GRPO32.9515.1348.08
GRPO-O130.3615.9246.28
GRPO-ER30.9215.2446.16
SA-GRPO31.4415.2046.64

Table 7:Qwen3-4B 前 200 步的 GPU hours(Training time × GPU count)。

额外计算

1 次前向:只算 ppl(a);ppl(a|q) 复用已有 log-probs(§6.3、Appendix B.1)。

更新阶段

+0.07 GPU h:15.13 → 15.20,几乎不变;SAR 不引入额外优化器或 critic。

总耗时

−1.44 GPU h:48.08 → 46.64,主要来自更短的 rollout。

训练配置见 Table 9:4×H100 80GB,500 步,train batch 128,mini-batch 64,每 prompt 8 条 rollout,max response 4096,KL 系数 1e−3,advantage clip 0.2。SA-GRPO 的 α 默认 0.2;GRPO-O1/ER 的 α 默认 0.05(Appendix B.3)。

05

一个答案,两条前向,先算相对下降再裁剪

把公式放回训练循环:采样 → 复用 ppl(a|q) → 空 query 前向算 ppl(a) → 合成奖励 → GRPO 更新。

query q 数学 / 逻辑题 answer a 一条 rollout 带 query 前向 复用 log-probs → ppl(a|q) 空 query 前向 一次额外前向 → ppl(a) 相对下降 (ppl(a) − ppl(a|q)) / ppl(a) clip(−1, 1) = R_SA R_VR 最终答案对 = 1,否则 0 R = R_VR + α R_SA → GRPO advantage → update
图:SAR 的计算路径示意,覆盖 §3.2 的 Eq. 6–7 与 Appendix B.1 的空 query 构造;不覆盖 GRPO 的 ratio/clip、KL 项与 PPO 的 critic 更新。
Step 1

采样与正确性

每个 query 采样 N=8 条 rollout(Table 9)。先用规则 verifier 判断最终答案是否包含 ground truth,得到 RVR ∈ {0,1}。

Step 2

复用 ppl(a|q)

GRPO 本来就要算每条 rollout 的 log-probs(KL 惩罚与重要性采样),ppl(a|q) 直接由这些 log-probs 归约得到,不额外跑模型。

Step 3

空 query 前向

把输入改成 System:{sys_prompt}\nUser:\nAssistant:,保留 system prompt,拼回答案 token,修正 position ids;再算一次 log-probs,得到 ppl(a)(Appendix B.1)。

Step 4

合成奖励与更新

每个答案算 RSA,总奖励 R = RVR + αRSA;GRPO 做组内归一化得到 advantage,PPO 走 critic/value。SA-GRPO 默认 α=0.2。

这个顺序也解释了为什么 SAR 不会改变原有 RL 算法的骨架:它只是把每个 rollout 的标量奖励从 RVR 换成 RVR + αRSA,后面的 ratio、clip、KL 与 advantage 计算都不动。

06

四个模型上准确率与长度同时改善,但摘要的 30% 相对长度降幅与 4% 相对准确率增幅不是每个模型都成立

Table 3 是主结果:4 个模型 × 7 种方法 × 5 个数学基准。先看完整表,再拆论文摘要里的两个百分比。

模型 / 方法GSM8kGSM-symMATHNuminaMathAIMEAverageAES
acclenacclenacclenacclenacclenacclen
Qwen3-1.7B(Base)
Base69.2228146.7636556.8970024.5812429.97153941.48825.40.000
+PPO82.7133262.8846063.0478427.0213589.11171848.95930.40.773
+SA-PPO85.5128168.0236966.2758732.0586610.61101552.49623.61.572
+GRPO84.5333567.6641367.3169733.44109113.93127853.37762.81.509
+GRPO-O184.1528565.7836366.5152833.1577513.6191052.64572.21.652
+GRPO-ER82.7124464.7432066.5455734.3598012.22123252.11666.61.474
+SA-GRPO85.5126767.6634667.9656436.0384113.5099254.13602.01.795
Qwen3-4B(Base)
Base76.1931566.2243563.7965238.80114220.15128153.03765.00.000
+PPO91.3637385.4248582.15113250.80199526.90268067.331333.00.606
+SA-PPO92.1226683.5234578.6765249.09113328.19139766.32758.61.260
+GRPO92.6232086.3041482.5182153.79148530.11211369.071030.61.165
+GRPO-O191.8926286.7635080.4154951.0686628.62101667.75608.61.592
+GRPO-ER92.8021985.2429779.4850350.4785428.94102267.38579.01.596
+SA-GRPO93.4023987.6432382.6376257.70135835.69178871.41894.01.564
Phi-3.5-mini(Instruct, 3.8B)
Base71.1928756.8639833.83113211.5614922.3594335.15850.40.000
+PPO82.4920964.8832238.5683111.4517073.8592640.24799.00.784
+SA-PPO87.0423873.5234446.3430017.435862.7950145.42393.81.997
+GRPO87.5623573.7633748.6941516.375823.2167245.91448.22.003
+GRPO-O179.8320362.2427944.4139014.085092.5758340.62392.81.316
+GRPO-ER82.0315463.5424043.6136312.555112.4760640.84374.81.368
+SA-GRPO87.9520772.7228950.9935616.084553.2253546.19368.42.137
Gemma3-1B(Instruct)
Base42.1532519.5842736.40104212.4014142.25227922.5610970.000
+PPO56.8694230.28118744.17140815.5719041.60242229.691572.61.146
+SA-PPO55.8068331.0093642.94102514.2215231.50168329.101170.01.383
+GRPO59.97120834.70155245.40169316.5922642.25261331.781866.01.343
+GRPO-O160.8087332.06115744.76129816.1618712.35244931.231529.61.528
+GRPO-ER59.4474832.36106346.23113116.4115452.04169631.291236.61.808
+SA-GRPO61.2655234.5277246.6095216.7013022.14150932.241017.42.218

Table 3:四个模型在五个数学基准上的完整结果;acc 为准确率(%),len 为平均答案长度(token),AES 为 accuracy-efficiency trade-off score(γ=5)。GRPO-O1/ER 使用 α=0.05,SA-GRPO 使用 α=0.2。

先看 SA-GRPO 相对 GRPO 的四组 Average 对比:Qwen3-1.7B 准确率 54.13 vs 53.37,长度 602.0 vs 762.8;Qwen3-4B 为 71.41 vs 69.07、894.0 vs 1030.6;Phi-3.5-mini 为 46.19 vs 45.91、368.4 vs 448.2;Gemma3-1B 为 32.24 vs 31.78、1017.4 vs 1866.0。四个模型都是准确率上升、长度下降。

但“最佳或接近最佳”不是每个单元格都成立。Table 3 里至少有 7 个单元格不是该列最高:Qwen3-1.7B 的 GSM-sym 67.66(SA-PPO 68.02)与 AIME 13.50(GRPO 13.93);Phi-3.5-mini 的 GSM-sym 72.72(GRPO 73.76)、NuminaMath 16.08(SA-PPO 17.43)与 AIME 3.22(PPO 3.85);Gemma3-1B 的 GSM-sym 34.52(GRPO 34.70)与 AIME 2.14(GRPO-O1 2.35)。

另一个反例在 AES:Qwen3-4B 上 GRPO-ER 的 AES 是 1.596,高于 SA-GRPO 的 1.564,差 0.032。AES 是 Δlen + 5Δacc,γ=5 时长度收益可以压过准确率差;它不是“准确率排行榜”。

口径拆解

“30% 长度、4% 准确率”在论文里出现在三处,Table 3 逐模型给出的数字并不都是 30% / 4%

摘要:reduces answer length by 30%, while improving accuracy by 4%。§5.2:at least 4% improvement in accuracy and 30% reduction in length compared to GRPO。结论:consistent gains of up to 4% in accuracy while reducing response length and computational cost by 30%。

Table 3 的逐模型拆解(SA-GRPO − GRPO):准确率 +0.76 / +2.34 / +0.28 / +0.46 个百分点,相对增幅 1.4% / 3.4% / 0.6% / 1.4%;长度相对减少 21.1% / 13.3% / 17.8% / 45.5%。四个模型的平均长度再平均是 1026.9 → 720.45,降 29.8%(推断:论文没有说明 30% 的聚合方式,这里是按四个模型等权平均复算)。四模型平均准确率 50.03 → 50.99,差 0.96 个百分点,相对 1.9%。这些数字与“4%”并列,页面不替论文选一个口径。

逻辑推理:SA-GRPO 对 GRPO 在 8 个准确率列里赢 5 个,对 O1/ER 每列都更高

Table 4 把同一套方法搬到 LogicBench 与 ProntoQA(多选题,分别 4 个和 2 个选项;Appendix A.2)。下表全表转录 acc / len。

LogicBenchQwen3-1.7BQwen3-4BPhi-3.5-miniGemma3-1B
Base56.0 / 18275.4 / 33666.0 / 30950.6 / 303
PPO60.2 / 34080.0 / 45560.8 / 22948.8 / 264
SA-PPO64.6 / 36877.6 / 34264.2 / 20555.6 / 241
GRPO64.2 / 37278.4 / 41667.6 / 24353.0 / 277
GRPO-O160.6 / 26476.0 / 35051.0 / 21252.6 / 223
GRPO-ER61.4 / 20677.6 / 26349.8 / 14350.0 / 250
SA-GRPO65.0 / 27880.4 / 20857.4 / 17355.2 / 222

Table 4(a):LogicBench;acc 为准确率(%),len 为平均长度(token)。

ProntoQAQwen3-1.7BQwen3-4BPhi-3.5-miniGemma3-1B
Base69.0 / 61689.6 / 98894.8 / 33956.2 / 712
PPO71.8 / 92097.8 / 56196.4 / 30156.4 / 904
SA-PPO65.6 / 73599.0 / 40598.2 / 30457.6 / 690
GRPO74.0 / 756100.0 / 54698.2 / 25457.4 / 963
GRPO-O173.0 / 50598.8 / 46987.2 / 22759.0 / 938
GRPO-ER73.6 / 42499.0 / 30986.6 / 20558.6 / 919
SA-GRPO77.8 / 48299.8 / 30190.8 / 21660.6 / 733

Table 4(b):ProntoQA;acc 为准确率(%),len 为平均长度(token)。

论文的计数是:SA-GRPO 在 8 个准确率列中赢 GRPO 5 个(LogicBench 3 个 + ProntoQA 2 个);SA-PPO 赢 PPO 6 个(3 + 3)。对 GRPO-O1/ER,SA-GRPO 的每个准确率列都更高。长度上,SA-GRPO 在全部 8 列都短于 GRPO,且在多数列短于 O1/ER。

消融:只留 SAR 会塌,只加 entropy 不够

Table 5 在 Qwen3-4B 上拆开 verifiable reward 与 self-aligned reward。RSA 单独使用(R = RSA)时平均准确率只有 20.96、长度 84.4:模型学会输出极短但不对的答案。只用 entropy 奖励 REM 也不够:55.46 / 1228.8。完整组合 RVR + αRSA 是 71.41 / 894.0,准确率比 RVR + αREM 高 1.56 个百分点,长度少 42.4。

奖励设置GSM8kGSM-symMATHNuminaMathAIMEAverage
acclenacclenacclenacclenacclenacclen
Base76.1931566.2243563.7965238.80114220.15128153.03765.0
R_VR(GRPO)92.6232086.3041482.5182153.79148530.11211369.071030.6
R_EM79.1531967.9441468.8997039.86188521.44255655.461228.8
R_SA only39.658719.5410224.727416.48804.397920.9684.4
R_VR + αR_EM92.2535187.3641481.8377954.78137133.01176769.85936.4
R_VR + αR_SA93.4023987.6432382.6376257.70135835.69178871.41894.0

Table 5:Qwen3-4B 上的内部奖励信号消融(α=0.2);R_VR + αR_SA 即 SA-GRPO。

推理行为方面,Table 6 的平均分是:GRPO 43.4,SA-GRPO 43.0,GRPO-O1 40.6,GRPO-ER 41.2(基座 Qwen3-1.7B)。论文据此说 SA-GRPO 保持了与 GRPO 几乎相同的 backtracking / verification / subgoal / enumeration 频率,同时 token 少 30%。但同一模型的 Table 3 长度是 762.8→602.0,相对减少 21.1%;§6.2 的“30% fewer tokens”与这个逐模型值在页脚并列。

当前读数
Base
41.48
PPO
48.95
SA-PPO
52.49
GRPO
53.37
GRPO-O1
52.64
GRPO-ER
52.11
SA-GRPO
54.13
SA-PPO / SA-GRPO其他基线柱高按当前模型、当前指标内最大值归一;数值逐字取自 Table 3
手算:图表归一化 以 Qwen3-4B 为例,与柱高逐位一致

准确率:该模型最大值是 SA-GRPO 71.41,所以 SA-GRPO 柱高 = round(71.41 / 71.41 × 1000) / 10 = 100.0%;GRPO = round(69.07 / 71.41 × 1000) / 10 = 96.7%。

长度:该模型最大值是 PPO 1333.0,所以 SA-GRPO 柱高 = round(894.0 / 1333.0 × 1000) / 10 = 67.1%;GRPO = round(1030.6 / 1333.0 × 1000) / 10 = 77.3%。

柱高最低 1.2%,避免 0 值柱不可见;AES 的 Base=0 会触发 1.2% 下限,保证零值柱可见。

07

它在数学与逻辑上成立,但还不是通用奖励

SAR 的边界由三件事决定:不能脱离 verifiable reward、只在文本推理上验证、以及“简洁相关”未必是创意任务的目标。

不能单独用

RSA 单独训练会塌成短而错的答案

Table 5 的 R_SA only 只有平均准确率 20.96、长度 84.4。没有 ground truth 信号,模型可以靠极短、极依赖 query 的答案拿高分,但答案不对。SAR 的定位是 RVR 的补充项。

绝对置信度不够

Entropy 奖励既降准确率也降效率

REM 的平均准确率 55.46、长度 1228.8;RVR + αREM 也只有 69.85 / 936.4。论文的对照说明:SAR 的有效性来自“条件于 query 的相对下降”,不是“越低熵越好”。

评测范围也有限。训练集是 GSM8k、MATH、NuminaMath 的 train split;GSM-symbolic 与 AIME 只在评测出现(§5.1、Table 8)。逻辑域只测 LogicBench 与 ProntoQA。创意写作、开放式对话、需要发散思维的任务都不在评测里;“简洁 + 与 query 强相关”在这些任务上是否仍是好目标,论文没有回答。

多模态迁移并不稳。Table 10 中 Qwen2-2B-VL 上 SA-GRPO 平均准确率 23.86,低于 GRPO 的 24.80;Gemma3-4B 上 SA-GRPO 60.47,GRPO 60.83。论文 §E.2 正文却写 Gemma3-4B 的 SA-GRPO 平均准确率是 72.64%,并说比最好的 GRPO 变体高 1 个百分点以上;这与 Table 10 的 60.47 / 60.83 并列,页面不替原文消解。

最后是 α。SA-GRPO 默认 α=0.2,GRPO-O1/ER 默认 α=0.05(Appendix B.3);Figure 3 扫了不同 α 的准确率-长度曲线,但没有给出跨模型、跨任务选择 α 的规则。实际部署时这仍是一个需要验证的超参数。