DDP与FSDP:分布式训练技术全解析
DDP与FSDP:分布式训练技术全解析
DDP(Distributed Data Parallel)和 FSDP(Fully Sharded Data Parallel)均为用于深度学习模型训练的分布式训练技术,二者借助多 GPU 或多节点来提升训练速度。
1. DDP(Distributed Data Parallel)
实现原理
- 数据并行:把相同的模型复制到各个设备(GPU/节点)上,同时将数据划分成多个批次,每个设备处理其中一个批次。
- 梯度同步:在每个训练步骤完成后,所有设备会对梯度进行汇总并取平均,以此保证模型参数的一致性。
- 通信后端:一般会采用 NCCL(用于 GPU)或者 Gloo(用于 CPU)作为通信后端。