AI 基础设施入门第 2 天:全分片数据并行(FSDP2)
学习笔记FSDP2 vs DDP
- DDP: 每个GPU保存完整的model state,通过AllReduce同步gradients
- FSDP2: model parameters、gradients、optimizer states分片(sharded),只在计算某个model时通过AllGather临时恢复需要的完整参数,backward后用ReduceScatter聚合并重新分片gradient
- 注意gradients的处理差异: DDP要通过AllReduce同步,每个GPU保存完整gradients;FSDP2通过ReduceScatter同步,只保存分片
预取:计算和通信重叠
- 假设当前在计算block5,已知接下来要计算block6,则提前为block6做AllGather
参考代码
- benchmark_fsdp2.py
留言
登录 GitHub 后即可留言。中英文版本共用此讨论区。