全分片数据并行
Fully Sharded Data ParallelFSDP进阶把模型参数、梯度和优化器状态切开分到多张卡上的数据并行训练方式
FSDP 是 PyTorch 内置的分布式训练方案,思路来自微软 DeepSpeed 的 ZeRO-3。普通分布式数据并行(DDP)让每张 GPU 都存一整份模型参数、梯度和优化器状态,模型一大单卡就放不下。FSDP 把这三样切成片分给各卡,每层前向、反向计算前临时从其他卡收集完整参数,算完即释放,因此单卡显存只需容纳一部分,能训练远超单卡容量的模型,代价是更多卡间通信。几十亿参数的 VLA 和视频世界模型全参数微调常用 FSDP 或 DeepSpeed;新版 PyTorch 推荐按层包装的 FSDP2 接口。
例子在 8 张 80GB GPU 上全参数微调一个约 30 亿参数的 VLA,用 DDP 显存不够,改用 FSDP 后可以跑起来。
- 也叫
- FSDP2、fully_shard
- 相关
- 分布式数据并行、DeepSpeed、分布式训练(数据并行 / 模型并行)、PyTorch、全参数微调、混合精度训练
- 来源
- PyTorch FSDP 文档
PyTorch FSDP: Experiences on Scaling Fully Sharded Data Parallel