這項由上海交通大學電腦科學與工程系、上海創新研究院與騰訊大語言模型部門聯合開展的研究,以預印本形式於2026年4月發布,論文編號為arXiv:2604.20244。有興趣深入了解的讀者可以通過該編號在arXiv平台查詢完整論文,代碼也已開源在GitHub上。
**研究概要**
手機里的導航軟體、客服聊天機器人、寫作輔助工具……這些我們日常接觸到的AI應用,背後往往需要強大的語言模型在支撐。然而真正頂尖的大語言模型,體積龐大、耗電驚人,部署成本高得嚇人。這就帶來了一個現實的矛盾:大模型能力強,但用不起;小模型跑得快,但能力差。
如何讓小模型擁有大模型的"聰明才智",正是這項研究要解決的核心問題。研究團隊提出了一種叫做"混合策略蒸餾"(Hybrid Policy Distillation,簡稱HPD)的新方法,試圖在保留小模型高效運行優勢的同時,讓它儘可能多地"繼承"大模型的知識和判斷力。這個過程在機器學習領域被稱為"知識蒸餾"——就像把大模型這瓶"濃湯"蒸餾提煉,讓小模型這個"小瓶子"裝下精華。研究在數學推理、對話生成和代碼編寫三類任務上進行了驗證,證明這種方法比現有方案在穩定性、效率和最終表現上都有明顯改進。
---
**一、為什麼"教"一個AI比想像中要難得多**
先來理解一下知識蒸餾這件事本身的難度。
以廚藝傳承為核心比喻框架來理解整個研究會很有幫助。一位經驗豐富的大廚(大語言模型)掌握著無數道菜的做法,而我們希望把這些技藝傳授給一位剛入門的學徒(小語言模型)。問題在於,大廚和學徒之間的差距,並不是靠"照著食譜抄一遍"就能彌補的。
傳統的訓練方式,相當於直接把食譜給學徒,讓他照著做。這就是"監督微調"(SFT)的邏輯——給小模型看大量的標準答案,讓它照著學。這種方法的問題在於食譜只告訴學徒"最終應該做出什麼味道的菜",卻沒有告訴他"為什麼這道菜要這樣做",更沒有告訴他"如果做錯了,錯在哪裡"。結果就是,學徒很快就能做出一道菜的樣子,但稍微換個食材或場景就不知所措了。
更進階的方式是讓大廚站在旁邊,不光告訴學徒"這道菜要放多少鹽",還要說"放太多鹽會怎樣,放太少鹽會怎樣"。這就是基於KL散度(一種衡量兩個概率分布差異的數學工具,可以理解為"兩個人對同一道菜評價的分歧程度")的知識蒸餾。但研究團隊發現,這裡還涉及一個關鍵選擇:大廚是從自己的角度來糾錯("這道菜根本不像我會做的"),還是從學徒的角度來糾錯("你這道菜有哪些地方應該學我的")?這兩種視角在數學上對應"反向KL散度"和"正向KL散度",它們各有優劣,卻很少有人把二者結合起來用。
研究團隊發現,現有的知識蒸餾方法實際上受到三個相互糾纏的因素影響:一是"散度方向"的選擇(大廚從誰的角度評價),二是"優化策略"(是把差異當作罰分,還是當作獎懲信號),三是"數據來源"(用已有的標準食譜來訓練,還是讓學徒自己做菜再糾錯)。這三個因素像三條繩子絞在一起,以往的研究往往只拉動其中一條,而HPD試圖同時握住三條。
---
**二、現有方法的各自缺陷:大廚的兩種極端教學風格**
正向KL散度(FKLD)的邏輯,類似於一位極度全面主義的大廚。他希望學徒把每一種可能的烹飪風格都學會,不管是川菜還是粵菜,不管是主流口味還是小眾偏好,通通都要涵蓋。這樣做的好處是學徒不會遺漏大廚擅長的任何領域。但問題是,一個剛入行的學徒根本沒有足夠的時間和精力把所有風格都學精,結果往往是每種風格都學了個大概,哪種都不精通——這在技術上叫做"過度平滑",即模型的預測變得模糊而不確定。
反向KL散度(RKLD)則像另一個極端:大廚只關注自己最拿手的幾道招牌菜,要求學徒先把這幾道菜學到極致,其他的暫時不管。這樣學徒在招牌菜上確實能學得很像,但代價是忽略了大廚其他能力,而且如果學徒一開始做出來的菜跟大廚的水平差距太大,大廚的反饋就會變得非常極端——"這完全不對,推翻重來"——導致學徒的學習過程動盪不安,技術上表現為訓練不穩定。
順序知識蒸餾(SeqKD)則是讓學徒專門練習"大廚親自示範過的版本",而Jensen-Shannon散度(JSD)則是取兩者中庸的一種方式。這些方法各有道理,但都沒有同時解決"全面覆蓋"和"穩定聚焦"這兩個矛盾需求。
---
**三、統一視角:用一個公式看清所有方法的本質**
研究團隊做的第一件重要工作,是把所有現有的知識蒸餾方法放進同一個框架里審視。他們發現,不管是SFT還是各種KL散度方法,本質上都可以用同一個公式來表達——這個公式的核心,是對每個詞(token)的學習信號加上不同的"權重"。
用烹飪的比喻來說:所有這些方法,最終都是在告訴學徒"在學習某個食譜步驟時,這個步驟有多重要"。SFT的策略是"每個步驟都同等重要,照著做就行"(權重恆為1)。正向KL散度的策略是"大廚認為這個步驟有多重要,就給多少權重"(權重等於大廚的概率估計)。反向KL散度的策略則更複雜:"根據學徒現在做得多偏離大廚風格來決定權重"(權重等於學徒對某個步驟概率的對數比值)。
這個統一視角的價值在於,它讓研究團隊看清了每種方法的本質差異,以及為什麼每種方法都只解決了問題的一部分。正是從這個視角出發,他們設計出了HPD。
---
**四、HPD的核心機制:聰明的學徒需要一面"糾偏鏡"**
HPD的設計邏輯,可以用這樣一個廚藝培訓的場景來理解。
每次練習時,學徒面對一道食譜(離線數據),會遇到兩種情況:一是照著食譜里的"標準步驟"來做(處理專家詞元),二是他自己忍不住想到了一個"另一種做法"並隨手試了試(採樣學生詞元)。
對於標準步驟,大廚會用一個叫做"k1間隙"的指標來衡量學徒的偏差。這個指標本質上是問:"學徒對這個步驟的重視程度,比大廚要求的高還是低?"如果學徒給這個步驟的關注度太低(k1大於零,即低估),大廚就同時用兩種信號來強化這個步驟:一個是"正向KL"的權重信號(告訴學徒這個步驟有多重要),另一個是反向KL的間隙信號(告訴學徒你現在和我的差距有多大)。二者疊加,給這個步驟的訓練信號比普通方法更強。相反,如果學徒給這個步驟的關注度已經太高了(k1小於或等於零,即高估),大廚就不再用正向KL來強化,只保留反向KL的抑制信號,防止學徒"用力過猛"。
對於學徒自己隨手試的"另一種做法",大廚也會用同樣的k1指標評估。如果這個"自創做法"是合理的(k1大於等於零,即學徒沒有過度自信),大廚就不管——畢竟這個做法本身沒問題,不需要糾正。但如果這個"自創做法"是不靠譜的(k1小於零,即學徒對自己的這個做法太過自信,認為它比大廚的做法還好),大廚就會雙管齊下:一方面抑制這個錯誤做法(給負權重),另一方面如果此時大廚認為標準步驟是被低估的,就額外加倍強化標準步驟(把標準步驟的權重翻倍)。
這個設計的精妙之處在於它的條件性和動態性。不是所有步驟都無差別地強化或弱化,而是根據學徒當前的"認知狀態"來靈活調整——哪裡偏差大,哪裡就糾正得多。這種機制同時吸收了正向KL的"全面覆蓋"優勢和反向KL的"精準聚焦"優勢,同時避免了兩者各自的弊端。
而輕量級的在線採樣(讓學徒隨手試試自己的做法),也無需大量的完整推理(不需要學徒每次都把整道菜做完才能得到反饋),只需要在每個步驟上採樣一個學徒自發的選擇,計算量很小卻能提供有效的糾偏信號。
---
**五、實驗驗證:在數學、對話和代碼三個擂台上的表現**
研究團隊設計了大量實驗,從三個不同的任務場景來檢驗HPD的效果。
在數學推理這個最具挑戰性的場景中,實驗使用了Qwen2.5系列(1.5B、3B、7B參數規模)和LLaMA3系列(1B、3B、8B參數規模)兩個模型家族,每個家族用最大的模型當"大廚",較小的模型當"學徒"。訓練數據使用了OpenR1-Math-8192,一個需要長鏈推理的數學數據集,評測覆蓋AIME24、AIME25、AMC、MATH-500、OlympiadBench和GPQA六個基準。
結果顯示,HPD在所有基準上均優於SFT、SeqKD、RKLD和JSD這四種對比方法。最引人注目的數字是:將Qwen2.5 3B學生模型用HPD蒸餾後,其綜合得分從28.25分提升到39.83分,提升幅度達41.0%;而LLaMA3 3B的對應提升更是高達77.9%,從19.43分躍升至34.56分。這意味著一個3B參數的小模型,經過HPD蒸餾後,能達到相當於更大模型的推理水平。
研究團隊還觀察了訓練過程中的動態變化。SFT訓練下,學生模型的"熵"(一種衡量模型輸出多樣性和不確定性的指標,可以理解為"模型做選擇時的猶豫程度")會迅速崩塌——就像學徒被強迫死記硬背後,喪失了自主判斷的能力,只會機械地輸出固定答案。而HPD訓練下,熵值始終保持穩定,學生模型的輸出多樣性沒有受損。與此同時,學生和大廚之間的KL散度(分歧程度)在HPD下持續穩步下降,而SFT下這個分歧很快就停止縮小,表明學生的學習陷入了停滯。
在對話個性化任務中,研究使用Qwen2.5 7B作為大廚,Qwen2.5 1.5B作為學生,訓練數據來自UltraFeedback數據集,評測指標包括AlpacaEval2、Arena-Hard和MT-Bench。HPD在所有指標上均名列前茅,尤其在多輪對話能力的保留上表現突出——這正體現了HPD在應對複雜、需要上下文連貫性的任務時的優勢。
在代碼生成任務中,實驗分別使用Qwen2.5-Coder 7B與DeepSeek-Coder 6.7B作為大廚,對應的1.5B和1.3B模型作為學生,訓練數據來自WizardCoder,評測使用HumanEval和MBPP兩個標準基準。HPD在兩個模型家族上均取得最高的平均分,且展現出比KD和JSD更高的跨任務、跨模型穩定性。
---
**六、與在線強化學習結合:學徒站穩腳跟後,更能發揮潛力**
除了離線蒸餾,研究團隊還考察了HPD在在線學習場景下的表現。所謂"在線學習",就是讓學生模型自己實時生成完整的回答,再用這些回答來進一步訓練——就像學徒不再只是練習固定食譜,而是開始獨立接單,然後對自己的菜品進行復盤和改進。
實驗對比了兩個基線方法:MiniLLM(強調用反向KL散度來提升蒸餾效果)和GKD(強調用學生自己生成的數據來訓練),二者都屬於"在線策略蒸餾"(OPD)框架。
將HPD作為初始化,然後再進行OPD訓練的組合方案,在所有評測基準上均超越了"先SFT再OPD"的傳統兩階段流程。更關鍵的是,單獨使用HPD(不經過後續OPD)在某些情況下就已經超過了"SFT+OPD"的最終結果——也就是說,HPD用更低的計算成本實現了不輸於甚至超越競爭對手的性能。
訓練動態數據也印證了這一點:相比SFT初始化,HPD初始化下的OPD訓練中,學生的"優勢估計"(衡量當前做法比平均水平好多少的信號)更加平穩而不劇烈,KL散度更低,測試時的熵也更健康——所有這些都指向一個結論:HPD讓學生站在一個更紮實的起點上,後續的優化更加順暢高效。
---
**七、消融實驗:拆掉哪塊磚,樓會塌?**
研究團隊還專門做了拆解實驗,分別去掉HPD的兩個關鍵組件,看會發生什麼。
第一個組件是"學生採樣"——即讓學生在訓練中隨手嘗試自己的替代做法。去掉這個組件後,模型的性能在初期提升很快,但很快就停止了改進,最終無法達到完整HPD的高度。這說明,如果學生從不嘗試自己的想法,只是被動接受大廚的指令,學習很快就會進入瓶頸。
第二個組件是"強化操作"——即在學生的錯誤做法被抑制時,額外加倍強化標準做法。去掉這個組件後,模型的KL散度下降速度明顯減慢,最終效果也變差。這說明,僅僅抑制錯誤是不夠的,還需要同時明確地告訴模型"應該往哪裡走",而不只是"不應該往哪裡走"。
值得注意的是,HPD沒有引入任何額外的超參數——這意味著它在實際使用時不需要繁瑣的調參過程,是一個開箱即用的方案。
---
**八、更廣泛的應用:與偏好對齊和自我疊代的結合**
研究團隊還探索了HPD在更廣泛場景下的潛力。
一個方向是將HPD與DPO(直接偏好優化)結合使用。DPO是一種讓模型更符合人類偏好的訓練方法,通常在SFT之後進行。實驗在Qwen2.5-3B-Base模型上對比了SFT初始化和HPD初始化在後續DPO訓練中的表現。結果顯示,用HPD初始化後再進行DPO的方案,在AlpacaEval2、Arena-Hard等對齊評測上均大幅領先於SFT初始化方案,綜合提升幅度約為11.92分,而SFT+DPO的提升僅為1.81分。研究者認為,原因在於HPD在對齊學生和大廚分布的同時,沒有導致熵崩塌,因此給後續的偏好優化提供了更健康的起點。
另一個方向是"疊代自蒸餾"——每輪訓練後,把上一輪經過DPO對齊的模型作為新的"大廚",再對學生進行一次HPD蒸餾,如此循環。實驗顯示,這種疊代方式能讓模型性能持續提升,而不會出現"把SFT數據替換為DPO模型生成數據"這一常見做法帶來的性能下滑問題。不過,隨著疊代輪次增加,每輪的增益會逐漸縮小,表明存在自然的性能上限。
---
**九、研究的邊界與未來的方向**
研究團隊在論文中也坦率地指出了當前工作的局限性。HPD目前要求大廚(大模型)和學生(小模型)使用相同的詞元表(tokenizer),這是白盒知識蒸餾的通用前提,限制了它在不同模型架構之間的應用。此外,由於精確計算完整的KL散度代價極高,HPD採用的是近似估計方法,雖然在實踐中效果良好,但理論上存在一定偏差。
研究團隊在結論中也提到,未來可以探索將HPD應用於更早期的訓練階段,比如中間訓練甚至預訓練,以評估其在更基礎層次上對大語言模型的益處。
---
說到底,這項研究解決的問題,是讓AI世界裡的"小學生"能更有效地從"大老師"那裡學習。不是靠死記硬背,而是靠"哪裡偏了糾哪裡"的精準反饋機制。研究團隊把正向和反向兩種"糾錯方式"巧妙地融合在一起,再加上一點點"讓學生自己試試"的探索機會,就實現了比以往方法都更穩、更快、更好的蒸餾效果。
這對普通用戶意味著:未來部署在手機上、智能家居里、基層應用中的小型語言模型,有望擁有更接近頂級大模型的能力,而不需要龐大的算力支持。一個參數量只有大模型五分之一的小模型,如果經過足夠好的蒸餾,或許真的能做到以一當五。
對於有興趣深入了解技術細節的讀者,可以通過arXiv:2604.20244查閱完整論文,相關代碼也已在GitHub的zwhong714/Hybrid-Policy-Distillation倉庫公開,研究透明度相當高。
---
**Q&A**
Q1:知識蒸餾和直接訓練一個小模型有什麼區別?
A:直接訓練小模型只用標準答案作為學習目標,相當於只告訴學生"正確答案是什麼",不解釋原因。知識蒸餾則額外利用大模型的"內部想法"——比如大模型對每個選項的概率評分——讓小模型不僅知道正確答案,還能理解各種可能答案的相對合理性,從而學到更豐富的知識。
Q2:HPD訓練中的"學生採樣"會不會讓模型學到錯誤的東西?
A:不會,因為HPD對學生自己採樣的詞元有嚴格的過濾機制。只有當學生對某個自己生成的詞元"過度自信"(認為它比大模型的選擇還要好)時,才會觸發抑制信號。如果學生的自發選擇是合理的,HPD會直接忽略它,不施加任何負面影響。
Q3:HPD對計算資源的要求比普通SFT高多少?
A:HPD在每個訓練步驟中額外需要對一個學生採樣詞元計算其對應的教師概率,以及進行簡單的權重計算。由於這是詞元級別的單步採樣而非完整序列推理,額外開銷極小。研究團隊的論文中也強調,HPD的設計目標之一就是保持接近SFT的計算效率,同時獲得遠優於SFT的訓練效果。






