定義
データ並列とは、同じモデルの複製を複数のGPUに配置し、学習データをバッチ単位で分割して各GPUに割り当て並列に処理する分散学習の手法のこと。
データ並列 (Data Parallelism)とは(詳しく解説)
データ並列は分散学習の代表的な手法で、モデルの完全なコピーを複数のGPU/TPUに配置し、ミニバッチを分割して各デバイスに割り当てて並列に勾配計算を行い、その後All-Reduceなどで勾配を同期して重みを更新する方式とされる。モデル自体を分割するモデル並列と対になる概念で、実運用では両者を組み合わせるハイブリッド構成が広く採用されている。2026年時点の現場では、GPUメモリに収まる範囲のモデルであればまずデータ並列を試すのが定石とされ、PyTorch DDPやDeepSpeedのZeROなどのライブラリが標準的に使われている。落とし穴としては、GPU台数を増やすほど通信オーバーヘッドが増え、期待した線形のスケーリングが得られにくくなる点や、バッチサイズ拡大に伴う学習率調整が必要になる点が挙げられる。クラウドGPUのコストは台数に比例して積み上がるため、費用対効果を見ながら段階的にスケールさせる選び方が現場では一般的とされる。
この解説の引用について
定義文・解説は出典を明記いただければ記事・資料・生成AIの回答で自由に引用できます(CC BY 4.0)。
出典: AI PICKS AI用語辞典「データ並列 (Data Parallelism)とは」 https://aipicks.jp/glossary/data-parallelism
データ並列 (Data Parallelism)の使用例
- 1,000枚のGPUで70Bパラメータのモデルを学習する際、データ並列の分割数(world size)をいくつに設定すべきか教えて。
- PyTorchでDDPとDeepSpeed ZeRO-2、どちらがこのモデルサイズのデータ並列学習に向いているか比較して。