成功用幅度,失败用 KL:H²SD 的混合事后自蒸馏
你有没有遇到过这种纠结:模型生成了一条推理轨迹,验证器告诉你"对了"或者"错了",但具体是哪个 token 贡献了正确、哪个 token 捅了篓子——没人告诉你。这是 RLVR 时代大家最熟悉的痛点:一个标量奖励,扔到一整条序列上,token 级信用分配基本靠蒙。
围绕这个痛点,过去大半年社区其实已经在卷出几套解法:OPSD 让模型自己当老师、自己当学生,强行做分布匹配;RLSD 把教师信号降级成"幅度调节器",方向交给环境奖励;SDPO、SRPO 各自在路由和 student/teacher 上下文上动刀。但这些方法有个共同特点:它们都假设成功轨迹和失败轨迹应该用同一种教师信号、同一种更新策略。
这篇来自上海 AI Lab + 哈工大 + 复旦 + 港中文的论文 H²SD: Hybrid Hindsight Self-Distillation 直接质疑了这个前提:成功轨迹和失败轨迹,要的本来就是不同形式的事后监督。
核心摘要
- 痛点:RLVR 只给一个标量结果奖励,token 级监督几乎为零;现有自蒸馏方法(OPSD/RLSD/SDPO)给教师一个固定角色,要么直接做分布匹配容易"特权信息泄露",要么只调幅度纠错不力。
- 方案:H²SD 按轨迹正确性分流——成功轨迹用"改写后的同轨迹"做幅度调制(保留学生自己的推理路径,不改变奖励方向);失败轨迹用强模型生成的 hint 做反向 KL 蒸馏(提供方向性纠正)。
- 效果:Qwen3-30B-A3B 上 Sudoku 6×6 从 27.75% 干到 76.50%(+48.75),Sudoku 8×8 从 15.25% 干到 57.25%(+42.00),4 个逻辑推理基准平均 50.49%,比最强 baseline RLSD 高 25.64 个点;同时平均生成 token 反而最少。
- 判断:这不是底层突破,是工程整合的漂亮活儿。把"成功时用幅度、失败时用 KL"这一朴素直觉做到极致,配合控制消融验证每一刀都必要。值不值得细读?值得——尤其是你在做 RL 后训练卡在 credit assignment 上的同行,里面关于 routing 和改写消融的结论非常实用。
论文信息
- 标题:H²SD: Hybrid Hindsight Self-Distillation
- 作者:Qiye Cai, Yichuan Ma, Linyang Li, Peiji Li, Yongkang Chen, Qipeng Guo, Yicheng Zou, Xiaocheng Feng†, Bing Qin†
- 机构:上海人工智能实验室;哈尔滨工业大学;复旦大学;香港中文大学
- arXiv:2607.18955
- 发表日期:2026/07/21
- 基础模型:Qwen3-30B-A3B-Instruct-2507
- Hint 生成器:Kimi-K2.6(离线)
- 硬件:4 节点 × 8 × NVIDIA H200 140GB
1. 问题的本质:成功和失败,要的不是同一种事后监督
我先把这一段的逻辑捋清楚——这是理解 H²SD 全部设计的钥匙。
RLVR 的瓶颈不在奖励,而在粒度。 验证器告诉你"答案对了"或者"答案错了",这只是个 0/1 信号。整条推理链里可能有一半 token 是对的、一半是错的,模型拿到这个标量信号后被均匀对待,学到的不是"哪个 token 关键",而是"这条轨迹整体有奖励/没奖励"。这就是 token 级信用分配的难题。
OPSD 想用自蒸馏解决粒度问题,但翻车了。 On-Policy Self-Distillation 让同一个模型既当老师又当学生:老师看问题 + 正确解(特权信息),学生只看问题,老师在学生采样的轨迹上做 token 级分布匹配。听起来很美——密集 token 监督 + 无需外部教师。但实际跑下来,模型在推理时(没有特权信息)会蹦出"正如参考答案所述"这种暴露特权信息的话术,OPSD 因此被称为有"特权信息泄露"问题。京东和中科院信工所的 RLSD 论文在理论上证明了这件事:OPSD 的目标函数里存在一个不可消除的互信息差距,训练过程会把 \(x \to r\) 的虚假相关性写进参数里。
RLSD 把教师信号降级成"幅度调节器"。 不让教师去决定目标分布,只让教师告诉你"这个 token 老师觉得多大概率",用师生概率的比值 \((P_T/P_S)^{\text{sign}(A)}\) 调制每个 token 的更新幅度。方向交给环境奖励,幅度交给教师。这是个干净的设计,但问题也来了:当学生沿错误路径走的时候,幅度调制只调整"错多少",不改变"错的方向"这件事。 失败的本质是方向错了,不是错的力度需要微调。
H²SD 的观察就一句话:你不能用同一根绳子既拉住人又推着人走。 成功轨迹需要的是"信用重分配"——保留你的方向,调整每个 token 拿多少奖励。失败轨迹需要的是"方向纠偏"——直接告诉你正确答案的中间步骤是哪条路。

