MoEエキスパート並列(Expert Parallelism / EP)は、Mixture-of-Expertsモデルの各エキスパートを異なるGPU/アクセラレータに分散配置し、トークンをAll-to-All通信で適切なGPUに転送して処理する並列化手法である。データ並列やテンソル並列と組み合わせた3D/4D並列化が大規模MoEモデルの学習・推論に不可欠な技術となっている。
MoEエキスパート並列とは、Mixture-of-Expertsモデルのエキスパートを複数のGPUに分散配置して並列処理する手法である。大規模MoEモデル(数百B〜数Tパラメータ)の学習と推論を実現するための必須技術となっている。
デンスモデルの並列化ではデータ並列(DP)とテンソル並列(TP)が主流だが、MoEモデルではエキスパートという自然な分割単位が存在するため、エキスパート並列(EP)という独自の並列化次元が追加される。EPでは各GPUが全エキスパートの一部を担当し、ルーターが決定した割り当てに従ってトークンをGPU間で転送(All-to-All通信)して処理する。
DeepSeek-V3(671Bパラメータ、256エキスパート)の学習では、H100 GPU 2,048台をDP×TP×EP×PPの4D並列で使用し、各GPUが約8個のエキスパートを担当する構成が採られた。
EP の核心はAll-to-All通信である。各GPUが持つトークンバッチのうち、自GPU上にないエキスパートに割り当てられたトークンを他GPUに送信し、処理結果を受信する。
All-to-All通信のデータ量はバッチサイズ・シーケンス長・隠れ次元に比例する。DeepSeek-V3の場合、1回のAll-to-All通信で各GPU間約200MB-1GBのデータが転送される。InfiniBand NDR 400Gbpsで約2-5ms、NVLink(900GB/s)で0.2-1msの遅延が発生する。
| 並列化手法 | 分割対象 | 通信パターン | 適用場面 |
|---|---|---|---|
| データ並列(DP) | バッチ | AllReduce(勾配同期) | 汎用、小規模モデル |
| テンソル並列(TP) | 重み行列 | AllReduce(活性化同期) | 単一ノード内、大型層 |
| パイプライン並列(PP) | Transformerレイヤー | P2P(ステージ間転送) | 多ノード、深いモデル |
| エキスパート並列(EP) | MoEエキスパート | All-to-All(トークン転送) | MoE専用、多エキスパート |
| Sequence並列(SP) | シーケンス | AllGather/ReduceScatter | 長コンテキスト |
| モデル | GPU数 | DP | TP | EP | PP | GPU/エキスパート |
|---|---|---|---|---|---|---|
| Mixtral 8x7B推論 | 2 | 1 | 1 | 2 | 1 | 4 experts/GPU |
| DeepSeek-V2学習 | 1024 | 64 | 2 | 8 | 1 | 20 experts/GPU |
| DeepSeek-V3学習 | 2048 | 128 | 2 | 8 | 2 | 32 experts/GPU |
| Switch-C学習 | 2048 | 256 | 1 | 2048 | 1 | 1 expert/GPU |
学習だけでなく推論でもEPは重要である。
--tensor-parallel-size 2 で自動的にEP+TPのハイブリッド並列が適用される--n-gpu-layers オプションで層単位のオフロードが可能。アクセス頻度の低いエキスパートを優先的にオフロードするAdaptive Expert Cachingが研究されているQ1: 自作PC(マルチGPU構成)でエキスパート並列は使えるのか? A: RTX 4090×2やRTX 3090×2の構成でvLLMを使えばMixtral 8x7Bのエキスパート並列推論が可能。ただしPCIe 4.0のGPU間帯域(32GB/s)はNVLink(900GB/s)と比較して30倍以上遅いため、All-to-All通信がボトルネックになる。実用的にはCPUオフロードの方が自作PC環境では効率的な場合が多い。
Q2: エキスパート並列とテンソル並列はどう使い分けるのか? A: テンソル並列はノード内のGPU間(NVLink接続)で使用し、エキスパート並列はノード間(InfiniBand接続)で使用するのが一般的。DeepSeek-V3ではTP=2(ノード内2GPU)、EP=8(8ノード)の構成で、高帯域が必要なTPを近距離、低頻度のEPを遠距離に配置している。
Q3: エキスパート並列の通信コストを削減する最新技術は? A: 主要な手法として (1) DeepSeek-V3のPrefill冗長計算によるAll-to-All削減、(2) Expert Grouping(関連エキスパートを同じGPUに配置)、(3) 圧縮通信(FP8/INT8での転送)、(4) 非同期All-to-All(計算と通信のオーバーラップ)がある。FP8通信でデータ量を半減させる手法は2025年時点で多くのフレームワークが対応済み。