モデル蒸留
モデル蒸留は、大規模で高性能なモデル(「教師」モデル)を使用して、より小さく単純なモデル(「生徒」モデル)を訓練するモデル圧縮技術です。生徒モデルは、真のラベルのみで訓練されるのではなく、教師モデルによって生成された出力確率(「ソフトターゲット」)を模倣するように訓練されます。
現代のAIにおいて、最先端のモデルはしばしば巨大であり、かなりの計算リソース(高いレイテンシ、大きなメモリフットプリント)を必要とします。これにより、携帯電話、IoTセンサー、またはリアルタイムのエッジコンピューティング環境などのリソース制約のあるデバイス上でのデプロイが困難になります。蒸留により、組織は生徒モデルのサイズと推論時間を劇的に削減しながら、教師モデルの複雑な知識の多くを保持することができます。
その中核的なメカニズムは、「暗黙知(ダークナレッジ)」の転送に関わっています。教師モデルは単なるハードな予測(例:「猫」)だけでなく、すべての可能なクラスに対する確率分布(例:猫90%、犬8%、鳥2%)を生成します。この分布には、モデルの不確実性やクラス間の関係に関するニュアンスのある情報が含まれています。その後、生徒モデルは、2つのコンポーネントからなる複合損失関数を使用して訓練されます。1つ目のコンポーネントは、その予測と真のラベル(ハードターゲット)との差を最小化し、2つ目のコンポーネントは、その予測と教師モデルのソフトターゲットとの差を最小化します。