傳統自蒸餾在大規模訓練中的資源限制
自蒸餾方法通常依賴指數移動平均(EMA)作為教師模型,以獲得穩定且同步的評估標準。然而,當處理大型模型時,這種做法難以擴展,因為同時在 GPU 上保留完整的教師模型與正在訓練的學生模型會增加推理延遲,並加重 ZeRO-3 架構下的通訊負擔。
透過共享主幹網路與 LoRA 適配器降低負載
為緩解上述問題,開發者提出結合 LoRA 微調的方案。在此架構中,模型的主幹網路(backbone)是共享且凍結的,系統只需維護兩個輕量級的適配器:一個用於正在訓練的學生模型,另一個則作為教師模型,其參數由學生適配器的指數移動平均計算而來。
這種方法避免了載入兩份完整模型權重,從而顯著降低了對 GPU 記憶體的需求與通訊開銷。
整合 TRL 與 ZeRO-3 的技術實作細節
要在 TRL(Transformer Reinforcement Learning)框架與 ZeRO-3 分散式訓練架構下順利執行此流程,需要處理適配器切換與記憶體管理等技術挑戰。開發者將這些修正打包為一個即插即用的開源工具包 sdft_zero3。
該工具包支援在 ZeRO-3 環境下穩健執行的自蒸餾實作,並整合了 LoRA 以處理教師與學生前向傳播時的適配器切換。此外,它也提供了儲存與恢復 EMA 教師檢查點的功能,以及經過調整的 DeepSpeed 設定檔,用以解決 GPU 記憶體緊張時可能出現的記憶體峰值問題。
測試環境與專案現況
開發者表示已在 Qwen3.5 模型與 ToolAlpaca 資料集上進行測試。目前該專案已發布於 GitHub,並歡迎社群提供回饋、更多範例或報告問題。




