Mixture of Experts(MoE — エキスパート混合)
Transformer FFN を sparse routed expert に置換し総パラメータと FLOPs/token を分離。Shazeer 2017 から Mixtral・DeepSeek-V3 へ、aux-loss-free と fine-grained が現代設計の柱。
article technology ja Transformer FFN を sparse routed expert に置換し総パラメータと FLOPs/token を分離。Shazeer 2017 から Mixtral・DeepSeek-V3 へ、aux-loss-free と fine-grained が現代設計の柱。Mixture of Experts(MoE — エキスパート混合)
Mixture of Experts (MoE) は Transformer の FFN を 個のエキスパート FFN とルーターで置換し、各トークンが top- のみ活性化することで総パラメータ容量と FLOPs/token を分離する。Shazeer 2017 (arXiv:1701.06538) が現代版を確立、Switch Transformer 2021 が top-1 で簡素化、Mixtral 8×7B (2024-01) が open-weights の分水嶺、DeepSeek-V3 (2024-12) が fine-grained 256 + 補助損失なし負荷分散で open MoE の SOTA を取った。
動機 — なぜ FFN を sparse 化するのか
dense Transformer では位置別 FFN がブロック全パラメータの約 2/3 を占め、容量を増やすと FLOPs/token が線形に増える (詳細は Transformer — tech-35 §FFN・残差接続・正規化の変遷)。Chinchilla 則 (Hoffmann 2022) により dense では計算予算と知識容量が 1 対 1 で結びつくが、MoE はこれを切り知識ストレージを計算量と独立に拡張する。attention 層は dense 共有のまま FFN のみ sparse 化するため KV キャッシュ・全トークン相互参照特性は保たれる。
起源 — 1991 Jacobs/Jordan/Hinton から Shazeer 2017 まで
原型は Jacobs, Jordan, Nowlan & Hinton (1991) “Adaptive Mixtures of Local Experts” (Neural Computation 3(1):79–87) で、エキスパート群とゲートを同時学習し入力空間の部分領域に特化させる発想 (全エキスパート計算の soft gating)。1994 年 Jordan & Jacobs が階層 MoE と EM 学習を、2013 年 Eigen, Ranzato & Sutskever (arXiv:1312.4314) が MoE 層を深層スタックに積む構造を導入。決定的転換点は Shazeer et al. 2017 (arXiv:1701.06538) で、LSTM 層間に top- sparse gating + 双補助損失の MoE 層を挿入し同一計算量で 1000 倍級のパラメータが使えることを実証。
アーキテクチャ — Router・Top-k・Capacity Factor
FFN サブ層を 個のエキスパート FFN と線形ルーターで置換。入力 にルーターが を計算し上位 個のインデックス と重み を取り出し、選択エキスパートのみが forward、出力は
として residual に加算される。アクティブパラメータ = エキスパート + 非エキスパート、総パラメータ = エキスパート + 非エキスパート。Capacity Factor は各エキスパートの 1 バッチ最大処理数を に制限し超過は drop または residual 素通し (〜 が一般的)。Mixtral 8×7B は で active 12.9B / total 46.7B。
ルーティング変種 — Token-Choice / Expert-Choice / Soft MoE
Token-choice top-1 (Switch Transformer): 1 エキスパート選択、最小 FLOPs だが負荷分散が critical で drop も生じやすい。Token-choice top-2 (GShard, GLaM, Mixtral): 2 エキスパートの加重和、バックアップで学習が安定し open-weights 本番標準。Expert-choice routing (Zhou et al. 2022, arXiv:2202.09368): エキスパートがトークンを選ぶ逆向き設計で負荷が構造的に均衡し補助損失不要だが、選ばれないトークンは残差で素通し。Soft MoE (Puigcerver et al. 2023, arXiv:2308.00951): 離散ルーティングを廃止し全トークンの加重混合を各「スロット」が処理、完全微分可能で drop なし、小規模で優位だが LLM 本番採用は限定的。Hash routing はトークン ID/位置の固定ハッシュ割当、学習不要・完全均衡だが意味的特化なしで baseline 用途。
負荷分散の進化 — Aux Loss から DeepSeek の Bias 方式まで
無対策ルーターは rich-get-richer collapse に陥り一部エキスパートに勾配集中、他は飢餓で学習されない。Shazeer 2017 は 2 補助損失 (importance + load) を併用 (〜)。Switch Transformer (arXiv:2101.03961) は単一補助損失 に簡素化。ST-MoE (arXiv:2202.08906) は router z-loss で softmax ロジット爆発を抑え bf16/fp16 の loss spike を抑制、大規模 MoE 安定化に寄与。DeepSeek-V3 (arXiv:2412.19437) は auxiliary-loss-free balancing を導入: ルーティング決定は 、ゲート重みは bias なしの のみ。bias は「過負荷なら減らす、未負荷なら増やす」勾配非経由 heuristic で更新され、負荷分散信号が本損失と干渉しないため最終品質が補助損失方式より向上と報告。
ランドマークモデル年表
| 年 | モデル | 総 / アクティブ | E | top-k | 出典 |
|---|---|---|---|---|---|
| 2017 | Shazeer MoE-LSTM | 137B / — | 2048 (小) | 4 | arXiv:1701.06538 |
| 2020 | GShard (Google) | 600B / — | 2048 | 2 | arXiv:2006.16668 |
| 2021 | Switch Transformer | 1.6T / — | 〜2048 | 1 | arXiv:2101.03961 |
| 2021 | GLaM (Google) | 1.2T / 97B | 64 | 2 | arXiv:2112.06905 |
| 2022 | ST-MoE-32B | 32B / — | 32 | 2 | arXiv:2202.08906 |
| 2024-01 | Mixtral 8×7B (Mistral) | 46.7B / 12.9B | 8 | 2 | arXiv:2401.04088 |
| 2024-05 | DeepSeek-V2 | 236B / 21B | 160 + 2 共有 | 8 | arXiv:2405.04434 |
| 2024-12 | DeepSeek-V3 | 671B / 37B | 256 + 1 共有 | 9 | arXiv:2412.19437 |
Mixtral 8×7B (Apache 2.0) は LLaMA 2 70B 超えを約 3 倍少ない active params で達成、open-weights MoE の分水嶺。DeepSeek-V3 (MIT) は 2024 年末時点で最強の open MoE、HumanEval・SWE-bench・AIME 等で GPT-4o・Claude 3.5 Sonnet と同等以上を報告。GPT-4 と Gemini 1.5 Pro は MoE 採用と推測されるが公式公表はない (Gemini 1.5 技報 arXiv:2403.05530 も MoE と明言せず) ため本記事では事実として扱わない。
Fine-Grained Expert + Shared Expert (DeepSeek 設計)
Fine-grained MoE (DeepSeekMoE, Dai et al. 2024, arXiv:2401.06066) は従来 の大エキスパートを 個の小エキスパート () に分割し も 倍にする。総パラメータ・総計算量は不変だが組合せ空間が劇的に拡大。さらに常時活性化される shared expert を 〜 個併設し全トークンが通過。DeepSeek-V3 は 1 shared + 256 routed、top-8 で計 9 active、組合せ空間 (Mixtral の を桁違いに上回る)。shared = 共通背景知識、routed = 特化知識と役割分担。fine-grained 化 + shared expert + 補助損失なし負荷分散の 3 点が現代 MoE 設計の三本柱。
計算量 vs パラメータ — Dense との比較
FLOPs/token は active params にほぼ比例 (forward 約 )。同 FLOP 予算で Switch Transformer は T5-Base 対比約 7 倍速く同 perplexity に到達。同総パラメータでは Mixtral 8×7B は推論速度が 12–13B dense 相当だがメモリは 47B dense 相当 (全エキスパート常駐)。Chinchilla 則 (詳細は Transformer — tech-35 §スケーリングと計算量) は dense 前提で、MoE では「active × トークン数」を Chinchilla 軸に据え総パラメータを独立な「知識容量」軸として追加と解釈できる。breakeven は概ね「並列リクエスト数 」、バッチ内 token 分布が均一化し全エキスパートが均等稼働し始める時点。
エンジニアリング課題 — All-to-All・メモリ・学習安定性・サービング
All-to-All 通信: エキスパートを別 device に分散すると 2 段 all-to-all (dispatch + combine) が並列度と相互接続帯域に律速され、NVLink 4.0 / InfiniBand 400G が大規模 MoE では実質必須。DeepSeek-V3 は DualPipe で all-to-all と計算を overlap し FP8 (E4M3/E5M2) で memory を圧縮。メモリ: 全エキスパート常駐必須、DeepSeek-V3 671B は bf16 で約 1.3 TB、最低 16× H100 80GB (INT4/INT8 量子化で軽減可)。学習安定性: router z-loss・選択的 fp32 ルーター・勾配クリッピング。Fine-tuning はエキスパート崩壊が起きやすく、補助損失係数弱化・容量係数縮小・LoRA を expert / shared のみに適用などの運用 know-how が要る。Serving: vLLM・SGLang・TensorRT-LLM・DeepSpeed-MoE。continuous batching でエキスパート利用が偏ると最負荷エキスパートが律速する「バッチ内同期律速」が起き、 以上の並列リクエスト確保が実効スループットを決める。
2026 年の選択指針
| 状況 | 推奨 |
|---|---|
| 1 GPU で 7–13B 級 | dense (Mistral 7B, Qwen2.5 7B) |
| 高スループット並列 + GPU 多数 | MoE (Mixtral, DeepSeek-V3) |
| コーディング・数学・難問推論 | DeepSeek-V3 / R1, Qwen3-MoE |
| エッジ・モバイル | dense + 量子化 (Phi-3.5) |
並列リクエスト数が概ね に達して初めて MoE のスループット優位が出る。breakeven 未満では dense の運用簡素さとレイテンシ予測性が勝つ。実装は HuggingFace transformers・vLLM・SGLang・TensorRT-LLM・llama.cpp (GGUF)。直交潮流として Mixture of Depths (Raposo et al. 2024, arXiv:2404.02258) は「どのトークンが層を通るか」を router で選ぶ追加 FLOP 削減で MoE と併用可。
二言語用語対照表
| 日本語 | English |
|---|---|
| エキスパート混合 / 疎ゲート MoE | Mixture of Experts / Sparsely-gated MoE |
| ルーター / ゲーティングネットワーク | Router / Gating network |
| Top-k ルーティング | Top-k routing |
| トークン選択 / エキスパート選択 | Token-choice / Expert-choice routing |
| 補助損失 / ルーター z-loss | Auxiliary loss / Router z-loss |
| 補助損失なし負荷分散 | Auxiliary-loss-free load balancing |
| 容量係数 / トークンドロップ | Capacity factor / Token dropping |
| 共有エキスパート | Shared expert |
| 細粒度エキスパート | Fine-grained expert |
| All-to-All 通信 | All-to-all communication |
| アクティブパラメータ / 総パラメータ | Active parameters / Total parameters |
| エキスパート並列 | Expert parallelism |
| 専門化崩壊 | Expert collapse |
| 連続バッチング | Continuous batching |
参考文献
- Jacobs, Jordan, Nowlan & Hinton 1991 (Adaptive Mixtures of Local Experts). Neural Computation 3(1):79–87 (no arXiv).
- Shazeer 2017 (Sparsely-Gated MoE). https://arxiv.org/abs/1701.06538
- Lepikhin 2020 (GShard). https://arxiv.org/abs/2006.16668
- Fedus, Zoph & Shazeer 2021 (Switch Transformer). https://arxiv.org/abs/2101.03961
- Du 2021 (GLaM). https://arxiv.org/abs/2112.06905
- Zoph 2022 (ST-MoE / Router z-loss). https://arxiv.org/abs/2202.08906
- Zhou 2022 (Expert Choice). https://arxiv.org/abs/2202.09368
- Jiang 2024 (Mixtral 8×7B). https://arxiv.org/abs/2401.04088
- Dai 2024 (DeepSeekMoE). https://arxiv.org/abs/2401.06066
- DeepSeek-AI 2024 (DeepSeek-V2). https://arxiv.org/abs/2405.04434
- DeepSeek-AI 2024 (DeepSeek-V3). https://arxiv.org/abs/2412.19437
- Puigcerver 2023 (Soft MoE). https://arxiv.org/abs/2308.00951
- Raposo 2024 (Mixture of Depths). https://arxiv.org/abs/2404.02258
Backlinks
10 backlinks
- related Distributed Training(分散学習)
- related LLaMA Family
- related Mistral Mixtral Family
- related LLM Comparison
- related Grok Family
- related Qwen Family
- related Gemini Family
- related DeepSeek Family
- related GLM Family
- related Kimi Family