thunlp/OPD
Rethinking On-Policy Distillation of Large Language Models: Phenomenology, Mechanism, and Recipe
解決的問題
本專案針對大語言模型中在策略蒸餾(OPD)的訓練動態與失敗模式缺乏理解的問題。系統性地探討OPD成功或失敗的原因,並提供實用策略,在蒸餾失敗時恢復效能。
工作原理
OPD透過教師模型提供的token級獎勵信號來訓練學生模型。本專案識別出兩個關鍵成功條件:學生與教師必須具備相容的思考模式,且教師必須提供學生尚未接觸過的能力。
為改善失敗的OPD,專案實作了兩種具體策略:
- 離策略冷啟動:透過初始化過程彌補模型間的差距。
- 教師對齊的提示選擇:選擇更利於學生與教師能力對齊的提示。
技術上,使用 verl 框架進行強化學習與蒸餾,使用 LlamaFactory 進行監督微調(SFT),支援多種Top-K token選擇與加權策略,以優化獎勵信號。
適用對象
從事模型蒸餾、大語言模型後訓練,以及希望優化從大教師模型向小學生模型知識傳遞的研究人員與開發者。
主要亮點
- 機制分析:提供token級分析,顯示成功的OPD依賴於學生訪問狀態下的高機率token對齊。
- 恢復策略:引入離策略冷啟動與教師對齊提示選擇,用於修復失敗的蒸餾執行。
- 整合:將診斷指標(
overlap_ratio與overlap_token_advantage)合併至verl庫中。 - 靈活配置:支援多種Top-K策略(聯集、交集等)與獎勵加權方案。
相關
- 專案
- 專案
- Dispatch
- 專案
- 專案