詳細解釋
知識蒸餾(Knowledge Distillation)是將大模型(教師)的知識轉移到小模型(學生),使小模型達到接近大模型的性能。
核心思想:
- 軟目標:使用教師的概率分布(軟標籤)
- 黑暗知識:錯誤預測包含相似性信息
- 溫度參數:軟化概率分布,通常2-5
訓練過程:
- 教師模型:已訓練好,參數固定
- 學生模型:更小更簡單的架構
- 損失函數:
- 蒸餾損失:學生與教師軟預測的交叉熵
- 學生損失:與真實標籤的交叉熵
變體:
- 自蒸餾:同一網絡不同層或時間步
- 在線蒸餾:多個學生互相學習
- 零樣本蒸餾:無需原始訓練數據
- 交叉模態蒸餾:教師和學生不同模態
優勢:
- 模型壓縮:小模型達到大模型80-95%性能
- 推理加速:更小的模型推理更快
- 部署友好:適合資源受限環境
- 隱私保護:學生不直接接觸敏感數據
應用:
- BERT蒸餾:DistilBERT、TinyBERT、MobileBERT
- 圖像分類:MobileNet系列
- 自動駕駛:大模型知識轉移到車載模型
- 移動應用:在手機上運行高性能AI
知識蒸餾是部署高效AI系統的關鍵技術。