MoE(Mixture of Experts)

えむおーいー

MoE(Mixture of Experts)

MoE(Mixture of Experts)とは、モデル内部に複数の「エキスパート」サブネットワークを持ち、入力ごとにその一部だけを活性化させることで、パラメータ総数を増やしつつ推論コストを抑えるアーキテクチャである。

全部使わないから速い

GPT-4やLlama 4のような巨大モデルが、なぜ比較的現実的な速度で推論できるのか。その答えの一つがMoEアーキテクチャだ。

通常のTransformerモデル(Dense model)は、入力トークンが全パラメータを通過する。100Bパラメータのモデルなら、毎回100B個の重みが計算に関与する。MoEでは、たとえばモデル全体が2兆パラメータあっても、1回の推論で実際に使うのは170B程度——残りのエキスパートは「今回は出番なし」とスキップされる。

どのエキスパートを使うかを決めるのが「ゲーティングネットワーク」(ルーター)だ。入力トークンの特徴を見て、最も適切なエキスパートを2〜4個選択する。数学の問題ならロジック系のエキスパートが、翻訳タスクなら言語系のエキスパートが選ばれる、といったイメージで理解できる。

実際に使われているモデル

Meta の Llama 4 は Scout(17B active / 109B total)と Maverick(17B active / 400B total)でこのアーキテクチャを採用した。Google の Gemini シリーズも MoE ベースとされている。Mistral の Mixtral 8x7B は、7Bパラメータのエキスパート8個を束ねた構成で、推論時には2個だけを使う。

共通しているのは「パラメータ総数に対して、推論時のアクティブパラメータが劇的に少ない」という点だ。これにより、モデルの知識容量を維持しつつ推論速度とコストを現実的な範囲に収めている。

Dense model との使い分け

全パラメータを使う Dense model は、小〜中規模ではシンプルで扱いやすい。Fine-tuning もストレートにできる。MoEは大規模モデルでこそ本領を発揮するアーキテクチャで、数十B以下のモデルにはオーバーヘッドが見合わない場合もある。

また、MoEモデルのFine-tuningは全エキスパートに影響を与えないよう注意が必要で、LoRA等のPEFT手法との組み合わせ方にもノウハウが求められる。