AI LAB / KEYWORD DICTIONARY

基礎知識

Knowledge Distillation(知識蒸留)とは?

知識蒸留は、大規模で計算負荷の高い教師モデルの知識を、より小さな生徒モデルの学習に移し、軽量なモデルの性能向上を目指す手法です。

仕組みと使いどころ

知識蒸留では、強力な単一モデルや複数モデルの集合を教師とし、その予測に含まれる情報を利用して生徒モデルを訓練します。複数の大規模モデルをそのまま使う方法は推論時の計算負荷が高くなりやすいため、知識を一つの小型モデルへ移すことで、低性能な機器への配置や、より高速で効率的な評価を可能にすることが目的です。ただし、蒸留は教師モデルの能力を完全に再現することを保証するものではありません。得られる性能は教師と生徒の構成や学習結果に左右されるため、用途に必要な精度を個別に確認する必要があります。

Knowledge Distillationの活用例

たとえば、こんな場面で

高性能な大規模モデルを教師として、モバイル端末やドローンで動かしやすい小型モデルを訓練する用途が考えられます。また、複数モデルの予測を一つのモデルへ集約し、配備時の計算負荷を抑える目的にも利用できます。

使うときのポイント

教師モデルと生徒モデルの性能だけでなく、蒸留後のモデルが対象環境で必要な精度、速度、計算資源の条件を満たすかを実測して確認します。

参考資料

Distilling the Knowledge in a Neural Network (新しいタブで開きます)Knowledge Distillation Tutorial — PyTorch Tutorials 2.15.0+cu132 documentation (新しいタブで開きます)

用語の説明や活用例に関連する参考資料です。

READ & LEARN

用語を知ったら、活用を知る。

AI LABで、AIの動向や業務に取り入れるヒントを読む。

記事一覧を見る