生活分享

知識蒸餾(Knowledge Distillation):讓學生模型學教師

知識蒸餾以教師模型的輸出或中間表示訓練學生模型,常用來降低部署成本或移轉特定能力。本文用文件分類說明硬標籤、軟目標與生成示範的差別,解釋教師的錯誤如何被傳遞,以及學生不一定能複製全部能力。讀完能分清蒸餾、一般微調和量化,並知道怎樣用獨立測試、任務範圍與實際硬體驗證蒸餾是否值得。

更新日期: 閱讀時間約 7 分鐘

大型教師模型把學習訊號傳向較小學生模型,形狀大小不同但保留相關結構
圖片:Mokaair (© Mokaair)

知識蒸餾,英文 Knowledge Distillation,是利用一個教師模型提供的訊號,訓練另一個學生模型的方法。教師可以給出類別機率、生成答案或中間表示,學生學習其中可用的行為。常見目的是讓較小或較容易部署的模型承接特定能力,但教師與學生的大小關係不是定義中不可變的硬規則。

「蒸餾」是比喻,不是把模型內部知識像文件一樣完整搬出來。學生學到多少,取決於教師訊號、訓練資料、學生容量與目標。本篇以 Hinton 等人的原始蒸餾研究和 PyTorch 官方教學為基礎,用虛構文件分類情境說明。例子是教學設計,沒有實測效能,也不宣稱蒸餾後一定保留原模型全部品質。

教師提供的訊號有什麼不同

一般分類標籤可能只告訴模型一份文件屬於「活動公告」。教師的軟目標則可能呈現各類別的相對機率,讓學生看到這份文件也有些像「報名說明」,但不像「裝置清單」。原始蒸餾研究重視這類非最高類別中的資訊,因為它能反映教師學到的相似結構,而不只有最後選中的標籤。

為了讓較小機率的差異更可見,經典方法會使用溫度調整機率分佈,配合對應的訓練目標。這裡的溫度是蒸餾計算的一部分,不能直接等同聊天介面調整文字隨機性的旋鈕。本篇不提供通用最佳數值;應依模型及任務,評估軟目標與真實標籤如何平衡,而不是只模仿教師每一次判斷。

蒸餾不只有分類機率

除了輸出分佈,也可讓學生對齊教師的某些中間表示;語言模型情境則常用教師生成的回答或解題示範作訓練資料。這些方法都屬教師引導學習的範圍,但能取得的訊號不同。只有文字輸出的 API 通常不等於可以取得完整機率分佈或內部表示,因此蒸餾資料的形式會受存取方式限制。

用教師產生資料再做 SFT,可以是一種蒸餾路徑;但 SFT 也能使用人工示範,所以兩者不是同義詞。量化則是在數值表示上降低精度,不需要教師把行為教給學生。區分這些名詞有助於讀懂模型報告:它可能同時蒸餾、與量化,而每一步改善和損失的來源也不同。

代表性資料送入教師取得軟目標或示範,再訓練學生;獨立標註另行檢查學生而不只看是否模仿教師
保留獨立評估,可以辨認教師錯誤是否被傳遞。 · 圖片:Mokaair (© Mokaair)

示範:替文件分類做學生模型

假設教師擅長把社群文件分為活動公告、報名說明與裝置清單,團隊希望在較受限的環境處理相同任務。先收集有權使用的代表性文件,讓教師提供分類訊號,再訓練學生並保留獨立測試資料。預期學生在這個範圍內能做出可靠分類;不能因為教師也會寫文章,就推定這份分類訓練會一併傳授所有寫作能力。

對一份同時含活動介紹和報名流程的文件,教師可能對兩個類別都給出較高機率。學生若只看單一硬標籤,會失去這些模糊資訊;使用軟目標可能有助於學習類別關係。但實際效果仍需要比較,不能把有軟目標當作一定優於其他方法的證明。也要先定義文件允許多標籤,還是必須依業務規則選主類別。

再放入教師容易誤判的文件,例如表格很像裝置清單,內容卻是活動報到名冊。若教師答案錯而未被清理,學生可能把錯誤一起學進去。評估應同時對照獨立標註的正確答案與教師表現,不能只計算學生有多常同意教師。高度模仿可能代表成功移轉,也可能代表成功複製同一個盲點。

