【ちしきじょうりゅう】

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

💡 大きなAIの「エッセンス」を小さなAIに凝縮する技術
📌 このページのポイント
Layer 1 Layer 2 Layer 3 Layer 4 教師モデル(大) ソフトラベル 確率分布 0.7 0.2 0.1 暗黙の知識を 含む分布 学習 Layer 1 Layer 2 生徒モデル(小) 圧縮: 精度を保ちながらモデルを小型化
知識蒸留の仕組み
ひよこ ひよこ

知識蒸留ってなんで必要なの?

ペンギン先生 ペンギン先生

GPTのような大きなモデルは高精度だけど、動かすのに巨大なGPUが必要でコストも高いんだ。でもスマホアプリや組み込み機器でAIを使いたい場面はたくさんある。そこで大きなモデルの「賢さ」を小さなモデルに移し替える知識蒸留が活躍するんだよ。

ひよこ ひよこ

どうやって知識を移すの?

ペンギン先生 ペンギン先生

面白い仕組みなんだ。普通の学習では「正解は猫」という0か1の情報で学ぶけど、蒸留では教師モデルの出力する「猫80%、トラ15%、ライオン5%」という確率分布をそのまま学ぶんだ。「猫とトラは似ている」という関係性まで学べるから、小さなモデルでも賢くなれるんだよ。

ひよこ ひよこ

どれくらい小さくできるの?

ペンギン先生 ペンギン先生

タスクにもよるけど、モデルサイズを10分の1以下にしても元の精度の90%以上を維持できることもあるよ。DistilBERTという有名な例では、BERTの60%のサイズで97%の性能を達成しているんだ。

ひよこ ひよこ

蒸留されたモデルって実際にどこで使われてるの?

ペンギン先生 ペンギン先生

身近なところだとスマホの音声認識キーボードの予測変換だよ。サーバーの大きなモデルで「教師」を作って、端末用に蒸留した「生徒」を配布する。他にもWhisperの軽量版やLLMの小型版(Phi-3など)も蒸留の考え方を活用しているよ。

ひよこ ひよこ

蒸留と量子化って何が違うの?

ペンギン先生 ペンギン先生

アプローチが全然違うんだ。蒸留は大きなモデルの知識を小さなモデルに移す(アーキテクチャ自体が変わる)。量子化は同じモデルの数値精度を落とす(32bit浮動小数点を8bitや4bitに圧縮する)。実務では蒸留で小さなモデルを作り、さらに量子化で圧縮するという二段構えが最強の組み合わせ。両方を適用するとモデルサイズが100分の1以下になることもあるよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「知識蒸留」って出てきたら「大きなAIの知識を小さなAIにギュッと詰め込む技術のことだな」と思えればだいたいOK!
📖 おまけ:英語の意味
「Knowledge Distillation」 = 知識の蒸留
💬 蒸留は液体を蒸発させて純粋な成分を取り出す化学プロセス。大きなモデルから本質的な知識だけを抽出するイメージだよ
← 用語集にもどる