知識蒸留(Knowledge Distillation)とは、大きく複雑なモデル(教師モデル)の知識を、小さく軽量なモデル(生徒モデル)に転移させるモデル圧縮手法です。2015年にHintonらによって提案されました。
蒸留の仕組み
教師モデルのソフトマックス出力(ソフトラベル)を生徒モデルの学習目標として使用します。ハードラベル(正解0/1)よりもソフトラベル(確率分布)の方がクラス間の類似性などの「暗黒知識(Dark Knowledge)」を含んでおり、より豊富な情報を伝達できます。
| ひとことで言うと | 大きな教師モデルの判断の仕方を、小さな生徒モデルに教え込む軽量化手法。 |
|---|---|
| どこで使う | スマホ・エッジ端末への搭載、推論コストの削減、応答速度の改善。 |
| 注意点 | 教師モデルの誤りも受け継ぐ。精度は多少落ちる。 |
温度パラメータ
ソフトマックスの温度Tを高くすることで出力分布を「柔らかく」し、クラス間の関係性をより明確に伝えます。温度T=1が通常のソフトマックス、T>1で分布がより均一になります。
1教師モデル大きく高精度
▶
2確率分布を出力「猫70%犬20%」
▶
3生徒が真似する正解+迷い方を学ぶ
▶
4小さくても高精度ゼロから学習より良い
活用場面
モバイルデバイスへのモデルデプロイ、推論速度の高速化、大規模モデル(LLM)の小型化などで広く利用されています。GPT-4からGPT-4-miniへの蒸留なども実例として知られています。