好老师懂得从学生的实际水平出发

一种新的自蒸馏方法,通过联合训练教师与学生,提升模型在复杂推理和智能体任务上的性能与训练效率。

作者Perplexity Research & NVIDIA

引言

强化学习(RL)被广泛用于语言模型的后训练,以提升其在复杂推理和长周期智能体任务上的能力。

在典型设置中,模型会对一项任务进行多次尝试,每次尝试获得一个结果奖励,并学会偏向在高奖励尝试中采取的动作。然而,单一的结果奖励只能提供稀疏的学习信号,无法区分哪些中间动作对结果有利、哪些有害。这种稀疏性限制了样本效率,在困难的智能体任务上尤为明显,因为这类任务的尝试过程很长,成功却很少见。

解决这种稀疏性的一种常用方法是在线策略蒸馏(On-Policy Distillation,OPD):它利用更强的教师模型对学生自身的尝试逐 token 给予指导,从而提供密集得多的奖励。然而,教学本身就是一项技能。擅长解决某项任务的模型未必擅长传授它,因为其反馈可能超出学生当前的能力范围。这促使我们不仅要训练学生模仿教师,还要训练教师为学生提供更契合的指导。

我们为此提出了一种方法:联合在线策略学习与教学(Joint On-policy Learning and Teaching,JOLT)。我们在在线策略自蒸馏(On-Policy Self-Distillation,OPSD)的基础上,让单个模型扮演两种角色:一个是可以访问特权信息(例如经过验证的解答)的教师,另一个是无法访问此类信息的学生。我们对这两种角色进行联合训练。学生遵循标准的蒸馏目标;教师的目标则促使其反馈推动学生朝着与“基于学生自身奖励进行 RL”相同的方向更新。这些目标共同作用,训练教师从学生的实际水平出发,并帮助学生从力所能及的指导中学习。

我们的实验表明,在一系列数学推理、编程和智能体任务中,模型性能和训练效率均有所提升。

从稀疏奖励到密集反馈

在最基本的形式中,结果奖励 RL 使用期望回报目标:

JRL(θ)=Eτ∼πθ[R(τ)]\mathcal{J}_{\mathrm{RL}}(\theta) = \mathbb{E}_{\tau\sim\pi_\theta}\left[R(\tau)\right]

其中,τ\tau 是遵循策略 πθ\pi_\theta 的轨迹,R(τ)R(\tau) 是该轨迹的回报。相应的策略梯度为:

gRL(θ)=∇θJRL(θ)=Eτ∼πθ[∑tR(τ) ∇θlog⁡πθ(at∣st)]g_{\mathrm{RL}}(\theta) = \nabla_\theta \mathcal{J}_{\mathrm{RL}}(\theta) = \mathbb{E}_{\tau\sim\pi_\theta}\left[\sum_t R(\tau)\,\nabla_\theta\log\pi_\theta(a_t\mid s_t)\right]

其中,sts_t 和 ata_t 分别表示时间步 tt 的状态和动作。为降低基于样本的估计的方差,梯度通常表示为:

gRL(θ)=Eτ∼πθ[∑tAπθ(st,at) ∇θlog⁡πθ(at∣st)]g_{\mathrm{RL}}(\theta) = \mathbb{E}_{\tau\sim\pi_\theta}\left[\sum_t A^{\pi_\theta}(s_t,a_t)\,\nabla_\theta\log\pi_\theta(a_t\mid s_t)\right]

其中,优势 Aπθ(st,at)A^{\pi_\theta}(s_t, a_t) 衡量的是动作 ata_t 在状态 sts_t 下相对于当前策略的期望超额回报。一种方法是组相对策略优化(Group Relative Policy Optimization,GRPO),它将每条轨迹的回报与针对同一提示采样的组的平均回报进行比较,以此估计优势。

然而,即便做了这些调整,结果奖励强化学习仍然存在监督稀疏的问题,在困难的长周期任务上尤其如此。越来越多的研究通过引入额外的信息来源来提供更密集的学习信号,以解决这一问题。

在线策略蒸馏(OPD)就是这样一种方法。OPD 并不只从最终奖励中学习,而是从学生采样轨迹,并由更强的教师评估每个采样的动作。对于教师策略 πT\pi_T 以及用于生成轨迹的学生参数的固定快照 θˉ\bar{\theta},在 θ=θˉ\theta = \bar{\theta} 处求得的局部梯度为:

gOPD(θˉ;πT)=∇θJOPD(θ;θˉ,πT)∣θ=θˉ=−∇θEτ∼πθˉ ⁣[∑tKL ⁣(πθ(⋅∣st) ∥ πT(⋅∣st))]∣θ=θˉ=Eτ∼πθˉ[∑t(log⁡πT(at∣st)−log⁡πθˉ(at∣st)) ∇θˉlog⁡πθˉ(at∣st)]\begin{aligned}g_{\mathrm{OPD}}(\bar\theta;\pi_T) &= \left.\nabla_\theta \mathcal{J}_{\mathrm{OPD}}(\theta;\bar\theta,\pi_T)\right|_{\theta=\bar\theta}\\ &= -\left.\nabla_\theta \mathbb{E}_{\tau\sim\pi_{\bar\theta}}\!\left[\sum_t \mathrm{KL}\!\left(\pi_\theta(\cdot\mid s_t)\,\middle\|\,\pi_T(\cdot\mid s_t)\right)\right]\right|_{\theta=\bar\theta}\\ &= \mathbb{E}_{\tau\sim\pi_{\bar\theta}}\left[\sum_t \bigl(\log\pi_T(a_t\mid s_t)-\log\pi_{\bar\theta}(a_t\mid s_t)\bigr)\,\nabla_{\bar\theta}\log\pi_{\bar\theta}(a_t\mid s_t)\right]\end{aligned}

其中,JOPD(θ;θˉ,πT)\mathcal{J}_{\mathrm{OPD}}(\theta;\bar\theta,\pi_T) 是负反向 KL 蒸馏目标。在求导过程中,教师策略和采样的前缀保持固定。教师与学生的对数概率比在每个访问到的状态上都提供密集的学习信号,取代优势作为动作层面的权重。

在线策略自蒸馏(OPSD)进一步免去了对独立教师模型的需求。学生策略在获得特权信息(例如经过验证的解答、反馈或参考轨迹)后,充当自己的教师。然而,OPSD 只训练学生模仿教师,并没有机制确保教师为学生提供有用的信号。

联合在线策略学习与教学

JOLT 对 OPSD 进行了扩展,训练一个共享模型,使其既充当提供更契合指导的教师,又充当从这些指导中学习的学生。掌握更多信息的教师从结果奖励中学习,并通过朝向学生的 KL 正则化加以约束;没有特权信息的学生则从教师的密集蒸馏信号中学习。教师更新使用教师生成的尝试,学生更新则使用由教师评分的学生生成尝试。JOLT+ 进一步用结果奖励补充学生的蒸馏信号。

一个策略同时作为教师和学生进行学习。

训练教师

定义教师应当做什么

教师表现更好,并不一定意味着能为学生带来有用的更新。教师可能会利用特权信息走学生无法使用的捷径,为学生不太可能产生的轨迹分配高概率,或在学生生成的前缀出错后给出不可靠的指导。因此,教师的质量应由其为学生提供的学习信号来决定,而不是由教师自身的任务奖励来决定。

如果教师在学生身上引发的蒸馏更新与学生期望任务奖励的策略梯度一致(至多相差一个正缩放因子),我们就称该教师是奖励一致的。具体而言,奖励一致的教师 πT⋆\pi_T^\star 应满足:

gOPD(θˉ;πT⋆)=1βT gRL(θˉ)g_{\mathrm{OPD}}(\bar\theta;\pi_T^\star) = \frac{1}{\beta_T}\,g_{\mathrm{RL}}(\bar\theta)

其中,βT\beta_T 是一个正标量。与上一节相同,gOPDg_{\mathrm{OPD}} 是 OPD 局部梯度,θˉ\bar\theta 是学生模型参数 θ\theta 的固定快照,gRLg_{\mathrm{RL}} 是期望回报目标的策略梯度。

满足这一条件的一种教师为:

πT⋆(a∣s,c)=1Z(s) πθˉ(a∣s)exp⁡ ⁣(1βTAπθˉ(s,a))\pi_T^\star(a\mid s,c) = \frac{1}{Z(s)}\,\pi_{\bar\theta}(a\mid s)\exp\!\left(\frac{1}{\beta_T}A^{\pi_{\bar\theta}}(s,a)\right)