Figure 2:H²SD 框架。左边学生策略采样多条轨迹,按正确性路由到右上的"成功路径"或右下的"失败路径"。成功路径里教师接收"改写正确回复"的指令,只在原始 token 上做幅度调制;失败路径里教师接收外部 hint,做反向 KL 蒸馏。
2. 方法核心:双轨制
2.1 Hint 的角色:让强模型只当"自然语言老师"
H²SD 让 Kimi-K2.6 这种更强的 LLM 离线生成 hint \(h = \mathcal{H}(x)\),hint 包含关键中间推理步骤和经验证的最终答案。注意:强模型不直接当教师——它只是把自然语言 hint 甩给当前学生模型。教师分布由当前学生在 hint 条件下产生:
这设计很妙:不需要师生共享词表,绕开了 OPSD 的最大限制之一(强教师通常词表不同)。同时 hint 是离线生成的,不增加在线训练的开销。
2.2 成功轨迹:改写 + 幅度调制 = 细粒度信用分配
对成功轨迹 \(R(x, y) = 1\):
- 奖励已提供正确方向,不再改变方向。
- 教师被喂入经验证的学生回复 \(y\) + 一条改写指令("Rephrase the correct response")。
- 教师在原始 token \(y_t\) 上的概率仅用于计算幅度权重:
改写指令的作用是什么? 让教师在保持推理路径有效的前提下,去掉冗余内容、改写低质量表达。这样教师信号会"突出"对正确解有贡献的 token、抑制冗余 token,相当于在不动分布形状的前提下做了信用重分配。
2.3 失败轨迹:hint + 反向 KL = 方向性纠正
对失败轨迹 \(R(x, y) = 0\):
- 负奖励虽能劝阻采样动作,但对"如何纠正"提供的信息有限。
- 用 hint 条件下的教师分布作为纠正目标,最小化学生到教师的反向 KL:
- 反向 KL 让学生分布趋向教师分布的峰值(mode-seeking),提供集中的纠正信号。OPSD 用的是前向 KL(mean-seeking),会把学生分布铺开,容易被无关 token 稀释。
- 用 stop-gradient 阻断教师分布梯度。
2.4 整体目标
设 \(m = \mathbf{1}[R(x,y)=1]\):
\(\gamma\) 控制失败轨迹的纠正强度。
伪代码(成功轨迹):
# 学生采样轨迹 y,验证器给出 R
if R == 1:
# 教师在 (x, "Rephrase", y) 条件下重新评估原始 token
teacher_ctx = x + " Rephrase the correct response:\n" + y
for t in range(T):
p_T = model(teacher_ctx, y[:t]) # 改写条件下的教师分布
p_S = model(x, y[:t]) # 学生分布
w_t = (p_T[y_t] / p_S[y_t]) ** sign(advantage)
clipped_w = clip(w_t, 1 - eps_w, 1 + eps_w)
# 用 clip 后的权重调制 advantage
advantage_t = A * ((1 - lam) + lam * clipped_w)
# 正常 GRPO loss with advantage_t
伪代码(失败轨迹):
if R == 0:
h = offline_hint[x] # Kimi-K2.6 预生成
for t in range(T):
p_T = model(x + h, y[:t]).detach() # hint 条件教师分布
p_S = model(x, y[:t]) # 学生分布
# 反向 KL:学生去拟合教师的峰值
loss_rkl = -sum(p_T * log(p_S))
loss = gamma * loss_rkl
3. 实验结果:Sudoku 上爆杀,但有取舍
3.1 主实验:4 个逻辑推理基准,H²SD 全面占优

