讓小模型繼承大模型的「智慧」,而不只是複製它的「答案」。
先說結論
讀完這篇文章,你會理解:
- 為什麼「蒸餾」這個詞用在 AI 上格外貼切
- 教師模型的「軟標籤」比正確答案更有價值的原因
- 為什麼 DeepSeek 的小模型可以打敗比它大十倍的模型
從類比開始
想像一個剛開始學廚的新手,跟著米其林主廚學做菜。
如果主廚只給新手一張食譜(正確答案),新手可能記住步驟,但不知道「為什麼要先炒香蔥蒜」、「為什麼火候要在這個時機調小」——那些在主廚腦袋裡積累幾十年的直覺,食譜裡根本寫不進去。
但如果新手能站在旁邊看主廚做菜,觀察他每個動作的「信心程度」——哪裡他很果斷、哪裡他稍微猶豫——新手就能學到遠比食譜更豐富的東西。
模型蒸餾做的,就是後者。
核心概念
硬標籤 vs. 軟標籤
傳統訓練給模型看的是硬標籤(Hard Labels):
這張圖 → 貓:1,狗:0,鳥:0
這告訴模型「正確答案是貓」,但什麼資訊都沒有了。
大型教師模型輸出的是軟標籤(Soft Labels):
這張圖 → 貓:0.85,狗:0.12,鳥:0.03
這告訴學生:「這張圖很像貓,但也有一點像狗。」這個機率分佈裡藏著的,是教師對各類別相似度的微妙判斷,遠比一個「1」更豐富——Hinton 稱之為暗知識(Dark Knowledge)。
溫度參數(Temperature)
有時候教師模型太確定了,輸出變成:
貓:0.9999,狗:0.0001,鳥:0.00001
這跟硬標籤差不多,學生什麼都學不到。
所以引入了溫度參數 T:
softmax(logits / T)
T = 1:預設,輸出很尖銳T > 1(例如 T = 4):輸出變平滑,類別間的相對關係被放大
訓練時用高溫讓分佈平滑,推理時恢復 T=1 保持正常預測。 像是把知識從高濃度慢慢稀釋,讓學生更容易吸收。
損失函數
學生模型同時接受兩個目標的訓練:
Total Loss = α × CrossEntropy(學生輸出, 真實標籤)
+ (1-α) × KL散度(學生軟輸出, 教師軟輸出)
- 第一項:讓學生仍然學會答對題目
- 第二項:讓學生模仿教師的「思考方式」
- α:控制兩者的權重比例
三種蒸餾方式
| 類型 | 學什麼 | 適合情境 |
|---|---|---|
| 回應蒸餾(Response-based) | 模仿教師的最終輸出 | 分類、生成任務 |
| 特徵蒸餾(Feature-based) | 模仿教師的中間層表示 | 需要深度理解的任務 |
| 關係蒸餾(Relation-based) | 模仿教師如何看待「樣本間關係」 | 複雜推理任務 |
流程圖
常見誤解
誤解一:「學生只是縮小版的教師」
不對。 學生的架構可以和教師完全不同——可以是不同類型的神經網路,甚至可以跨模態(用語言模型的知識蒸餾到視覺模型)。蒸餾傳遞的是知識,不是結構。
誤解二:「蒸餾後的小模型一定比教師差」
不一定。 DeepSeek-R1 的 7B 蒸餾版本在推理任務上打敗了未蒸餾的 32B 模型。當教師的軟標籤比隨機標籤更有信息量時,學生的訓練效率遠高於從零開始——這被稱為弱到強的泛化(Weak-to-Strong Generalization)。
誤解三:「溫度越高越好」
不對。 溫度太高,所有類別的機率趨於一致,暗知識被「過度稀釋」,反而失去意義。溫度是個需要調校的超參數,通常落在 T = 2 到 T = 10 之間。
延伸思考
-
DistilBERT 與 TinyBERT — 同樣的 BERT 模型,蒸餾出的小模型為什麼在某些任務上表現差異這麼大?了解特徵蒸餾如何影響語言理解能力。
-
DeepSeek-R1 的蒸餾爭議 — DeepSeek 用 OpenAI 模型的輸出訓練學生,引發了關於「用競爭對手的知識蒸餾」的法律與倫理討論——這條線在哪裡?
-
Speculative Decoding 與蒸餾的結合 — 新研究讓小學生模型與大教師模型在推理時協作,而非只在訓練時。這開啟了完全不同的部署架構。
-
資料驅動蒸餾 vs. 無資料蒸餾 — 當原始訓練資料不可用(如隱私限制),如何用 GAN 合成資料進行蒸餾?這在醫療 AI 領域特別重要。
-
蒸餾的縮放定律 — Apple 與牛津大學的研究顯示,教師與學生的大小差距有個甜蜜點:太小的學生學不了太強的教師。這如何影響 LLM 的商業決策?
參考來源
- Everything You Need to Know about Knowledge Distillation - Hugging Face Blog
- 知識蒸餾 Knowledge Distillation - Simon Liu on Medium
- Knowledge distillation - Wikipedia
- What is Knowledge Distillation? - IBM Think
- Knowledge Distillation: Principles & Algorithms - V7 Labs