小模型省了什麼,沒省什麼

學生模型若架構較小,可能降低權重儲存、推論記憶體與運算需求,適合需要大量重複處理或受限裝置的工作。但實際速度還受硬體、批次、序列長度與推論引擎影響,不能只靠比較推算。教師產生資料與學生訓練本身也有成本,應把前期投入和後續使用量一起計算。

能力通常有範圍。學生可能在常見分類題接近教師,卻在長文件、罕見詞與新類別退步。訓練資料若集中在教師擅長的題目,展示會很漂亮,但實際使用遇到分佈外輸入便可能失敗。應保留拒答、人工轉交或回到較強模型的策略,並驗證觸發條件,而不是只在架構圖上畫一條備援箭頭。

如何檢查一份蒸餾成果

先問教師是誰、提供哪種訊號、資料涵蓋哪些任務,以及學生在哪些獨立測試上通過。若報告只說「使用強大教師」,卻沒有任務範圍和誤差案例,讀者仍無法知道可否用在自己的資料。教師不必完全公開內部權重才能產生文字示範,但資料使用與模型授權條件仍應另行確認,不能因輸出可見就假定任意訓練使用都被允許。

部署驗收要在真正使用的硬體與輸入長度上測量,包含正確率、延遲、記憶體與異常案例。若學生更快但錯誤需要大量人工返工,總體效益未必提高。也要記錄教師版本與資料生成方式,因為教師更新後,新舊示範可能有不同風格和規則,混在一起會改變學生學到的目標。

蒸餾適合被理解成有範圍的能力移轉。它可以把昂貴的訓練或推論能力轉成較容易部署的行為,但不會自動證明學生懂得教師的一切。以獨立答案驗證、保留不知道的情境,再檢視實際部署效益,才能判斷這次蒸餾是否完成了原本目的。若某個任務要求逐字引用來源,還應另外檢查引用功能。學生模仿教師的回答風格,並不保證保留同樣的檢索工具或來源定位能力;模型能力與整套系統功能需要一起驗收。

概念對照;來源查證於 2026 年 9 月。
方法處理重點需要留意
一般 SFT從期望答案學習資料可由人工或模型提供
知識蒸餾從教師訊號學習可能傳遞教師錯誤
量化改變數值表示不等於教師學生訓練

  • 生活分享

    世界模型(World Model)是什麼:讓 AI 預測「接下來會怎樣」

    世界模型指 AI 內部用來預測「這樣做之後會怎樣」的模型,但這個詞至少有三種用法:強化學習代理在想像中練習用的環境模型、LeCun 主張預測抽象表示的架構路線,以及能隨操作即時生成畫面的互動環境。內容用示例說明怎麼在想像中規劃,並列出大型語言模型有沒有世界模型的正反研究,附讀新聞時的檢查問題。

  • 生活分享

    視覺語言模型(VLM)是什麼:讓 AI 讀圖片、再用文字回答

    視覺語言模型(VLM)能同時接收圖片與文字,再用文字回答。內容拆解視覺編碼器、連接層與語言模型三段結構,說明 CLIP、Flamingo、LLaVA 三篇論文各補上哪一塊,並和多模態 AI、文字生圖分清楚;也整理它常犯的錯:數錯數量、搞混位置、說出圖裡沒有的東西,附上讀收據時逐行核對的步驟。

  • 生活分享

    溫度(Temperature)是什麼:AI 回答變化程度的取樣參數

    溫度(temperature)是文字生成時調整取樣的參數,讓模型從下一個 token 的機率分布裡抽得更集中或更分散。用假想的台南早餐示例算出低溫與高溫的差別,說明 top-p 的來源和它與 top-k 的差別,並依官方文件與論文指出:調低溫度不代表更準,設成 0 也不保證每次相同,部分模型還不開放調整。

  • 生活分享

    合成資料(Synthetic Data)是什麼:兩種用途、品質控管與模型崩潰

    合成資料是由演算法或模型產生、模仿真實資料特徵的資料,常見用途有兩種:訓練模型,以及在隱私需求下替代真資料。內容依 Self-Instruct、模型崩潰研究(替換與累積資料的差別)與 NIST、ICO 的隱私文件,說明做法、抽查流程,以及它不能保證的事。

最新旅遊情報攻略

資料來源

生活分享