其中,Aπθˉ(s,a)A^{\pi_{\bar{\theta}}}(s, a) 表示学生的延续优势,Z(s)Z(s) 是确保得到有效概率分布的归一化常数。

从理想目标到教师目标

我们可以通过最小化教师与理想目标 πT⋆\pi_T^\star 之间的 KL 散度,朝该目标训练教师。对于固定的学生和状态 ss,可得:

min⁡πT KL ⁣(πT(⋅∣s,c) ∥ πT⋆(⋅∣s,c))\min_{\pi_T}\,\mathrm{KL}\!\left(\pi_T(\cdot\mid s,c)\,\middle\|\,\pi_T^\star(\cdot\mid s,c)\right)

代入 πT⋆\pi_T^\star 的表达式,可得到一个等价的最大化问题:

max⁡πT{Ea∼πT(⋅∣s,c) ⁣[Aπθˉ(s,a)]−βT KL ⁣(πT(⋅∣s,c) ∥ πθˉ(⋅∣s))}\max_{\pi_T}\Biggl\{\mathbb{E}_{a\sim\pi_T(\cdot\mid s,c)}\!\left[A^{\pi_{\bar\theta}}(s,a)\right]-\beta_T\,\mathrm{KL}\!\left(\pi_T(\cdot\mid s,c)\,\middle\|\,\pi_{\bar\theta}(\cdot\mid s)\right)\Biggr\}

该目标鼓励教师选择学生优势更高的动作,同时保持与学生的动作分布接近。参数 βT\beta_T 控制这一惩罚的强度:值越大,教师越贴近学生当前的行为;值越小,教师就能更积极地偏向高优势动作。

一个实用的替代目标

该目标取决于学生在每个动作之后能延续得多好,但这些学生延续优势通常无法获得。因此,我们使用教师自身轨迹的中心化回报作为实用的替代。奖励项鼓励教师解决任务,KL 项则抑制其偏离学生当前的动作分布。尽管 KL 项使教师保持与学生接近,但这种替代并不精确,因为教师的回报未必与学生的延续优势一致。

JT(θ;θˉ)=Eτ∼πθˉ(⋅∣c)[ ∑t(sg⁡[A^T(τ)]log⁡πθ(at∣st,c)−βT KL(πθ(⋅∣st,c) ∥ sg⁡[πθˉ(⋅∣st)]))]\begin{aligned}\mathcal{J}_T(\theta;\bar\theta) = \mathbb{E}_{\tau\sim\pi_{\bar\theta}(\cdot\mid c)}\Biggl[\,\sum_t \Bigl(&\operatorname{sg}\bigl[\widehat{A}_T(\tau)\bigr]\log\pi_\theta(a_t\mid s_t,c)\\ &-\beta_T\,\mathrm{KL}\bigl(\pi_\theta(\cdot\mid s_t,c)\,\big\|\,\operatorname{sg}[\pi_{\bar\theta}(\cdot\mid s_t)]\bigr)\Bigr)\Biggr]\end{aligned}

其中,A^T(τ)\widehat{A}_T(\tau) 是教师尝试的回报减去其所在组中教师生成尝试的平均回报。算子 sg⁡\operatorname{sg} 表示停止梯度:其参数在求导过程中被视为固定,采样的前缀和学生参考也是如此。

训练学生

学生更新是标准的 OPSD 更新。学生根据任务生成轨迹,随后同一模型在上下文中加入特权信息,对每个采样的 token 进行评分。学生目标会在学生访问的每个状态上,惩罚学生与这一特权教师之间的反向 KL 散度:

JOPSD(θ;θˉ)=− Eτ∼πθˉ[∑tKL(πθ(⋅∣st) ∥ sg⁡[πθˉ(⋅∣st,c)])]\mathcal{J}_{\mathrm{OPSD}}(\theta;\bar\theta) = -\,\mathbb{E}_{\tau\sim\pi_{\bar\theta}}\left[\sum_t \mathrm{KL}\bigl(\pi_\theta(\cdot\mid s_t)\,\big\|\,\operatorname{sg}[\pi_{\bar\theta}(\cdot\mid s_t,c)]\bigr)\right]