Figure 1:4 个逻辑推理基准上的 pass@1 对比。H²SD 在所有基准上都领先,Sundoku 6×6 和 8×8 的优势最夸张。
| Method | Sudoku 6×6 | Sudoku 8×8 | Calcudoku 5×5 | Calcudoku 6×6 | Calcudoku Avg. | Arrow Maze Avg. | Overall |
|---|---|---|---|---|---|---|---|
| Base LLM | 24.50 | 14.00 | 59.00 | 11.33 | 35.00 | 15.60 | 22.28 |
| GRPO | 26.25 | 16.75 | 66.33 | 13.67 | 40.00 | 15.70 | 24.68 |
| SDPO | 22.25 | 2.50 | 26.00 | 0.33 | 13.17 | 15.90 | 13.46 |
| RLSD | 27.75 | 15.25 | 66.67 | 15.33 | 41.00 | 15.40 | 24.85 |
| OPSD | 35.25 | 16.75 | 52.00 | 9.67 | 30.83 | 13.20 | 24.01 |
| SRPO | 28.25 | 15.50 | 63.00 | 14.00 | 38.50 | 13.80 | 24.01 |
| RLSD+hint | 27.25 | 15.00 | 66.33 | 15.33 | 40.83 | 15.80 | 24.72 |
| H²SD | 76.50 | 57.25 | 73.30 | 14.67 | 44.00 | 24.20 | 50.49 |
几个观察:
- Sudoku 上爆杀:6×6 提升 48.75 个点,8×8 提升 42.00 个点。这两个任务是确定性的回溯推理游戏,每一步都强依赖于前面的推理路径,H²SD 的细粒度信用分配在这种场景下收益最大。
- Calcudoku 和 Arrow Maze 上提升温和:4-9 个点。这两个任务结构更复杂、搜索空间更大,纯自蒸馏方法的增益被 task 难度本身压制。
- SDPO 退化明显:直接匹配兄弟分布在长推理轨迹上引入错误 token 监督,反而抑制必要推理步骤(Sudoku 8×8 从 14.00% 掉到 2.50%,Calcudoku 6×6 从 11.33% 掉到 0.33%)。这是分布匹配派系的方法的通病——学生被强拉到教师分布,丢失了原本可以走对的路径。
- OPSD 也不稳:在 Sudoku 6×6 上比 RLSD 高 7.5 个点(35.25 vs 27.75),但在 Calcudoku 上又比 RLSD 低 10 个点。前向 KL 的 mode-covering 特性在分布广的任务上反而稀释了有效信号。
3.2 准确率-效率 trade-off:H²SD 用更少 token 拿到更高分

Figure 3:Sudoku 6×6 上各方法的 accuracy vs. 平均生成 token 数。H²SD 落在左上角(最高准确率、最少 token),其他方法在右下角。
H²SD 平均生成约 7000 token,OPSD/GRPO 要 13000-14500 token。这意味着 H²SD 不仅学得更准,推理还更便宜。 这点对工程落地很关键——后训练改好的模型如果推理时 token 消耗翻倍,部署成本会很难看。
3.3 消融实验 1:Routing 是必要的
| Strategy | Sudoku 6×6 | Sudoku 8×8 | Sudoku Avg. | Calcudoku Avg. | Arrow Maze Avg. |
|---|---|---|---|---|---|
| Magnitude Only(所有轨迹用幅度) | 60.00 | 55.50 | 43.17 | 15.60 | — |
| Reverse-KL Only(所有轨迹用 KL) | 60.50 | 38.50 | 28.67 | 18.50 | — |
| Reversed Routing(成功用 KL、失败用幅度) | 17.00 | 9.75 | 2.83 | 6.40 | — |
| H²SD | 76.50 | 57.25 | 44.00 | 24.20 | — |
两个核心发现:
- 统一用一种策略不如 H²SD。Magnitude Only 和 Reverse-KL Only 在不同任务上各有胜负,但都被 H²SD 碾压。
- Reversed Routing 灾难性塌缩。把成功/失败的更新策略交换,模型在 Sudoku 上从 27.75% 直接掉到 17%,比 Base LLM 还低。这是路由方向比路由存在性更重要的强证据。
为什么 reversed routing 这么差?看图 4 就明白了。

