知識蒸留(Knowledge Distillation)

チシキジョウリュウ

知識蒸留(Knowledge Distillation)

大規模な教師モデルの知識を小規模な生徒モデルに転移させ、軽量かつ高精度なモデルを作成する手法。

知識蒸留とは

知識蒸留(Knowledge Distillation)とは、大規模な「教師モデル」の出力分布を学習データとして、小規模な「生徒モデル」を訓練する手法である。生徒モデルは教師モデルの推論パターンを模倣することで、パラメータ数を大幅に削減しながら高い精度を維持できる。

なぜ蒸留が必要か

数百億パラメータの LLM をそのまま本番環境に載せると、GPU コストとレイテンシが事業の制約になる。かといってゼロから小型モデルを訓練すると、大型モデルほどの精度は出にくい。蒸留はこの矛盾を解く実用的なアプローチだ。

たとえば Microsoft の Phi シリーズは、大型モデルが生成した合成データで小型モデルを蒸留し、SLM(Small Language Model)でありながら大型モデルに迫る性能を達成している。

ファインチューニングとの違い

ファインチューニングは既存モデルの重みを調整してタスクに特化させる手法であり、モデルサイズは変わらない。蒸留はモデルサイズ自体を小さくする点が異なる。実務ではまず蒸留で小型化し、その後 LoRA 等で業務ドメインに適応させるパイプラインが一般的になりつつある。

蒸留の限界

教師モデルが苦手なタスクは生徒モデルも苦手になる。また、教師モデルの出力を大量に生成する必要があるため、蒸留プロセス自体の計算コストは軽視できない。