ニューラルネットワークの各入力に対して一部のエキスパートモジュールのみを選択的に活性化するアーキテクチャ。全パラメータを使わず疎(Sparse)に計算することで、モデル容量を大幅に拡大しつつ推論コストを抑える設計思想。
Sparse Mixture of Experts(Sparse MoE)は、Transformer ブロック内の FFN(Feed-Forward Network)層を複数の「エキスパート」ネットワークに分割し、各トークンに対してルーティング関数が選んだ少数のエキスパートだけを活性化するアーキテクチャです。Dense モデルが全パラメータで計算するのに対し、Sparse MoE は入力ごとに異なるサブセットを使うため、総パラメータ数を数倍〜数十倍に拡張しても 1 トークンあたりの計算量(FLOPs)を一定に保てます。
Dense Transformer では、トークンが FFN 層を通過するとき全ニューロンが計算に参加します。たとえば 70B パラメータの Dense モデルでは、毎トークン 70B 分の行列演算が走ります。一方 Sparse MoE では、総パラメータが 140B であっても Top-2 ルーティングなら 1 トークンあたり約 40B 分の FLOPs で済みます。
| 比較項目 | Dense モデル | Sparse MoE |
|---|---|---|
| 活性パラメータ | 全パラメータ | 総パラメータの一部(例: 1/8〜1/4) |
| スケーリング | パラメータ増 = FLOPs 増 | パラメータ増 ≠ FLOPs 増 |
| メモリ要件 | 活性パラメータ = 総パラメータ | 全エキスパートをメモリに保持する必要 |
| 代表例 | GPT-4o, Llama 3 | Mixtral 8x7B, DeepSeek-V3 |
この特性から、同じ推論コストで Dense モデルより高い性能を実現できるのが Sparse MoE の最大の利点です。
MoE の概念自体は 1991 年の Jacobs らの論文に遡りますが、大規模言語モデルへの適用が注目されたのは 2017 年の Shazeer らによる「Outrageously Large Neural Networks」論文以降です。Google の Switch Transformer(2021年)が Top-1 ルーティングで 1.6 兆パラメータを実現し、実用性を証明しました。
2023年以降は Mixtral 8x7B がオープンソースで Sparse MoE の有効性を示し、DeepSeek-V2/V3 が DeepSeekMoE アーキテクチャで共有エキスパート+ファイングレインド分割を導入。2024〜2025年にかけて Snowflake Arctic、DBRX、Grok-1 など商用モデルも MoE を採用し、主流アーキテクチャの一つとなりました。
Sparse MoE ブロックは主に 3 つのコンポーネントで構成されます。
ゲーティングネットワーク(Router): 入力トークンの隠れ表現を受け取り、各エキスパートに対するスコア(ルーティング確率)を算出します。通常は線形変換 + Softmax で実装され、Top-K 選択でアクティブなエキスパートを決定します。
エキスパートネットワーク: 各エキスパートは独立した FFN(通常 2〜3 層の MLP)です。アーキテクチャは同一でも重みは異なり、学習を通じて異なる入力パターンに特化(Specialization)していきます。
結合層: 選択されたエキスパートの出力を、ゲーティングスコアで重み付き平均して最終出力を生成します。数式的には output = Σ(g_i × E_i(x)) で、g_i はゲーティング重み、E_i は i 番目のエキスパートの出力です。
Sparse MoE モデルはパラメータ総数が大きいため VRAM 要件が高くなります。Mixtral 8x7B は約 47B の総パラメータを持ち、FP16 で約 94GB の VRAM が必要です。ただし GGUF 量子化(Q4_K_M)により約 26GB まで圧縮でき、RTX 4090(24GB)+ RAM オフロードで動作可能です。
推論時の活性パラメータは約 13B 相当なので、トークン生成速度は同サイズの Dense モデルと遜色ありません。ただしエキスパート切り替えのオーバーヘッドとメモリ帯域がボトルネックになることがあり、NVMe SSD へのオフロード時は顕著に速度低下します。
A1: 同じ FLOPs 予算では一般に Sparse MoE が高性能ですが、メモリ使用量が大きく、ルーティングの不均衡による学習不安定のリスクがあります。用途やハードウェア制約によって最適解は異なります。
A2: エキスパート数を増やすとモデル容量は拡大しますが、各エキスパートが受け取るトークン数が減り学習効率が低下します。また通信コストも増大するため、8〜64 程度が実用的な範囲とされています。DeepSeek-V3 は 256 エキスパートを採用していますが、共有エキスパートとファイングレインド分割で効率を確保しています。
A3: GGUF 量子化により Mixtral 8x7B を RTX 4090 + 64GB RAM で実行できます。Ollama や LM Studio で直接ロード可能です。ただし VRAM に全エキスパートが載らない場合は CPU オフロードで速度が低下します。