模型與訓練

Knowledge Distillation 知識蒸餾是什麼?大模型教小模型

知識蒸餾(Knowledge Distillation)是一種模型壓縮技術。讓一個龐大、聰明但跑得慢的「教師模型」把它的輸出機率分佈交給體積小、速度快的「學生模型」學習,使小模型能用極低的算力,發揮接近大模型的表現。
Knowledge Distillation 知識蒸餾是什麼?大模型教小模型:文章重點卡

Knowledge Distillation 知識蒸餾是什麼?大模型教小模型

你手機裡那個離線也能用的小模型,很可能就是被大模型「教」出來的。它沒有雲端的算力,卻能回答得像模像樣。

背後的技術叫知識蒸餾。這篇用一個考試的比喻,把它一次講清楚。

你將學到什麼

定義

大模型當老師,把知識轉移給小模型的壓縮技術。

白話比喻

老師不只公布答案,還教你為什麼別的選項不太可能。

跟誰容易搞混

剪枝是刪掉沒用的部分,量化是降低精度,蒸餾是重新訓練一個新模型。

定義

知識蒸餾(Knowledge Distillation)是一種模型壓縮技術。它把一個非常龐大、聰明但跑得很慢的「教師模型」的精華知識,轉移訓練到一個體積小、速度快的「學生模型」上。

目標是在盡量保住準確率的同時,大幅減少模型的大小與計算成本。學生模型學的不只是正確答案,還有教師模型思考時的機率分佈。

白話比喻

傳統訓練像是只給你標準答案:這題選 B,其他都是零分。學生只知道結果,不知道為什麼。

知識蒸餾像是老師把整張思考過程攤開來:這題我有九成把握選 B,但 C 也有一點道理,A 幾乎不可能。這些「軟標籤」帶著暗知識,學生因此學得更細。

蒸餾的流程

  1. 準備訓練資料,可以是問題、影像或文本。
  2. 讓教師模型跑一遍,產出軟輸出(Soft Targets),也就是各個答案的機率分佈。
  3. 讓學生模型同時學兩件事:學正確答案,也學模仿教師的機率分佈。
  4. 用蒸餾損失衡量兩者的差距,反覆訓練直到學生模型穩定收斂。

教師模型選得越強,蒸餾效果通常越好。學生模型則要視最終要跑在什麼裝置上來決定大小。

跟剪枝與量化差在哪?

技術做法產出
Knowledge Distillation 知識蒸餾用大模型的輸出當教材,訓練一個新的小模型一個結構全新的小模型
Pruning 模型剪枝把貢獻很小的參數或連結直接剪掉同一個模型,但變瘦了
Quantization 量化把參數的數值精度降低,例如從 16 位元降到 4 位元同一個模型,但每個數字變輕了

三者常常一起用。先蒸餾出小模型,再做 剪枝量化,最後才塞進手機或邊緣裝置。

實際用例

同一個模型家族常會推出旗艦版與輕量版,輕量版多半就是走蒸餾這條路。前者留在雲端負責難題,後者放進 App 負責即時反應。

對一般使用者來說,蒸餾的價值很直接:離線可用、回應更快、電池更耐,隱私敏感的資料也不必離開你的裝置。

常見誤解常見誤解是以為蒸餾就是「把模型檔案壓縮一下」。它其實是一次完整的重新訓練,需要教師模型、訓練資料與算力,成本並不低。真正省下來的是之後每一次推理的成本,這才是它划算的地方。也別預期蒸餾後的 小模型 能全面取代大模型,它換來的是特定任務上的性價比。
本文源起本文內容出自酒Ann 的「AI 實戰陪跑班」課程教材,由酒Ann 編寫成彙編條目。想系統性搞懂 AI 名詞,歡迎追蹤 酒Ann 的 Facebook

延伸學習

把這篇文章分享給需要的人FacebookLINEThreadsX

常見問答

蒸餾出來的小模型會比大模型差嗎?
在綜合能力上通常會差一些,但在特定任務上可以很接近。實務上換來的是推理速度大幅提升、部署成本大幅下降,以及可以放進手機或離線裝置的能力。
知識蒸餾和微調是同一件事嗎?
不是。微調是拿現成模型接著訓練,讓它更懂某個領域;蒸餾是用大模型的輸出當教材,去訓練另一個結構更小的模型,重點在把模型變小變快。
什麼情況適合用蒸餾?
當你需要低延遲、離線可用、成本壓得很低的場景,例如行動裝置助理、即時翻譯、影像分類、推薦系統,蒸餾都是常見選擇。