# PipeDream
Microsoft Research・CMU・Stanford が SOSP 2019 で発表した DNN 訓練の**パイプライン並列化システム**。モデルのレイヤーをステージに分割し、異なるミニバッチのフォワードとバックワードを GPU 間でパイプライン化する。第一著者は [[Deepak Narayanan]](Aaron Harlap と等貢献)、上級著者は [[Matei Zaharia]]。
## 設計の中核
- **1F1B スケジュール**: 定常状態でフォワードとバックワードを厳密に交互に実行。フラッシュなしで全 GPU を稼働させる。
- **重みスタッシング**: フォワードで使った重みのコピーを保存し、対応するバックワードで同一バージョンを使用して正確な勾配を保証。
- **動的計画法分割**: 単一 GPU プロファイリング後に 8 秒未満でモデルを最適ステージ配分に分割。ステージ複製(データ並列化)も選択肢。
- **1F1B-RR**: 複製ステージに対してミニバッチ ID ベースの決定論的ラウンドロビン。
## 性能
- データ並列化比最大 **5.3×** の高速化(VGG-16、16 GPU)
- 言語モデル(AWD-LM)で 4.25×、動画キャプション(S2VT)で 3.01×
- GPipe 比 35〜71% のスループット向上
## 後継
- PipeDream-2BW(ICML 2021): より少ないメモリで重みスタッシングを実現
- Megatron-LM: 1F1B をテンソル並列化と組み合わせた LLM 主流構成
- Zero Bubble Pipeline: bubble をほぼゼロにするスケジュール改良
- DualPipe(DeepSeek-V3): 双方向パイプラインで完全な計算通信オーバーラップ
## 出典
- [[@2019__SOSP__PipeDream Generalized Pipeline Parallelism for DNN Training]]