好教師懂得從學生的程度出發

一種全新的自我蒸餾方法,聯合訓練教師和學生,以提升模型在複雜推理和代理式任務上的效能及訓練效率。

作者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(一組供終端機 AI 代理程式使用的訓練任務),並在 Terminal-Bench 2.1 上評估。教師會獲得私有的驗證器資訊。

我們與 GRPO、OPSD 和 π-Distill 進行比較,並為每種方法調校超參數。π-Distill 與 JOLT 一樣,在共享模型中聯合訓練具特權資訊的教師角色和學生角色;但它採用不同的教師目標,而且其學生更新仍屬異策略(off-policy),依賴教師生成的軌跡,而非學生自己生成的內容。

準確度

在我們評估的每個設定中,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 只需更少 token 即可達到 GRPO 的準確度。

各點顯示不同檢查點的已處理訓練 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 倍。

JOLT 的 token 優勢在 55% 至 65% 準確度之間均成立。

結論

特權資訊可以讓教師更擅長解決任務,卻未必能讓它更擅長教導學生在沒有該資訊的情況下解決同一任務。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://www.perplexity.ai/hub/blog/a-good-teacher-meets-the-student-where-they-are}
}