Mixture of Experts(MoE)とは何か、現代のLLMを支えるアーキテクチャは、この概念を単なるAIの流行語としてではなく、実際の判断に結び付けると理解しやすくなります。このAI Tools Radarガイドでは、実務上の考え方、重要なトレードオフ、ツールやワークフローを導入する前に検討すべき問いに焦点を当てます。

Mixture of Experts(MoE)AIは、計算をエキスパートと呼ばれる複数の専門サブネットワークへ分けるニューラルネットワークアーキテクチャです。軽量なゲーティングネットワークが、各入力トークンを処理するエキスパートを選びます。ある瞬間に動くのは少数だけです。この選択的なルーティングが、各トークンですべてのパラメーターを使う従来の密モデルとMoEを分けます。

この設計は、推論コストをはるかに小さなモデルと同程度に保ちながら、総パラメーター数を数千億へ増やせるため普及しました。Mixtral 8x7BとGPT-4の複数の版がこのパターンを採用しています。仕組みを理解すれば、モデル規模と効率に関する主張を評価できます。

要点。 • Mixture of Experts(MoE)AIは、一つの大規模フィードフォワードネットワークを、多数の小規模エキスパートネットワークと、適切な一部を選ぶルーターへ置き換えます。 • スパースな活性化では、固定数のエキスパートだけが各トークンを処理するため、総パラメーターが増えてもトークン当たりの計算量はおおむね一定です。 • Mixtral 8x7Bなどのモデルは、推論時に同程度の有効パラメーターを使いながら、ベンチマークでMoE版が密モデルの基準と同等以上になり得ることを示しています。 • エキスパート間の負荷分散とルーターの安定性に追加手法が必要なため、学習は密モデルより複雑です。 • オープンモデルと独自システムの両方に同じアーキテクチャが使われ、この方法が研究から本番の大規模言語モデルへ移ったことを示しています。

Mixture of Expertsモデルは、エキスパートのサブネットワーク群とゲーティング関数を持ちます。ゲーティング関数はエキスパートと同じ入力を受け取り、エキスパート群に対する確率分布を出力します。スコアが最も高い上位k個のエキスパートだけが入力を受け取り、出力へ寄与します。そのトークンでは、ほかのエキスパートはすべて休止します。

中核的な性質には、モジュール性、スパース性、条件付き計算があります。各エキスパートが異なるデータパターンやタスク種類に特化できるため、モジュール性が生まれます。トークンごとに有効なパラメーターの割合が低く保たれるため、スパース性が生まれます。有効な集合が各トークンで変わるため、条件付き計算になります。

これらの性質がMoEモデルを密Transformerと分けます。密モデルでは、各順伝播ですべての重みが使われます。MoEモデルでは、特定のトークンに対して大半の重みが休止します。その結果、トークン当たりの計算量をほぼ一定に保ちながら、総容量を高められます。

このアーキテクチャは、ルーター、エキスパート群、出力を組み合わせる段階という三つの層に分かれます。

ルーターは小さな線形層または浅いMLPで、入力の隠れ状態をエキスパートのスコアベクトルへ変換します。softmaxがスコアを確率へ変え、その確率に従って上位k個のエキスパートを選びます。エキスパート総数が8個以上でも、kは通常1または2です。

各エキスパートは通常、標準的なTransformerブロック内にある位置ごとのFFNと同じ構造のフィードフォワードネットワークです。各エキスパートは一つの大規模FFNより小さいため、学習時のメモリー予算を超えずに多数を保持できます。異なるエキスパートが異なるデータ分布から勾配を受けることで、学習中に専門化が生まれます。

選ばれたエキスパートの出力へルーターの確率を掛け、合計します。これがMoE層からの最終的な寄与になります。Attentionを含むTransformerブロックの残りは変わりません。

スパースな活性化は、有効パラメーター数を低く保ちます。7BパラメーターのFFNと同じ規模のエキスパートを8個持つモデルも、kが1なら、おおむね7Bモデル相当の計算だけを有効にします。残りのエキスパートはメモリー上に残りますが、そのトークンの行列演算には参加しません。

