跳到主要內容

讓老師從學生走偏的地方接手:OLIVE 怎麼改寫語言模型的蒸餾

閱讀時間約 5 分鐘

在 ScienceWorld 這個多步驟科學實驗環境裡,一顆 1.7B 的小模型原本幾乎一題都做不成。用目前熱門的線上蒸餾(on-policy distillation,OPD)去教它,成績還是停在接近零;換成 UIUC 等團隊提出的 OLIVE,成功率拉到 7.5%。

兩種方法用同一個老師、同一個學生,差別只在老師什麼時候出手、怎麼出手。下面用駕訓班教練來解釋。

先想像三種教開車的方式

第一種:只看教練開。 學員坐副駕駛,看教練從頭開到尾,把每個動作背下來。問題是自己上路時,車子遲早會偏到教練從沒遇過的位置,例如切進車道的角度歪了,學員不知道從這裡該怎麼救。

第二種:學員自己開,教練在旁邊打分數。 每一個動作教練都說「這裡該怎麼做比較好」。但如果學員第三個路口就轉錯,後面整段路都建立在錯的位置上,教練只能對一條本來就走偏的路線逐步評分,學員從來沒看過「轉對之後」接下來該怎麼開。

第三種:學員先開一段,教練接手示範。 學員開到某處,教練接過方向盤,從學員造成的那個狀況開始示範怎麼繼續。下一堂課學員技術進步了,開到的地方不同,教練就從新的位置再示範。

OLIVE 就是第三種。

對應回模型訓練

蒸餾是讓強模型(老師)把能力轉移給弱模型(學生)的訓練方法。三種開車方式分別對應:

  • 離線 SFT(監督式微調):學生只學老師事先寫好的完整答案。論文指出,學生推論時是接在自己的輸出後面繼續寫,和訓練時看到的狀態不同,錯誤會在長任務中累積
  • OPD:學生自己產生完整回答,老師對每個 token 給出機率分布,用 KL 散度(衡量兩個分布差距的指標)要學生靠近。但即使老師認為某個 token 該改,後面的評分仍接在學生原本的錯誤上
  • OLIVE:學生先寫一段前綴,老師接著往下寫,學生只對老師寫的部分計算交叉熵損失(cross-entropy,也就是一般「照著這段文字學」的訓練目標),自己寫的前綴只當上下文

在推理任務中,學生先寫 4096 個 token,老師接著寫最多 1024 個;在 Agent 任務中則以「回合」計算,學生先和環境互動 5 或 10 回合,老師再接手最多 5 回合。每次學生更新後,前綴都重新產生,所以老師示範的位置會跟著學生的程度移動。

效果:教得更多,也忘得更少

論文用 Qwen3-1.7B 和 Qwen3-4B 當學生,在可調整難度的推理題上,平均分數分別提升 4.42 和 5.35 分,是所有比較方法中最多的;在五個 Agent 環境裡,各環境的成功率都比 OPD 及其改良版本高,而且完成任務所需的回合數更少。在通用能力方面,數學、程式、指令遵循與科學四項基準平均只下降 0.9%,遺忘比離線 SFT 少。

ScienceWorld 差距最大,正對應第二種教法的缺點:學生前幾回合多半出錯、整局走偏,OPD 只能對注定失敗的路線打分數。

另一個好處來自「只學文字」。OLIVE 不需要老師的 token 機率,所以老師可以是只提供文字輸出的 API 模型,雙方的分詞方式也不必相同。研究者用 GPT-5.4-mini 當老師:離線蒸餾兩個 epoch(完整訓練資料跑一輪)後就停滯,OLIVE 前兩個 epoch 反而比較差,但持續進步,五個 epoch 後在 ScienceWorld 超過離線蒸餾 13%。

成本上,老師只需寫一小段、不必完成整段推理,在 8 張 H200 上的 GPU 時數和 OPD 相當。再把「老師寫這一批」和「學生產生下一批前綴」重疊執行,總訓練時間比同步版本少 23.8%,代價是部分前綴來自稍舊的學生版本,效能略降。

類比在哪裡失效

真實的駕駛教練會判斷「這個狀況還救得回來嗎」,OLIVE 的老師沒有這種判斷:論文使用固定的前綴長度,所有前綴都保留、不做篩選,示範也只是一段、未必寫到正確答案。論文說老師的接續能示範修正方式,前提是學生的前綴「還救得回來」;如果學生已經走進死路,老師的接手能帶來多少幫助,論文沒有另外分析。

此外,這篇論文標示為進行中的研究,實驗只涵蓋 1.7B 與 4B 的學生模型和少數環境,能否推廣到更大模型仍待驗證。目前能確定的是:老師能力遠高於學生、學生容易在早期就走偏時,讓老師接手示範,比替學生整段打分數更有效。

參考來源

回應

0 / 1000

還沒有回應,成為第一個留言的人吧。