Figure 4:H²SD vs. Reversed routing 的 actor entropy 动力学。H²SD 保持稳定在 0.25-0.30 nats 附近;Reversed routing 在 50 步内熵崩塌到 0,策略探索完全丧失。
H²SD 的成功路径用幅度调制,不强制改变分布形状,所以熵稳定;失败路径用 KL 蒸馏,但只针对失败的那部分轨迹,影响有限。Reversed routing 正好反过来——成功路径被强行 KL 蒸馏到 hint 条件下的教师分布,每一条成功轨迹都成为"把分布拉向 hint"的推力,模型熵快速归零,丧失探索。
3.4 消融实验 2:哪种特权上下文最有用?
| Context | Sudoku 6×6 | Sudoku 8×8 | Arrow Maze Avg. |
|---|---|---|---|
| Base LLM | 24.50 | 14.00 | 15.60 |
| Programmatic feedback | 25.50 | 14.25 | 12.00 |
| Ground truth(仅答案) | 27.50 | 15.00 | 16.40 |
| Sibling solution(同题其他正确回复) | 61.75 | 48.50 | 19.60 |
| Hint(强模型生成的参考推理) | 76.50 | 57.25 | 24.20 |
Ground truth 几乎没用(+3 个点),sibling solution 不错(+37 个点),hint 最好(+52 个点)。结论很直接:对于复杂逻辑推理任务,细粒度过程级特权信息比最终答案信号高一个量级。 但 H²SD 的增益又不完全来自 hint 本身——因为 OPSD、RLSD+hint 都用同样的 hint,但表现远不如 H²SD。所以真正起作用的是"如何把 hint 转化为学习信号"。
3.5 消融实验 3:改写(Rephrasing)什么时候有用?
| Update Strategy | Sudoku 6×6(无改写 / 有改写) | Sudoku 8×8(无改写 / 有改写) |
|---|---|---|
| Magnitude Only | 36.25 / 60.00 | 23.50 / 55.50 |
| Reverse-KL Only | 63.00 / 60.50 | 42.00 / 38.50 |
| H²SD | 68.50 / 76.50 | 51.50 / 57.25 |
这组数据非常微妙:
- 对 Magnitude Only 来说,改写是救命的(+23.75 和 +32.00 个点)。
- 对 Reverse-KL Only 来说,改写是反作用(-2.50 和 -3.50 个点)。
- 对 H²SD 来说,改写是锦上添花(+8.00 和 +5.75 个点)。
为什么?因为改写改变了教师信号里"哪些 token 被强调"。Magnitude Only 用教师信号只调幅度,改写等于把"哪些 token 该被多强调"重新洗牌,收益巨大。Reverse-KL Only 用教师信号确定目标分布,改写让教师分布偏移,反而干扰了纠偏方向。H²SD 把改写限制在成功路径上,所以两者都拿到收益但不会互相打架。
3.6 Entropy 稳定性:Rephrasing 对 Reverse-KL 是毒药

