エキスパート並列(Expert Parallelism)(エキスパートへいれつ)
Mixture-of-Experts(MoE)モデルの推論・学習を効率化する分散手法。異なるエキスパートサブネットワークを複数GPUに分散配置し、入力トークンがゲートの選択に応じて担当GPUへルーティングされる。
エキスパート並列(Expert Parallelism)とは
エキスパート並列(Expert Parallelism、EP)は、Mixture-of-Experts(MoE)アーキテクチャのLLMを複数GPUで効率的に処理するための分散並列手法です。MoEモデルのFFNエキスパートをGPU間に分散配置し、入力トークンがゲートネットワークの判断に従って適切なGPUへルーティングされます。
MoEアーキテクチャの概要
標準Transformer FFN: 全トークンが1つのFFNを通過(全パラメータがアクティブ)
MoE FFN: N個のエキスパートFFNが存在
各トークンはTop-K個(例: K=2)のエキスパートのみ通過
アクティブパラメータ = K/N × 全エキスパートパラメータ
例(Mixtral 8x7B):
エキスパート数: 8 / Top-K: 2 → アクティブパラメータ: 25%のみ計算
エキスパート並列の分散構成
EP=4(4 GPU)の場合:
GPU 0: エキスパート 0, 1
GPU 1: エキスパート 2, 3
GPU 2: エキスパート 4, 5
GPU 3: エキスパート 6, 7
推論フロー:
1. 全GPUで共有: アテンション計算
2. ゲートが各トークンのエキスパートを選択
3. All-to-All通信: 各トークンを担当エキスパートのGPUへルーティング
4. 各GPUが担当エキスパートを計算
5. All-to-All通信: 結果を元のGPUへ返送
EP+TP組み合わせ構成
DeepSeek-V3(671B)の並列構成例:
TP = 4(各エキスパート内でテンソル並列)
EP = 8(エキスパートをGPU間分散)
総GPU数 = TP × EP = 32 GPUs
Qwen2-72B-MoEの構成例: TP=2, EP=4, 総GPU数=8 GPUs
DeepSeek-V3のEP最適化(2025年)
DeepSeek-V3は671Bパラメータ(アクティブ37B)のMoEモデルで、EP最適化を極限まで追求しています:
# DeepSeek-V3のエキスパート設定(公開情報から)
config = {
"num_experts": 256, # 全エキスパート数
"num_experts_per_tok": 8, # 各トークンが選択するエキスパート数
"n_shared_experts": 1, # 常にアクティブな共有エキスパート
"ep_size": 32, # 32 GPU EP構成
}
DeepSeek-V3の効率化ポイント: (1) 負荷均衡 — トークンがエキスパートに均等分散するよう損失関数で誘導。(2) トークンドロッピング — GPU負荷超過時に一部トークンを最も近いエキスパートへリルート。(3) All-to-All通信の最適化 — NVLink/InfiniBandの帯域を最大活用。
vLLMでのMoE EP設定
from vllm import LLM, SamplingParams
# Mixtral 8x7BをEP+TP構成で推論
llm = LLM(
model="mistralai/Mixtral-8x7B-Instruct-v0.1",
tensor_parallel_size=2, # TP=2
# EPはvLLMが自動検出して適用(MoEモデル検出時)
dtype="float16",
gpu_memory_utilization=0.9
)
sampling_params = SamplingParams(temperature=0.7, max_tokens=256)
outputs = llm.generate(["MoEモデルの仕組みを説明して"], sampling_params)
エキスパート並列の課題
通信オーバーヘッド: All-to-All通信はGPU間帯域幅を大量消費します。NVLink(600 GB/s)は同一ノード内では高速ですが、InfiniBand(400 Gb/s)ではノード間で帯域幅が制約となります。解決策として通信と計算のオーバーラップ(DeepSeek手法)があります。
負荷不均衡: 人気エキスパートへのトークン集中でGPU負荷が偏ります。補助損失(Auxiliary Loss)による均衡誘導とトークンドロッピングによる負荷上限設定で対処します。
エキスパート並列はMoE LLMの実用化に不可欠な技術です。DeepSeek-V3・Mixtral・Qwen2-MoE・Phi-3.5-MoEなど人気MoEモデルを効率的に動かすための基礎知識として、LLM推論エンジニアにとって必須の理解領域となっています。