# DualPipe [[DeepSeek-AI]] が [[DeepSeek-V3]] の訓練のために設計したパイプライン並列化アルゴリズム。MoE のクロスノードエキスパート並列化で生じる約 1:1 の計算対通信比率の課題を、計算と通信の完全なオーバーラップにより解決する。 ## 設計 ### チャンク分解 各パイプラインチャンクを 4 構成要素に分割する: 1. **アテンション** 2. **All-to-All ディスパッチ**(MoE トークン送信) 3. **MLP**(MoE 計算) 4. **All-to-All コンバイン**(MoE 結果結合) 逆伝播では、アテンションと MLP をさらに「入力に対する逆伝播」と「重みに対する逆伝播」に分割する(ZeroBubble と同様)。 ### オーバーラップ戦略 フォワードとバックワードのチャンクペアを再配置し、通信と計算に割り当てる SM の比率を手動で調整する。All-to-All 通信と PP 通信の両方を計算実行中に完全に隠蔽する。 ### 双方向スケジューリング パイプラインの両端からマイクロバッチを同時に投入する。これにより通信の大部分をオーバーラップさせる。 ## 性能特性 | 手法 | バブル | パラメータ | アクティベーション | |---|---|---|---| | 1F1B | $(PP - 1)(F + B)$ | 1x | $PP$ | | ZB1P | $(PP - 1)(F + B - 2W)$ | 1x | $PP$ | | **DualPipe** | $(PP/2 - 1)(F\&B + B - 3W)$ | 2x | $PP + 1$ | - パラメータのコピーは 2 倍になるが、大きな EP サイズ(64-way)使用時のメモリ増加は軽微 - マイクロバッチ数が増えてもバブルとアクティベーションメモリは増加しない - パイプラインステージとマイクロバッチが 2 で割り切れることのみ要求(Chimera より制約が緩い) ## スケーラビリティ モデルをさらにスケーリングする際、計算対通信比率を一定に保てば、ノードをまたいだ細粒度エキスパートの利用を維持しつつ、All-to-All 通信オーバーヘッドをほぼゼロにできる。 ## 産業での採用判断 [[Kimi K2]](1.04T パラメータ)は DualPipe を採用せず interleaved 1F1B を選択した。運用の複雑性と障害復旧の困難さが理由として挙げられている。(Source: [[@2025__arXiv__Kimi K2 - Open Agentic Intelligence]]) ## 出典 - [[@2024__arXiv__DeepSeek-V3 Technical Report]](§3.2.1) - [[@2025__arXiv__Kimi K2 - Open Agentic Intelligence]](DualPipe 不採用の判断)