【ちしきじょうりゅう】

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

最終更新:
💡 大きな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」 = 知識の蒸留
💬 蒸留は液体を蒸発させて純粋な成分を取り出す化学プロセス。大きなモデルから本質的な知識だけを抽出するイメージだよ
← 用語集にもどる