當大型語言模型(Large Language Model,LLM)能力愈來愈強,企業卻常遇到另一個問題:模型太大,部署成本、延遲與硬體需求都不容易負擔。AI 模型蒸餾提供一條思路:讓一個已訓練好的「教師模型」示範,讓另一個「學生模型」學會相近的判斷方式。它不是把檔案直接縮小,也不保證學生永遠等同教師,而是一種訓練模型的方法。 一、AI 模型蒸餾是什麼? 知識蒸餾(Knowledge Distillation)在 Hinton 等人的經典論文中,重點是把多個模型集成後的預測知識,壓縮到一個較容易部署的模型中。今天的做法通常是先準備能力較強的 teacher,再訓練 student。學生可以是較小、較快的模型,但「較小」是常見取向,不是蒸餾的必要條件。 蒸餾的「知識」也不等於教師的全部內部權重。實務上可使用教師答案、分類機率、logits(輸出層尚未轉成機率的分數)、中間特徵,或教師產生的推理示範來監督學生;不同方法取用的資訊不同。 原創 AI 概念插圖:學生向教師示範學習,結果仍須獨立檢查;非真實數據圖。 二、teacher 和 student 怎樣學習? 一個直觀流程是:把相同問題送進教師與學生,教師產生答案或一組機率分布;訓練時,學生可以一方面對照標準答案,另一方面也對照教師的輸出,將兩種誤差合併成損失函數。NVIDIA NeMo 的蒸餾文件描述的 logits 蒸餾,便是教師與學生都做前向運算,但反向更新只發生在學生,最後保存學生模型。這是其中一類做法,不表示所有蒸餾都必須同時執行兩個模型。 為什麼不只看「答對或答錯」?因為機率分布能透露類別之間的相對關係。例如教師不是只說答案是 A,也可能給 A 0.70、B 0.25、C 0.05;這只是示意數字,不是實測結果。這些訊號能補充資料標籤的判斷線索。文字模型也可透過 token 分數、回答、格式示範或推理步驟傳遞訊息。溫度等設定可調整機率分布,但效果仍要以任務測試確認。 三、蒸餾和模型量化差在哪裡? 兩者都可能讓部署更省資源,核心卻不同。AI 模型蒸餾著重「如何學習」:學生接受訓練,模仿教師的行為或特徵。模型量化則著重「數值如何表示」:以較低精度表示權重,有些方法也處理運算中的啟動值,以減少資源需求。 Hugging Face 的量化概覽列出不同低精度表示與方法。從 FP32 降到 FP16、BF16 可降低儲存精度;常見低位元量化則包括 INT8、INT4。它們不是相同的資料型別或轉換方式,不能只看數字就推論速度或品質。 因此,蒸餾不必然改變權重的數值精度,量化也不必然需要教師模型。量化可能在訓練後進行,也可能搭配校準或量化感知訓練;蒸餾則以教師輸出、示範或特徵作為學習訊號。兩者可以組合:先蒸餾出一個適合任務的學生,再量化學生以降低記憶體與推理資源需求,或在量化過程中用教師協助彌補品質損失。 原創 AI 概念插圖:左側比喻向示範學習,右側比喻數值表示精度改變;球體並非模型結構或品質比較數據。 四、什麼情況適合做蒸餾? 當任務相對固定,例如客服分類、文件抽取、內部問答格式化,或產品需要大量重複推理,蒸餾較容易定義資料、評估輸出,也較能接受學生只專注於一組能力。若目標是邊緣裝置、低延遲 API 或受限記憶體環境,小型語言模型可能比通用的大模型更實用。 但不要把「小」直接當成「便宜」。成本包括蒐集資料、產生教師示範、訓練 GPU、評估與維護。若教師服務成本可接受,或任務變化很快,重新訓練學生未必划算;應比較完整流程的總成本、延遲、品質與維運複雜度,而非只看參數量。 五、風險:學生不一定真的等同教師 蒸餾可能把教師的優點帶給學生,也可能帶過錯誤、偏見、過時知識或不穩定回答。教師輸出若缺乏品質檢查,學生可能學會「看起來合理」卻不可靠的答案;只在平均指標上變好,也可能掩蓋少數重要案例退步。因此要保留獨立測試集,檢查事實性、拒答、安全、長尾情境與不同語言表現,並記錄哪些能力沒有被充分保留。蒸餾是近似,不是等價證明。 資料治理同樣重要。若教師輸出來自第三方服務或受限資料,應檢查隱私、著作權、模型授權與供應商條款,包括是否允許以輸出訓練其他模型、建立衍生模型與商業部署;不能因為讓另一模型學習就跳過審查。 六、如何選擇蒸餾、量化或兩者並用? 如果主要瓶頸是模型載入記憶體與推理資源,先評估模型量化。Hugging Face 的量化技術文件說明,較低精度權重與啟動值可降低記憶體和計算需求,但實際效果取決於方法與硬體。如果需要把教師的特定任務能力轉移到另一個模型,則可評估知識蒸餾;單純調整回答風格也有其他微調或提示詞方法,不必直接選蒸餾。 若兩種問題同時存在,可以先做小規模蒸餾與量化實驗,再用同一套任務測試比較。評估不要只問「學生像不像教師」,還要檢查正確性、延遲、敏感資訊洩露,以及教師更新後是否要重蒸餾,才能判斷節省的資源是否值得訓練與品質風險。 常見問題 FAQ 蒸餾是不是把大型語言模型的權重複製給小模型? 不是。學生通常以自己的架構與權重訓練,學習教師的輸出、機率、特徵或示範。若兩者架構不同,直接複製權重更不適用;而且不是每一種蒸餾都會讀取教師的內部權重。 量化後的模型一定會變差嗎? 不一定,但精度降低可能造成能力變化,影響取決於模型、位元數、量化方法、資料與硬體。應以目標任務的實測結果判斷,不應把任何固定的準確率或速度提升當成保證。 先蒸餾再量化一定最好嗎? 沒有通用順序。先蒸餾再量化是一種常見組合,但也可在量化訓練或校準時加入教師訊號。實際選擇要看可用資料、硬體、訓練預算,以及量化後是否仍符合品質與合規要求。