1. 定義と概要
蒸留(知識蒸留、Knowledge Distillation)とは、性能は高いが計算量の大きい教師モデルの出力を、より小さく軽量な生徒モデルに学習させることで、教師の持つ知識を生徒に引き継がせる手法です。
生徒モデルは、正解ラベルであるハードターゲット(正解が1つだけ0か1で決まる、通常の正解ラベル)だけでなく、教師モデルが出力する確率分布も学習に使います。この確率分布はソフトターゲット(教師モデルが出力する、各クラスの確率をなめらかに表した値)と呼ばれ、これを模倣するよう学習する点が蒸留の核心です。正解ラベルのみで学習するより高い性能を得やすくなります。
代表例として、自然言語処理(人間の言葉をコンピュータに処理させる技術)の分野では、BERT(文章の意味を文脈ごと理解する代表的なモデル)を軽量化したDistilBERT(蒸留で作られた軽量モデルの代表例)が挙げられます。
高精度なディープラーニングモデルは一般にパラメータ数が大きく、スマートフォンや組み込み機器のように計算資源が限られる環境では、そのまま動かすことが難しいという課題があります。
この課題に対し、2015年にジェフリー・ヒントンらが論文『Distilling the Knowledge in a Neural Network』を発表しました。この論文では、大きなモデルである教師が出力する確率分布を、小さなモデルである生徒に学習させる蒸留が提案されています。
正解ラベルだけを学習するより、教師の確率分布に含まれる情報を利用したほうが生徒モデルは高い性能を達成しやすいことが示されました。以後、量子化(パラメータの数値精度を落とす手法)や枝刈り(重要度の低い接続やニューロンを削除する手法)と並ぶモデル軽量化の代表手法として普及しています。
2. 試験対策ポイント
モデル軽量化の3手法である量子化・枝刈り・蒸留のうち、蒸留は数値精度を落とす量子化や不要な接続を削除する枝刈りとは異なり、大きな教師モデルの出力を小さな生徒モデルに学習させて知識を継承させる手法として位置づけられます。この違いは重要な論点です。
蒸留の核心は、生徒モデルの学習に正解ラベルだけでなく、教師モデルが出力する確率分布であるソフトターゲットを用いる点にあります。ソフトターゲットには、クラス間の類似度など正解ラベルだけでは伝わらない情報であるダークナレッジ(正解ラベルだけでは伝わらない、クラス間の似ている度合いなどの情報)が含まれています。
生徒モデルが学ぶ2種類の信号を対応させると、次のように整理できます。
| 生徒モデルが学ぶ信号 | 中身 | そこから伝わる情報 |
|---|---|---|
| ハードターゲット | 正解ラベル | 正解のクラスがどれか |
| ソフトターゲット | 教師モデルが出力する確率分布 | クラス間の類似度などのダークナレッジ |
ソフトターゲットを生成する際には、softmax関数(複数の数値を、合計が1になる確率のような値に変換する関数)に温度パラメータ(softmax関数の出力のなめらかさを調整する数値。上げるほど確率分布が均一に近づく)を導入し、確率分布を滑らかにします。温度を上げるほど分布は均一に近づき、教師モデルの判断の機微が生徒モデルへ伝わりやすくなる関係にあります。
教材では、2015年にジェフリー・ヒントンらが発表した論文が蒸留の提案元として扱われるほか、BERTを軽量化したDistilBERTが代表的な実装例として紹介されます。
あわせて、蒸留と転移学習(あるタスクで学習した知識を、別のタスクに活用する手法)・ファインチューニング(学習済みモデルを、追加のデータで手直しして特定の用途に合わせる手法)の違いも重要な論点です。両者は、同一タスクでのモデル圧縮か、別タスクへの知識転用かという点で区別されます。
3. 関連概念との比較・相違点
量子化・枝刈りとの最大の違いは、軽量化の仕組みそのものにあります。蒸留は大きなモデルの知識を小さなモデルに学習で継承させる手法であるのに対し、量子化はパラメータの数値精度を落とす手法、枝刈りは重要度の低い接続やニューロンを削除する手法という違いがあります。
3手法が「モデルのどこに手を入れるのか」を並べると、違いが見えやすくなります。
| 手法 | 軽量化の仕組み |
|---|---|
| 蒸留 | 大きな教師モデルの知識を、学習を通じて小さな生徒モデルへ継承させる |
| 量子化 | パラメータの数値精度を落とす |
| 枝刈り | 重要度の低い接続やニューロンを削除する |
3つの手法はそれぞれ狙いが異なるため、精度をどこまで保ちたいか、どの程度まで軽量化したいかに応じて使い分けられます。また互いに排他的ではなく、量子化した生徒モデルを蒸留でさらに調整するなど、組み合わせて使われることもあります。
転移学習・ファインチューニングとの最大の違いは、目的の違いにあります。転移学習・ファインチューニングは学習済みモデルの知識を別タスクや追加データに適応させる手法であるのに対し、蒸留は同じタスクのままモデルサイズを圧縮する手法です。
前者はタスクを変えて知識を活かす手法、後者はタスクを変えずにモデルを軽くする手法という位置づけの違いになります。この目的の違いを同一視する記述は、取り違えやすい点として知られています。
4. ビジネス・実務での活用シナリオ
モバイル・音声アシスタントの分野では、スマートスピーカーやスマートフォンの音声認識・自然言語理解に、蒸留で軽量化したモデルを搭載する事例があります。通信を介さないオンデバイス処理によって応答が高速化し、電波の届きにくい環境でも安定して動作します。
カスタマーサポートの分野では、大規模言語モデル(膨大なテキストで学習した、文章生成や対話が得意な大きなモデル)を教師モデルとして蒸留した軽量な応答モデルを、チャットボット(文字での会話に自動で応答するプログラム)に採用する事例があります。同等の精度を保ちながら大量の問い合わせをリアルタイムに処理できるため、サーバーコストを抑えられます。
クラウドAIサービスの分野では、クラウド事業者が大規模モデルを蒸留した軽量版モデルを提供する事例があります。精度を維持しつつ推論(学習済みモデルを使って答えを出す処理)コストを下げた料金プランを用意することで、企業が導入するハードルが下がります。
5. 要点まとめ
- 蒸留は、大きな教師モデルの出力(ソフトターゲット)を小さな生徒モデルに学習させ、知識を引き継がせる手法という点が核心です。
- 教師モデルの確率分布を滑らかにする温度パラメータや、正解ラベルだけでは伝わらない情報(ダークナレッジ)とあわせて整理できます。
- 量子化・枝刈りとは軽量化の仕組みが異なり、転移学習・ファインチューニングとは目的(モデル圧縮か知識の転用か)が異なる点が対比の軸になります。
6. 確認問題
問1蒸留では、生徒モデルの学習に正解ラベルだけでなく、教師モデルが出力する確率分布(ソフトターゲット)が用いられる。
解答・解説をみる
○ 正しい
ソフトターゲットには、クラス間の類似度など正解ラベルだけでは伝わらない情報(ダークナレッジ)が含まれ、これが蒸留の核心です。
問2softmax関数に導入する温度パラメータを上げるほど、教師モデルの出力する確率分布は均一に近づき、生徒モデルへ判断の機微を伝えやすくなる。
解答・解説をみる
○ 正しい
温度を上げると分布が滑らかになり、正解以外のクラスに対する確率の大小関係(ダークナレッジ)が生徒モデルに伝わりやすくなります。
問3蒸留と転移学習は同じ概念であり、蒸留は学習済みモデルの知識を別のタスクへ転用する手法である。
解答・解説をみる
× 誤り
正しくは、蒸留は同じタスクのままモデルサイズを圧縮する手法であり、別タスクへ知識を転用する転移学習・ファインチューニングとは目的が異なります。両者を同一視する記述は取り違えやすい点として知られています。

