SDAR:自适应控制 RL 时每个 token 的蒸馏强度

0 阅读6分钟

一句话总结

OPSD 在 RL 过程中使用自蒸馏,但教师模型的概率分布未必就比学生好。SDAR 用一个 sigmoid 门控调节每个 token 的蒸馏强度,把多轮 Agent 训练的性能拉高了 7~10 个百分点



一、动机

用 RL 训 Agent 的核心痛点是信用分配:一条多轮交互轨迹可能有几百个 token,但环境只在最后给一个成功/失败的信号。GRPO 这类方法用序列级 reward 做策略优化,大部分 token 拿到的是无差别监督。

On-Policy Self-Distillation(OPSD)是一种自然的补充思路:同一个模型跑两个分支,教师分支额外塞入检索到的特权上下文(补充信息、参考示例等对推理有帮助的文本),在每个 token 位置对学生分支给出指导信号。理想情况下,原本的 RL 流程负责大方向上的探索,蒸馏负责细节上的优化,二者完美互补

但作者尝试在 Qwen2.5-3B-Instruct 基础上,直接把 OPSD 搬到多轮 Agent 场景时,出现了以下问题

  • 多轮累积漂移

单轮场景下教师和学生看到的上下文一致,教师只是多了特权信息。但多轮 Agent 场景不同——学生每一步的动作会改变环境状态,一旦偏离教师预期的轨迹,后续每一步的教师信号都建立在错误前提上,误差指数累积

在这里插入图片描述

  • 一半以上的蒸馏信号是噪声

OPSD 的教师不是独立的更强模型,而是同一个模型加上检索到的 skill。蒸馏的本质是让学生模仿教师在每个 token 位置的输出概率分布。那么一个自然的问题是:教师给出的概率分布一定比学生好吗?

作者用教师和学生在同一 token 上的 log 概率差(Δ = log P_teacher - log P_student)来衡量蒸馏信号的质量。这个差值反映了教师对该 token 的"把握程度"是否高于学生:

  • 正向 gap(Δ > 0,教师给出更高概率):skill 确实帮助教师做出了更好的预测,适合蒸馏
  • 负向 gap(Δ < 0,教师给出更低概率):skill 质量差、利用失败、或多轮漂移放大的噪声,教师反而不如学生

统计分析显示,负向 gap 的 token 超过总数的 50%。不加区分地蒸馏,一半梯度信号在把学生往错误方向推

在这里插入图片描述


二、解决方案

作者提出 SDAR(Self-Distilled Agentic Reinforcement learning),核心设计是让每个 token 自己决定接受多少蒸馏

训练目标 = 标准 GRPO 策略损失 + λ · 带门控的 OPSD 损失(λ 为蒸馏强度系数)。后者的计算流程是:

  1. 对每个 token 计算教师-学生 log 概率差 Δ
  2. 通过 sigmoid 把概率差 Δ 映射为 [0,1] 的门控值,Δ 越大门控值越接近1,实现强蒸馏;Δ 越小,门控值越接近0,实现软抑制

注意门控值 detached,不参与梯度计算(否则模型会学会操纵门控来逃避蒸馏)

在这里插入图片描述


三、实验结果

3.1 实验设置

在三个多轮 Agent 基准上评测:ALFWorld(文本家务游戏)、Search-QA(搜索增强问答)、WebShop(网页购物交互);基座模型覆盖 Qwen2.5-3B/7B-Instruct 和 Qwen3-1.7B-Instruct;训练 150 步,8×H800,skill 检索使用 SkillRL 的 SkillBank

对比方法分三类:

  • 无训练方法:Skill-Prompt(检索与任务相关的 skill 添加到提示词)
  • 后训练方法:GRPO、OPSD、Skill-GRPO(训练时检索 skill)、Skill-GRPO*(训练和测试时都检索 skill)
  • 混合方法:GRPO+OPSD、Skill-SD 与 RLSD(RL + 蒸馏,但没有门控)

3.2 主实验结果

除了 Qwen2.5-3B-Instruct + Search-QA,其他 8 种实验设置下 SDAR 都达到了最优或次优效果
在这里插入图片描述

  • OPSD 单独使用直接崩溃:Search-QA 准确率降到接近零,验证了 “不加区分蒸馏” 在多轮场景的灾难性后果
  • GRPO+OPSD:在 Qwen3-1.7B 上从 46.1% 崩到 32.0%(ALFWorld),因为无界蒸馏梯度压倒了 RL 信号
  • 技能内化效果:Skill-GRPO* 与 Skill-GRPO 的分数差较大,这说明直接在 RL 采样时注入 skill 信息,模型并不能将其内化为自己的能力,测试时一去掉就抓瞎;而SDAR 推理时完全不需要外部 skill,却超越了带 skill 的 Skill-GRPO*

3.3 鲁棒性分析

在这里插入图片描述

即使是纯随机检索(零任务相关性),SDAR 仍超越 GRPO 基线,可见性能提升的主因是门控蒸馏机制本身,而非检索质量

3.4 消融实验

  • 门控策略
  1. Gap gating(论文默认):g = σ(β · Δ),其中 Δ = log P_teacher - log P_student。直接用教师-学生概率差作为门控信号

  2. Entropy gating:g = σ(β · h),其中 h 是学生在该位置的熵(不确定性)。学生越不确定 → 熵越高 → 开门接受教师指导;学生已经很确定 → 关门不需要蒸馏。问题是学生不确定不代表教师就对,可能在已经处理好的 token 上误触发

  3. Soft-OR gating:g = σ(β · [1 - (1-h)(1-Δ)]),前两种方法的组合,只要任一信号较大就激活,两者都大时最强。但因为触发条件太宽松,选择性下降

在这里插入图片描述

  • 超参数

β=5 最优。β=0(无门控)退化为朴素 OPSD 的不稳定表现;β=10 过度二值化,丢失对边界 token 的平滑调制

在这里插入图片描述

蒸馏系数 λ=0.01 最优。λ=0.1 蒸馏梯度压倒 RL 信号导致严重下降(教师平均不如学生,过大权重反而把学生往差方向推);λ=0.001 修正力度不足

在这里插入图片描述

  • 蒸馏目标

蒸馏的本质是让学生的输出分布去匹配教师的输出分布,但 “匹配” 有不同的度量方式:

  • Reverse KL(学生视角):学生对自己概率高的 token 负责——如果学生给某个 token 高概率,但教师不认可,惩罚很重。效果是学生只敢集中到教师确认的少数 mode 上,宁可漏掉一些教师支持的选项,也不冒险覆盖教师不认可的区域
  • Forward KL(教师视角):教师对自己概率高的 token 负责——如果教师给某个 token 高概率,学生必须跟上。效果是学生被迫覆盖教师的所有 mode(mode-covering),包括那些教师自己也不太确定的区域
  • JSD(对称折中):取两者的平均分布作为参考点,对称地惩罚双方偏离。介于 Reverse KL 和 Forward KL 之间

在这里插入图片描述

结果表明,Reverse KL 明显优于 Forward KL 和 JSD。Reverse KL 的 mode-seeking 特性让学生只集中概率质量到教师支持的 mode 上,天然与门控的 “抑制负向 gap” 互补


四、启发

SDAR 的核心洞察:多轮 Agent 训练中 RL 是主角,蒸馏只能是配角,但这个配角要足够聪明——知道什么时候该发力、什么时候该沉默