モデル蒸留 もでるじょうりゅう
モデル蒸留Knowledge Distillation教師モデル生徒モデル軽量化小型モデル
モデル蒸留について教えて
簡単に言うとこんな感じ!
ベテラン教師(大きなAI)の知識を新米生徒(小さなAI)に教え込む手法だよ!「先生の答えだけでなく、迷い方(確率分布)まで真似させる」から、効率よく知識が移せるんだ。スマホで動く小型モデルを作るときなどに使われるよ!
モデル蒸留とは
モデル蒸留(Knowledge Distillation) とは、大きくて高性能な「教師モデル(Teacher)」の知識を、小さくて軽量な「生徒モデル(Student)」に転移させる学習手法です。2015年にHinton et al.が提案しました。
単純に元データで小モデルを学習させるより、教師モデルの「ソフトラベル」(各クラスに対する確率分布) を学習目標に使うことで、より効率的に知識が転移します。例えば「この画像は猫(90%)、犬(9%)、ウサギ(1%)」という情報は、「正解は猫」という単純なラベルより豊かな情報を含んでいます。LLMでは「GPT-4の出力を教師データとして、小型モデルを学習させる」形での蒸留が広く行われています。
蒸留のメリット・デメリット
| 観点 | メリット | デメリット |
|---|---|---|
| サイズ | 元より10〜100倍小さいモデルが作れる | 教師モデルの100%の性能は出ない |
| 速度 | 推論が大幅に高速化 | 蒸留の学習自体にコストがかかる |
| コスト | APIより自社運用が安くなる可能性 | 教師モデルへのアクセスが必要 |
| プライバシー | オンプレ運用が可能に | 蒸留データの著作権・利用規約に注意 |
歴史と背景
- 2006年:Bucilua et al.が大きなモデルから小さなモデルへの知識転移を提案
- 2015年:Hinton et al.が「Knowledge Distillation」を体系化
- 2019年:DistilBERT(BERTの蒸留版)が40%小さく60%速くなることを実証
- 2023年:Alpaca・Vicunaがllama + GPT-4蒸留で高性能を達成
- 現在:DeepSeek-R1がo1の蒸留データで高性能モデルを公開し注目
蒸留の種類
1. レスポンス蒸留(最もシンプル)
教師モデルの出力テキストで生徒モデルを学習
例: GPT-4の回答でLLaMA 7Bをファインチューニング
2. 特徴量蒸留
教師モデルの中間層の出力(特徴ベクトル)も学習目標に
3. 関係性蒸留
データ間の関係パターンを生徒モデルに転移
4. オンライン蒸留
教師と生徒が同時に学習(相互学習)
関連用語
- スケーリング則 — 蒸留で小型モデルが大型モデルの性能に近づける関係
- 量子化 — 蒸留と組み合わせてさらに小型・高速化する手法
- SFT — 蒸留の学習に使われるファインチューニング手法
- 事前学習 — 蒸留の教師モデルが経る大規模学習フェーズ