FrankenMoEs
概要だけ翻訳抜粋
Arcee のMergeKitライブラリのおかげで、事前トレーニング済みのモデルをいくつか組み合わせて MoE を作成する新しい方法が実現しました。これらは、事前トレーニング済みの MoE と区別するために、フランケン MoEまたはMoErgeと呼ばれることがよくあります。 真の MoE vs. FrankenMoEs
真の MoE とフランケン MoE の主な違いは、トレーニング方法です。真の MoE の場合、エキスパートとルーターは共同でトレーニングされます。フランケン MoE の場合、既存のモデルをアップサイクルし、その後ルーターを初期化します。 FrankenMoE は有望ではありますが、まだ実験段階のアプローチです。VRAM の需要が高く、推論速度が遅いなどのトレードオフがあるため、SLERP や DARE TIES などのより単純なマージ手法に対する利点を見極めるのは難しいかもしれません。特に、2 人のエキスパートだけで FrankenMoE を使用する場合、2 つのモデルを単純にマージした場合ほどのパフォーマンスは得られない可能性があります。ただし、Beyonder-4x7B-v3 で実証されているように、FrankenMoE は知識の保存に優れているため、より強力なモデルを作成できます。適切なハードウェアを使用すれば、これらの欠点を効果的に軽減できます。
(LLMにコード突っ込ませて調べた感じ)現在のmergekitでの実装では単純なトークン単位でのルーティング振り分けしかできないのでモデル間の連携はほぼできないようだ。morisoba65536.icon
ただ、理論上はルーティングを小型モデルなどにして各種専門家を仲介するような形にすればある程度限定的ながら独立専門家+ルーティングモデルのMoEを作ることは可能っぽい…?(専門家を量子化&凍結してルーティングを学習すればご家庭のPCでも理論上可能かもしれない…)morisoba65536.icon
上記は小型モデルが「別にllmのことを指していない事(ゲーティングモデルである)」に留意すれば使えるかも知れない(ゲーティングモデルだけトレーニングして的確に割り振らせるようにすれば良い可能性がある)morisoba65536.icon