Mixtral 8x7Bは各層に8個のエキスパートを持ち、トークンごとに2個を有効にします。そのため推論時の有効パラメーター数は12〜13Bの密モデルと同程度ですが、総パラメーター数は46Bを超えます。標準ベンチマークでは、生成時のメモリー帯域幅を少なく抑えながら、複数のカテゴリでLlama 2 70Bを上回ります。

GPT-4は、より多くのエキスパートと高い総パラメーター数を持つMoE設計を使うと広く報じられています。公開情報は限られますが、高い総容量と制御された推論コストを組み合わせるパターンは、同じ原則に合います。GoogleのSwitch TransformerやGLaMなど、ほかの本番システムも、さらに大きな規模で同じ構造を採用しています。

これらのモデルに共通するのは、異なる種類のトークンを異なるエキスパートへ送るよう、ルーターが学習することです。コードのトークンはあるエキスパート群へ、自然言語のトークンは別の群へ送られる可能性があります。この暗黙の専門化が、学習時のサンプル効率を高めます。

オープンウェイトのチャットモデルでは、この設計により、管理可能なコストで長い文脈へ対応できます。有効時のメモリー使用量が密な13Bモデルに近いため、利用者はMixtral 8x7Bをローカルまたは中規模のクラウドGPUで動かせます。社内アシスタントを導入する企業は、配信ハードウェアを比例して増やさず、高い出力品質を得られます。

スケーリング則を研究するグループは、密モデルの学習が非現実的になる規模を総パラメーターが超えても、性能向上が続くかを調べるためにMoEを使います。Switch Transformerに関する論文は、補助的な負荷分散損失を組み合わせれば、1兆を超えるパラメーターを持つMoEモデルを安定して学習できると示しました。

Mixture of Experts(MoE)AIでよくある質問。

Q:Mixture of Experts(MoE)AIは、同じ総規模の密モデルと比べて、どう推論コストを減らしますか?

A:選ばれたエキスパートだけが行列演算を行います。ルーターのコストは小さく、メモリー帯域幅は総重みではなく有効な重みで決まります。そのため生成速度は、有効なエキスパートの規模に対応します。

Q:Mixture of Experts(MoE)AIには、特別なハードウェアが必要ですか?

A:標準的なGPUで十分です。効率的な推論には、寄与がゼロのエキスパートを飛ばすカーネルが役立ちますが、モデルの重みを読み込めば、アーキテクチャ自体は既存のTransformerランタイム上で動きます。

Q:学習は密Transformerとどう違いますか?

A:ルーターをエキスパートと一緒に学習する必要があります。補助損失がエキスパートの利用を均等に保ちます。これがなければ、一部のエキスパートにはほとんどトークンが届かず、有用な表現を学習できません。

Q:Mixture of Experts(MoE)AIは、密モデルと同じようにファインチューニングできますか?

A:はい。同じ教師ありファインチューニングと選好最適化のパイプラインを適用できます。各例ではルーターと有効なエキスパートだけが勾配を受けるため、逆伝播時のメモリー使用量が減る場合もあります。

Q:ルーターがすべてのトークンを同じエキスパートへ送るとどうなりますか?

A:そのエキスパートが不釣り合いに多くの勾配を受け、ほかは十分に学習されません。一つのエキスパートへの崩壊を防ぐため、事前学習時に負荷分散損失とルーターのジッターを加えます。

実務上の判定基準は、このアプローチが、出典、コスト、失敗モードを見えにくくすることなく、反復可能な作業を改善するかどうかです。代表的なタスクから始め、誤りが重大になる場所には人による確認点を残し、モデルや製品の変化に合わせて結果を見直してください。

編集方針

一次情報、製品ドキュメント、実際の利用シーンをもとに、あなたのワークフローに合うツールかどうかを判断しやすくする記事を作成しています。

ツールディレクトリを見る