AI・機械学習
上級

Sparse MoE Top-Kルーティング(スパース エムオーイー トップ ケー ルーティング)

Mixture-of-Expertsモデルにおいて各トークンを処理するエキスパートを選択する仕組み。ルーターネットワークが全エキスパートのスコアを計算しTop-K個のみを活性化することでSparse(疎)な計算グラフを実現し、総パラメータ数より少ないアクティブパラメータで高性能を達成する中核技術。

0 回閲覧
0 いいね
2026/5/24 更新
関連タグ
MoEルーティング
Top-K選択
ルーターネットワーク
負荷均衡
Sparse Computation
エキスパート並列化

概要

Sparse MoE Top-Kルーティング(スパース エムオーイー トップ ケー ルーティング)は、Mixture-of-Experts(MoE)アーキテクチャの中核技術で、大規模言語モデルにおいて各入力トークンをどのエキスパートネットワークに送るかを決定する機構。

MoEの基本思想: すべてのエキスパート(FFN: Feed-Forward Network)を毎回使うのではなく、入力に最も適した少数のエキスパートのみを選択(Sparse)することで、総パラメータ数 >> アクティブパラメータ数という高効率な計算グラフを実現する。

Kの値は各モデルで設計上の選択が行われる:

  • K=2: Mixtral 8x7B / Mixtral 8x22B(Mistral AI)
  • K=6: DeepSeek-V2-Lite
  • K=8: DeepSeek-V3・Qwen2-57B-A14B・OLMoE

ルーティングの仕組み

ルーターはトークンの埋め込みベクトル x(次元d_model)を受け取り、各エキスパート e に対するスコア s_e を計算する。Top-K選択でスコア上位K個のエキスパントを選択し、残りをゼロにマスクしてソフトマックスを再適用(ゲーティング重み)する。最終出力は各選択エキスパートの出力をゲーティング重みで加重和して得る。

K値の影響

K値特性代表モデル
K=1Hard MoE。最速だが各エキスパートが全責任を持ちリスク大研究用
K=2バランス型。Mistral AI採用。速度と品質のトレードオフ最小Mixtral 8x7B/8x22B
K=6〜8多エキスパート活用で品質向上。深いアンサンブル効果DeepSeek-V2/V3, Qwen2 MoE

負荷均衡(Load Balancing)問題

Top-Kルーティングの最大課題はエキスパートへのトークン集中(Load Imbalance)。ルーターが学習初期に偏りを学ぶと一部のエキスパートが常に選ばれ、他が遊休状態になる(Collapsed Routing)。

解決策1: 補助損失(Auxiliary Loss)

一般的な手法。エキスパートへの割り当て確率の分散を計測する補助損失を本来のLoss(言語モデリング損失)に加算し均衡を強制する。 補助損失のハイパーパラメータα(通常0.01〜0.001)が均衡強度を制御する。 欠点: 補助損失が本来の予測損失と競合し、モデル品質が低下する場合がある。

解決策2: エキスパートキャパシティファクター

各エキスパートが1バッチで受け取れるトークン数に上限(キャパシティ)を設ける。上限を超えたトークンはドロップ(Expert Dropping)または残差で素通りさせる。

解決策3: 補助損失フリーバランシング(DeepSeek方式)

DeepSeek-V3が採用した革新的手法。エキスパートへのバイアストークンを動的に調整することで、学習損失を変更せずに均衡を保つ。

エキスパート並列化(Expert Parallelism)

MoEモデルの実際のデプロイでは、エキスパートを複数GPUに分散するエキスパート並列化が必要になる。

並列化手法概要使用場面
テンソル並列各行列演算を列方向に分割高速化優先
エキスパート並列エキスパートをGPU間に分散MoE大規模デプロイ
パイプライン並列レイヤーを段階分割超大規模モデル
データ並列バッチを複数GPUで同時処理学習時の標準

DeepSeek-V3(671B)は8GPU H100クラスタ(8×80GB=640GB VRAM)でエキスパート並列+テンソル並列の組み合わせで動作する。

主要MoEモデルのルーティング比較

モデルエキスパート数Top-K負荷均衡手法特徴
Mixtral 8x7B82補助損失シンプル・高速
Mixtral 8x22B82補助損失大規模版
DeepSeek-V21606補助損失細粒度
DeepSeek-V32568補助損失フリー最先端
Qwen2-57B-A14B648補助損失多エキスパート
OLMoE-1B-7B648補助損失小規模・効率重視

よくある質問(FAQ)

Q1: Top-K=2とTop-K=8ではどちらが性能が高いですか? A: 一概には言えないがK値が大きいほど各トークンに多くのエキスパート知識を結合でき、複雑な推論タスクでは有利になる場合が多い。一方K値が大きいほどアクティブパラメータ数も増加するため計算コストは上がる。DeepSeek-V3がK=8で671B中37Bアクティブを実現しているのはエキスパント数が256と多いため1エキスパートあたりのパラメータが小さいためである。

Q2: エキスパートドロッピングとは何ですか? A: 各エキスパートが処理できるトークン数に上限(キャパシティ)を設けた際、上限を超えたトークンが処理されずにスキップされる現象。推論時に情報が失われる原因になるが、キャパシティファクターを適切に設定することで損失を最小化できる。

Q3: 自分でMoEモデルをトレーニングするには何が必要ですか? A: 小規模実験(OLMoE-1B-7B相当)なら8×A100 80GB程度と数十億トークンのテキストデータが必要。MegaBlocks(PyTorch)やFasterMoE等のMoEトレーニングライブラリの活用が推奨される。Mixtralサイズ以上は数百GPU・数千万ドル規模の投資が現実的。

まとめ

  • Sparse MoE Top-Kルーティングは全エキスパート中K個のみを活性化してSparse計算グラフを実現
  • K値・エキスパント数・負荷均衡手法の設計選択がモデル性能とコスト効率を決定する
  • 補助損失・キャパシティファクター・補助損失フリー(DeepSeek方式)の3手法で負荷不均衡問題を解決
  • エキスパート並列化により671B規模モデルも8×H100クラスタで実用的にデプロイ可能
この記事について
カテゴリーAI・機械学習
難易度上級
作成日2026/5/24