About

知識蒸留とは?大きなモデルの知識を小さなモデルに移す方法

Teacherの出力分布をStudentが真似て学ぶ

Knowledge DistillationはHintonが2015年に提案した技法です。核心的アイデアは、Teacherモデルの「soft label」(確率分布)には正解以外にも各クラス間の関係情報が含まれているということです。例えば猫の画像でTeacherが「猫90%、トラ8%、犬2%」と出力すれば、「猫とトラは似ている」という情報が含まれます。Studentモデルはこのsoft labelを学習してTeacherの「Dark Knowledge」を吸収します。LLMではGPT-4の応答で小型モデルを学習させる方式が代表的で、Phi-3、Orca等がこの技法で作られました。

キーコンセプト

1

Teacherモデル(大型)をまず学習完了

2

学習データに対するTeacherの出力確率分布(soft label)を収集

3

Temperature(τ)パラメータで確率分布を滑らかに(soften) — 情報伝達を最大化

4

Studentモデル(小型)がsoft labelとhard label(正解)の両方から学習

5

Distillation Loss: KL-Divergence(Student output, Teacher soft label)

6

StudentがTeacherの推論パターン(Dark Knowledge)を吸収

メリット

  • ✓ 小型モデルが大型モデルに近い性能
  • ✓ 推論コスト/遅延の大幅削減
  • ✓ モバイル/Edgeデプロイが可能
  • ✓ Teacherの「Dark Knowledge」を伝達

デメリット

  • ✗ Teacherモデル比で性能上限が存在
  • ✗ 良いTeacherが前提条件
  • ✗ Temperatureチューニングが必要
  • ✗ APIプロバイダーのToS違反の可能性(GPT-4出力で学習)

ユースケース

GPT-4 → Phi-3(Microsoft小型モデル) Gemini → Gemma(Googleオープンソース) Claude → 小型専門モデル BERT → TinyBERT / DistilBERT LLM APIコスト削減用小型モデル
← 量子化(Quantization)とは?重みを低精度にしてモデルを軽くする MoEとは?一部の専門家だけ動かして大きなモデルを安く回す仕組み →