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 后即可留言。中英文版本共用此讨论区。