蒸留
AIによる要約
>LLM(大規模言語モデル)や画像生成AIにおける「蒸留」(Distillation)は、大規模で複雑なモデル(教師モデル)の知識を、より小さく効率的なモデル(生徒モデル)に転移するプロセスです。これにより、計算リソースやメモリ使用量を削減しつつ、同等かそれに近い性能を維持することが可能になります。
> 効率化: 大規模モデルは計算コストが高く、推論速度も遅いため、蒸留により軽量化し、実用性を高めます。
> デプロイの容易さ: 小型化されたモデルは、モバイルデバイスやエッジデバイスでの実行が容易です。
> 知識の転移: 教師モデルの持つ複雑な知識を生徒モデルに継承させます。
> 教師モデルの出力(ソフトラベル)を生徒モデルの学習目標とします。
> ソフトラベルは確率分布であり、教師モデルの「不確実性」や「関連性」を含むため、生徒モデルがより汎用的な知識を獲得できます。
> 教師モデルの中間層の特徴量を生徒モデルに転移します。
> 画像生成AIなどで特に有効で、教師モデルの表現力を生徒モデルに継承させます。
> 同じモデル内で蒸留を行い、モデルの性能をさらに向上させます。
> LLM: GPTやBERTなどの大規模モデルを蒸留し、小型化したモデル(例: DistilBERT)を生成。
> 画像生成AI: StyleGANやStable Diffusionなどのモデルを蒸留し、軽量化してリアルタイム生成を可能にします。
> 利点: 計算リソースの削減、推論速度の向上、デプロイの容易さ。
> 課題: 蒸留により性能が若干低下する場合があり、教師モデルの品質に依存します。
> 蒸留は、AIモデルの効率化と実用化において重要な技術です。
解説に書いてあるが、蒸留と一言で言っても「出力を利用したもの」(一時期研究目的名義でGPT-4の出力とか取り込んだのはこれ)、「特徴量」という内部的なパラメーターを移植する感じのもの(これはオープンモデルでないと不可能)など手法は色々ある。
現時点で画像生成AIとLLMではやや異なった目的で使われることが多いのでちょっとだけ補足

LLMではほぼ説明通り「大きなモデルの知識やノウハウ(例えば話題の
Reasoning Modelの能力など)を小型モデルに転移する」ことで家庭で動くレベルのモデルで高度なreasoningをできるようにしたりする。
速度とサイズの両方メリットが有る一方で、根本的な知力が上がってるわけではないので抽象的な質問には視点の広さが足りない回答になったりと言った弱点もでてくることがあるなど、どうしても性能は教師モデルに及ばない形になる。
質問者自体が見落としてるような(もしくは意図的に伏せてる)内容を自力でreasoning能力を持つモデルは見抜いて考慮した回答をしてくるが、蒸留モデルはそういった配慮は難しいようだ。
こちらはモデルサイズが変わらないためか、性能面では大きな劣化は見られづらい。…が、別の問題として「追加学習が非常に難しくなる」「
Negative Promptが効かない(効きづらい)状態になる」など、どちらかというと制御・カスタマイズの自由度と言ったところが犠牲になりがちになる。