因此,教师偏好的 token 会得到强化,而教师认为其可能性低于学生判断的 token 则会受到抑制。

综合起来

将教师目标与学生目标相结合,即可得到联合训练目标:

JJOLT(θ;θˉ)=JT(θ;θˉ)+βS JOPSD(θ;θˉ)\mathcal{J}_{\mathrm{JOLT}}(\theta;\bar\theta) = \mathcal{J}_T(\theta;\bar\theta) + \beta_S\,\mathcal{J}_{\mathrm{OPSD}}(\theta;\bar\theta)

βS\beta_S 是一个标量,用于设定学生蒸馏损失在组合更新中所占的权重。

奖励一致性结果刻画了在给定教师下学生的蒸馏更新。JOLT 以这一原则指导联合训练,将教师目标与学生目标结合起来,更新二者共享的参数。

JOLT+ 还会将学生自身的结果奖励加入其更新。每条学生轨迹的中心化回报会被加到蒸馏信号上,从而将密集的教师监督与针对学生轨迹的直接结果反馈结合起来。教师目标保持不变,因此可以写为:

JJOLT+(θ;θˉ)=JT(θ;θˉ)+βS JOPSD(θ;θˉ)+Eτ∼πθˉ ⁣[∑tsg⁡[A^S(τ)] log⁡πθ(at∣st)]\begin{aligned}\mathcal{J}_{\mathrm{JOLT+}}(\theta;\bar\theta) &= \mathcal{J}_T(\theta;\bar\theta)+\beta_S\,\mathcal{J}_{\mathrm{OPSD}}(\theta;\bar\theta)\\ &\quad+\mathbb{E}_{\tau\sim\pi_{\bar\theta}}\!\left[\sum_t \operatorname{sg}[\widehat{A}_S(\tau)]\,\log\pi_\theta(a_t\mid s_t)\right]\end{aligned}

其中,A^S(τ)\widehat{A}_S(\tau) 是学生轨迹的回报减去其所在学生生成轨迹组的平均回报。

在这两种变体中,每个角色都从在其自身上下文中生成的轨迹中学习,并且两个角色都会更新共享策略。训练步骤的伪代码如下所示。

JOLT 单个训练步骤的伪代码。

实验

我们在涵盖数学推理、代码生成、工具使用和长周期终端任务的基准上评估 JOLT 和 JOLT+,并使用了不同的基础模型和不同形式的特权信息。具体而言,我们使用以下基准、基础模型和特权信息配置开展实验:

  • GSM8K:我们训练 DeepSeek-V2-Lite,训练数据为小学数学题数据集 GSM8K。教师会获得每道题经过验证的答案。
  • MATH:我们训练 Qwen3-0.6B,训练数据为 MATH。教师会获得带完整步骤的参考解答。
  • LCBv6:我们训练 Qwen3-8B,训练数据为 LiveCodeBench-V6 中的 131 道编程题。教师会获得一份通过了所有训练可见测试的模型生成解答;如果没有任何尝试通过这些测试,则获得执行反馈。
  • AppWorld:我们训练 Qwen3-4B-Instruct,训练数据为 AppWorld。教师会获得先前尝试的摘要。
  • Terminal-Bench:我们训练 Qwen3-30B-A3B-Instruct,训练数据为 TMax(一组面向终端智能体的训练任务),并在 Terminal-Bench 2.1 上进行评估。教师会获得私有的验证器信息。

我们将 JOLT 与 GRPO、OPSD 和 π-Distill 进行比较,并为每种方法分别调优超参数。与 JOLT 类似,π-Distill 也在共享模型中联合训练具有特权的教师角色和学生角色;但它使用不同的教师目标,且其学生更新仍是离线策略的,依赖教师生成的轨迹,而非学生自身的生成结果。

准确率

在我们评估的每种设置中,JOLT+ 的平均得分都是最高的。与所测试的最强基线 GRPO 相比,它将 GSM8K 准确率提升了 1.5 个百分点(pp),MATH 准确率提升了 4.2pp,LCBv6 准确率提升了 3.0pp,AppWorld 状态测试通过率提升了 9.9pp。

JOLT+ 在全部四个基准上的平均得分均为最高。

