LLM最適化・軽量化

モデル蒸留 もでるじょうりゅう

モデル蒸留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. オンライン蒸留
   教師と生徒が同時に学習(相互学習)

関連用語