成功用幅度,失败用 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†
  • 机构:上海人工智能实验室;哈尔滨工业大学;复旦大学;香港中文大学
  • arXiv2607.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 框架总览

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 条件下产生:

\[\pi_T(\cdot \mid x, h, y_{<t}) = \pi_\theta(\cdot \mid x, h, y_{<t})\]
\[\pi_S(\cdot \mid x, y_{<t}) = \pi_\theta(\cdot \mid x, y_{<t})\]

这设计很妙:不需要师生共享词表,绕开了 OPSD 的最大限制之一(强教师通常词表不同)。同时 hint 是离线生成的,不增加在线训练的开销。

2.2 成功轨迹:改写 + 幅度调制 = 细粒度信用分配

对成功轨迹 \(R(x, y) = 1\)

  • 奖励已提供正确方向,不再改变方向
  • 教师被喂入经验证的学生回复 \(y\) + 一条改写指令("Rephrase the correct response")。
  • 教师在原始 token \(y_t\) 上的概率仅用于计算幅度权重:
\[\Delta_t = \text{sg}\left(\log P_T(y_t) - \log P_S(y_t)\right)\]
\[w_t = \left(\frac{P_T(y_t)}{P_S(y_t)}\right)^{\text{sign}(A)}\]
\[\hat{A}_t = A\left[(1-\lambda) + \lambda \, \text{clip}(w_t, 1-\epsilon_w, 1+\epsilon_w)\right]\]

改写指令的作用是什么? 让教师在保持推理路径有效的前提下,去掉冗余内容、改写低质量表达。这样教师信号会"突出"对正确解有贡献的 token、抑制冗余 token,相当于在不动分布形状的前提下做了信用重分配。

2.3 失败轨迹:hint + 反向 KL = 方向性纠正

对失败轨迹 \(R(x, y) = 0\)

  • 负奖励虽能劝阻采样动作,但对"如何纠正"提供的信息有限。
  • 用 hint 条件下的教师分布作为纠正目标,最小化学生到教师的反向 KL
\[\mathcal{L}_{\text{RKL}} = \frac{1}{T}\sum_{t=1}^{T} D_{\text{KL}}\left(p^S_{t,\theta} \,\|\, \text{sg}[p^{T,h}_{t,\theta}]\right)\]
  • 反向 KL 让学生分布趋向教师分布的峰值(mode-seeking),提供集中的纠正信号。OPSD 用的是前向 KL(mean-seeking),会把学生分布铺开,容易被无关 token 稀释。
  • 用 stop-gradient 阻断教师分布梯度。

2.4 整体目标

\(m = \mathbf{1}[R(x,y)=1]\)

\[\mathcal{L}_{\text{H}^2\text{SD}} = \mathbb{E}_{x,y}\left[m \, \mathcal{L}_{\text{RLSD}} + \gamma(1-m) \, \mathcal{L}_{\text{RKL}}\right]\]

\(\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:主实验性能对比

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

几个观察:

  1. Sudoku 上爆杀:6×6 提升 48.75 个点,8×8 提升 42.00 个点。这两个任务是确定性的回溯推理游戏,每一步都强依赖于前面的推理路径,H²SD 的细粒度信用分配在这种场景下收益最大。
  2. Calcudoku 和 Arrow Maze 上提升温和:4-9 个点。这两个任务结构更复杂、搜索空间更大,纯自蒸馏方法的增益被 task 难度本身压制。
  3. SDPO 退化明显:直接匹配兄弟分布在长推理轨迹上引入错误 token 监督,反而抑制必要推理步骤(Sudoku 8×8 从 14.00% 掉到 2.50%,Calcudoku 6×6 从 11.33% 掉到 0.33%)。这是分布匹配派系的方法的通病——学生被强拉到教师分布,丢失了原本可以走对的路径
  4. 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:准确率-生成成本散点

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:Reversed routing 的 actor entropy 快速塌缩

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:改写对不同策略下 actor entropy 的影响

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 反而最少。不是黑科技,是细致活儿。


参考文献

  1. Cai et al. H²SD: Hybrid Hindsight Self-Distillation. arXiv:2607.18955, 2026. Link
  2. DeepSeek-AI. DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models. 2024.
  3. DeepSeek-AI. DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning. 2025.
  4. Zhao et al. Self-Distilled Reasoner: On-Policy Self-Distillation for Large Language Models (OPSD). arXiv:2601.18734, 2026.
  5. 京东 & 中科院信工所. RLSD: RLVR with Self-Distillation. arXiv:2604.03128, 2026.
  6. Schulman et al. Proximal Policy Optimization Algorithms. arXiv:1707.06347, 2017.

觉得有启发的话,欢迎点赞、在看、转发。跟进最新 AI 前沿,关注我。