【ちしきじょうりゅう】

知識蒸留(ナレッジディスティレーション) とは?

最終更新:
💡 大きなAIの「エッセンス」を小さなAIに凝縮する技術

教師モデルの出力などを手本に、生徒モデルを学習させる技術。小さいモデルへの圧縮にも使われるが、精度や軽量化の度合いは学習方法と評価対象によって変わる。

📌 このページのポイント
教師の出力を手本に、生徒を学習教師手本を出す分類の確率例猫 80%トラ 15%ライオン 5%生徒出力に学ぶ確率は説明用の仮の数値小型化や性能維持を目指すどれだけ保てるかは、学習と評価次第
教師の出力確率を生徒の学習に使う分類の例。実際の学習では確率をなだらかにする温度設定や正解ラベルも使えます。知識をそのままコピーして同じ精度を保証する方法ではありません。
ひよこ ひよこ
知識蒸留ってなんで必要なの?
ペンギン先生 ペンギン先生
大きなモデルや複数モデルの組み合わせは、動かすのに多くの計算資源が必要になることがあるよ。その振る舞いを生徒モデルの学習に使い、小さいモデルでも役立つ性能を得るのが蒸留の用途の一つ。ただし生徒が教師と同じ精度になるとは限らないんだ
ひよこ ひよこ
どうやって知識を移すの?
ペンギン先生 ペンギン先生
分類なら、正解クラスだけでなく教師の出力確率も手本にできるよ。例えば「猫80%、トラ15%、ライオン5%」は説明用の仮の数値。候補間の関係も学習材料にするんだ。元論文では温度という設定で確率をなだらかにし、正解ラベルの学習とも組み合わせているよ
ひよこ ひよこ
どれくらい小さくできるの?
ペンギン先生 ペンギン先生
DistilBERT論文では、パラメーター数はBERTの1億1000万から6600万へ約40%減ったよ。GLUE開発セットの平均スコアは79.5に対して77.0で、比率は約97%。これはその論文の評価条件での結果で、どの課題でも性能を97%保てるという意味ではないんだ
ひよこ ひよこ
スマホでも役立つの?
ペンギン先生 ペンギン先生
DistilBERT論文には、蒸留したモデルをiPhone 7 Plusの質問応答アプリで動かす実証例があるよ。小型化は端末での利用を助けるけれど、必要なメモリや速度は機種・実装・処理内容にもよる。蒸留すればどのスマホでも十分速くなるわけではないんだ
ひよこ ひよこ
蒸留と量子化って何が違うの?
ペンギン先生 ペンギン先生
蒸留は教師を手本に生徒を学習させる方法で、量子化は重みなどの数値の表現を少ないビットにする方法だよ。生徒の構造を変える場合もあるけれど、構造変更そのものが蒸留の定義ではない。両方を組み合わせることもでき、圧縮率と精度は実際に評価する必要があるんだ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「知識蒸留」って出てきたら「教師モデルの振る舞いを手本に、生徒モデルを育てる技術」と思えばだいたいOK!
📖 おまけ:英語の意味
「Knowledge Distillation」 = 知識の蒸留
💬 蒸留は成分を分離する操作だよ。AIでは、教師が学んだ振る舞いを生徒の学習に使う比喩で、重みから「純粋な知識」だけを物理的に取り出すわけではないんだ

参考資料

← 用語集にもどる