DDP與FSDP:分布式訓練技術全解析
DDP(Distributed Data Parallel)和 FSDP(Fully Sharded Data Parallel)均為用于深度學習模型訓練的分布式訓練技術,二者借助多 GPU 或多節點來提升訓練速度。
1. DDP(Distributed Data Parallel)
實現原理
- 數據并行:把相同的模型復制到各個設備(GPU/節點)上,同時將數據劃分成多個批次,每個設備處理其中一個批次。
- 梯度同步:在每個訓練步驟完成后,所有設備會對梯度進行匯總并取平均,以此保證模型參數的一致性。
- 通信后端:一般會采用 NCCL(用于 GPU)或者 Gloo(用于 CPU)作為通信后端。