Figure 5:改写对 Magnitude Only / Reverse-KL Only / H²SD 三种策略下 actor entropy 的影响。Reverse-KL Only 在改写下熵急剧下降;其他两种基本不受影响。
直接呼应消融 3 的结论:在 Reverse-KL Only 策略下加改写,模型熵从 0.30 掉到 0.10。改写后的教师分布在某些区域变得过于集中,强制 KL 匹配等于把策略往一个狭窄分布上拉。 H²SD 因为只在成功路径上做幅度调制,熵几乎不动。
4. 我的判断
这篇论文我读了两遍。第一遍读完觉得"哦,路由 + 双轨,思路挺清晰的";第二遍盯着消融表看了 20 分钟,开始想几个问题。
亮点: - 核心 idea 朴素但正确。"成功/失败应该用不同形式的事后监督"是 RL 后训练领域很多人直觉里都有、但没人系统表达过的东西。H²SD 用一个干净的 routing 公式把它落地。 - 消融设计非常硬核。三个消融表(routing、特权上下文、改写)相互印证,每一刀都解释了一个独立的变量。Figure 4 的 entropy 曲线也提供了机制层面的证据。 - 准确率-效率 trade-off 出色。在 Sudoku 上少用一半 token 拿到高 2-3 倍的准确率,这是工程上实打实的省钱。
问题: - Sudoku 是不是一个"软柿子"基准? 这类游戏每一步只有"对"和"错"两种状态,回溯后立刻能定位错误 token。H²SD 的成功路径幅度调制在这种"信号确定、错误可定位"的场景下天然契合。但在 Calcudoku、Arrow Maze 上提升有限(4-9 个点),说明这套方法的增益对任务结构有依赖。 - hint 是离线生成的,那推理时不需要吗? 训练时教师接收 hint,但推理时学生没有 hint。这意味着模型必须在训练期间就把 hint 里的"推理路径知识"内化到无条件分布 \(\pi(\cdot|x)\) 里。论文没有展示"hint 泄露率"这个指标——H²SD 是否会重蹈 OPSD 的"特权信息泄露"覆辙?Figure 5 的 entropy 稳定是个好兆头,但还不够直接。 - Kimi-K2.6 当 hint 生成器带来的"特权不公平"问题。 H²SD 跑得最好,但它的 hint 来自一个比 Qwen3-30B-A3B 强得多的外部模型。OPSD、RLSD+hint 用了同样的 hint,但效果差很多。问题就回到上面:到底是 H²SD 的方法好,还是 H²SD 更好地利用了 hint?论文的消融 4(特权上下文对比)部分回答了这个问题,但还可以更直接——比如用更弱的 hint 生成器看 H²SD 还能不能保持优势。 - 没有在数学推理(GSM8K、MATH、AIME)上验证。所有数据集都是逻辑游戏/谜题,缺乏自然语言推理。读者会问:这套路由机制在数学题上还有效吗?成功和失败的边界在自然语言推理里更模糊(一个正确的中间步骤后接一个错误步骤,验证器只看最终答案),可能挑战更大。
和前置工作的位置: - 比 RLSD(京东 + 中科院信工所)多走一步:RLSD 把所有轨迹统一用幅度调制,发现"方向给环境,幅度给自蒸馏"是稳定方案;H²SD 把"统一处理"换成"按正确性路由",是 RLSD 路线的细化延伸。 - 比 OPSD(UCLA + Meta)更稳:OPSD 试图用教师分布完全替代环境奖励,撞上了特权信息泄露;H²SD 保留环境奖励的方向、只把教师信号当"信用重分配器"和"失败时的方向纠偏器",是个更克制的设计。 - 比 SDPO 更精炼:SDPO 用同批次内的兄弟回复当 hint,思路类似但 hint 质量远不如 Kimi-K2.6 生成的参考推理。H²SD 在数据质量上没得比,但作为方法,SDPO 的"in-context hindsight"洞察被 H²SD 继承并工程化了。
说到底,这是一篇"工程整合做得到位"的工作。 不是底层突破(token 级信用分配、KL 蒸馏都不是新东西),但把"什么场景用什么信号"这件事讲明白了,配套实验也很扎实。如果你的团队在做 RL 后训练、又被 credit assignment 卡住,这篇的 routing 思路和消融设计值得照搬——尤其是在确定性回溯推理任务上。
5. 一句话总结
H²SD 把 RL 后训练的 credit assignment 问题切成两半:成功轨迹用"改写后的同轨迹"做幅度调制(保留方向、调强弱),失败轨迹用 hint 做反向 KL(给方向)。在 Sudoku 这种回溯推理任务上把 pass@1 干到 76.50%(基线 27.75%),同时平均生成 token 反而最少。不是黑科技,是细致活儿。
参考文献
- Cai et al. H²SD: Hybrid Hindsight Self-Distillation. arXiv:2607.18955, 2026. Link
- DeepSeek-AI. DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models. 2024.
- DeepSeek-AI. DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning. 2025.
- Zhao et al. Self-Distilled Reasoner: On-Policy Self-Distillation for Large Language Models (OPSD). arXiv:2601.18734, 2026.
- 京东 & 中科院信工所. RLSD: RLVR with Self-Distillation. arXiv:2604.03128, 2026.
- Schulman et al. Proximal Policy Optimization Algorithms. arXiv:1707.06347, 2017.
觉得有启发的话,欢迎点赞、在看、转发。跟进最新 AI 前沿,关注我。