具身智能新手名词表English

分布式数据并行

Distributed Data ParallelDDP进阶

每张 GPU 存一份完整模型、各算一部分数据,再同步梯度的多卡训练方式

分布式数据并行是最常用的多卡训练方法,PyTorch 中对应 torch.nn.parallel.DistributedDataParallel。做法是:每张 GPU(每个进程)都放一份完整的模型,把一个批次的数据切开分给各卡,各自前向和反向计算后,通过 all-reduce(所有卡把梯度求平均的一种集体通信)同步梯度,再各自更新参数,保证所有副本一致。它能让训练速度随卡数近似线性提升,但要求单卡放得下整个模型;模型太大时就要换成 FSDP 或 DeepSpeed ZeRO 这类把参数切分的方案。通常用 torchrun 启动。

例子用 torchrun --nproc_per_node=8 train.py 在一台 8 卡机器上训练扩散策略,每卡批大小 32,等效总批大小 256。

也叫
DistributedDataParallel
相关
全分片数据并行、DeepSpeed、分布式训练(数据并行 / 模型并行)、批大小、PyTorch、梯度累积
来源
PyTorch DDP 文档

在完整名词表里查看 →