在没有任何直接学生奖励的情况下,JOLT 在 GSM8K、MATH 和 LCBv6 上的平均准确率均高于 GRPO。不过在 AppWorld 上,它仍低于 GRPO 和 π-Distill。

Terminal-Bench 2.1 是周期最长的设置。JOLT+ 在报告的每个 k 值下都取得了最高的 pass@k,从 pass@1 的 10.96% 到 pass@32 的 34.83%。JOLT 在每个 k 值下都优于基础模型和两个蒸馏基线,但仍低于 GRPO。OPSD 在每个 k 值下的得分都低于基础模型。

在每种尝试预算下,JOLT+ 在 Terminal-Bench 上均处于领先。

Token 效率与扩展

我们还关注性能如何随训练预算扩展。我们在 MATH 上以不同的训练 token 预算评估 GRPO、OPSD 和 JOLT,并比较由此得到的学生准确率。

下图展示了每种方法的准确率如何随训练 token 消耗而变化。我们以已处理训练 token 数衡量成本,其中包括所有未填充的提示、特权上下文、优化轮次,以及教师与学生之间的交叉评分。

JOLT 达到 GRPO 的准确率所需的 token 更少。

各点表示不同检查点处的已处理训练 token 数和准确率;误差线表示多次运行之间的 ±1 个标准差。我们参照扩展 RL 算力方面的先前研究,在准确率与对数训练 token 预算之间拟合了 S 型关系。

JOLT 在早期就展现出较高的样本效率,同时在三种方法中达到最高准确率,最终稳定在 72% 左右。OPSD 在小预算下提升很快,但在约 62% 的准确率处进入平台期。GRPO 起初学习较慢,但持续提升的时间更长,最终攀升至约 70%。在 63.44% 的相同准确率下,GRPO 的实测检查点使用了 840 万个 token,而 JOLT 的拟合曲线给出的是 130 万个,少 6.5 倍。

我们还使用补全 token 衡量成本:对 GRPO 和 OPSD 统计学生的补全,对 JOLT 则同时统计教师和学生的补全,但不计入提示、特权上下文和额外的优化轮次。基于补全 token 而非已处理训练 token 进行比较时,在相同准确率水平下,效率差距扩大到约 13 倍。在一系列目标准确率下,JOLT 使用的补全 token 少 9.5–14.4 倍,已处理训练 token 少 4.3–7.4 倍。

在 55% 到 65% 的准确率区间内,JOLT 始终保持 token 优势。

结论

特权信息可以让教师更擅长解决某项任务,却未必能让它更擅长教导学生在没有这些信息的情况下解决同一任务。JOLT 通过相对于学生当前行为来训练教师,从而应对这一差异。

这种联合训练同时提升了准确率和效率。借助学生结果奖励,JOLT+ 相比 GRPO 取得了绝对提升:GSM8K 提升 1.5 个百分点,MATH 提升 4.2 个百分点,LCBv6 提升 3.0 个百分点,AppWorld 提升 9.9 个百分点,Terminal-Bench 2.1 的 pass@1 提升 2.7 个百分点。在 MATH 上,在准确率相当的情况下,JOLT 即使不使用直接的学生奖励,所用的补全 token 也比 GRPO 少 13 倍,已处理训练 token 少 6.5 倍。

JOLT 让教师的指导能够随学生一同演进。这启发我们进一步探索:教师能否也学会生成有用的训练任务。未来一个有趣的研究方向是联合训练一个生成任务的教师和一个解决问题的学生,并利用学生的学习进展,以课程学习的方式改进生成的任务。这有望让合成任务的生成根据学生接下来准备学习的内容作出调整。

如需了解更多详情,请阅读我们的完整论文。我们即将开源相关代码。

引用

BibTeX
@online{perplexity2026AGoodTeacherMeetsTheStudentWhereTheyAre,
  author = {{Perplexity} and Randy Ardywibowo and Arnav Dalal and Jiantao Jiao and Jarrod Bryan and Claire Beamer and Jeremy Yang and Jerry Ma},
  title = {{A good teacher meets the student where they are}},
  date = {2026-10-21},
  url = {https://perplexity.coolkeypoint.com/hub/blog/a-good-teacher-meets-the-student-where-they-are}
}