Mixture-of-Experts(MoE)アーキテクチャにおいて、各エキスパートネットワークを異なるデバイスに配置して並列実行する分散戦略。エキスパート数のスケーリングとメモリ効率を両立する。
Expert Parallelism(EP)は、Mixture-of-Experts(MoE)モデルにおけるエキスパートネットワークを複数の GPU に分散配置する並列化手法である。DeepSeek-V3(671B パラメータ、256 エキスパート)や Mixtral 8x22B のような大規模 MoE モデルの学習・推論に不可欠な技術となっている。
MoE アーキテクチャでは、各 Transformer レイヤーの FFN(Feed-Forward Network)部分が複数のエキスパートに分割され、ゲーティングネットワーク(Router)が入力トークンごとに Top-K のエキスパートを選択する。全エキスパートを単一 GPU に載せるとメモリが不足するため、EP でエキスパートを分散配置する。
| モデル | 総パラメータ | アクティブパラメータ | エキスパート数 | EP 構成 |
|---|---|---|---|---|
| Mixtral 8x7B | 46.7B | 12.9B | 8 | 8 GPU(1 expert/GPU) |
| Mixtral 8x22B | 141B | 39B | 8 | 8 GPU |
| DeepSeek-V2 | 236B | 21B | 160 | 16-32 GPU |
| DeepSeek-V3 | 671B | 37B | 256 | 32-64 GPU |
EP の中核は All-to-All 通信である。各 GPU 上のトークンがルーターで振り分けられた後、該当エキスパートが配置されている GPU へトークンが転送される。エキスパートの計算後、結果が元の GPU に返送される。
処理フロー:
エキスパートの選択が偏ると、特定の GPU に負荷が集中する「ロードインバランス」が発生する。これを防ぐため、Auxiliary Loss(補助損失)やトークンドロップ(容量超過トークンの破棄)を使用する。DeepSeek-V3 では Auxiliary-Loss-Free な手法を採用し、品質劣化なしでバランシングを実現している。
実際の大規模 MoE 学習では、EP は単独では使われず、TP(テンソル並列)やDP(データ並列)と組み合わせる。
推論時の EP は学習時と異なる課題がある。バッチサイズが小さい場合、All-to-All 通信のオーバーヘッドが相対的に大きくなる。vLLM や TensorRT-LLM では EP を推論にも対応しており、Mixtral 8x7B を 8 GPU でエキスパート分散推論できる。
EP の性能は GPU 間通信帯域に大きく依存する。NVSwitch や InfiniBand による高帯域接続が前提となるほか、通信と計算のオーバーラップ(パイプライニング)で実効スループットを向上させる。DeepSeek-V3 では DualPipe と呼ばれる通信隠蔽技術を採用している。
A1: EP は MoE アーキテクチャ専用の並列戦略であり、Dense モデルには適用できない。Dense モデルの FFN を分散するにはテンソル並列(TP)を使用する。
A2: 必ずしも一致させる必要はない。1 GPU に複数エキスパートを配置することも、1 エキスパートを複数 GPU に分割(EP + TP)することも可能。ただし、エキスパート数が GPU 数の倍数だとロードバランスが取りやすい。
A3: All-to-All 通信量がエキスパート数とトークン数に比例するため、数百エキスパート・数百 GPU 超では通信がボトルネックになる。DeepSeek-V3 は 256 エキスパート × 2048 GPU で学習を完遂しており、現時点での実用上限に近い。