分布式训练
ZeRO 参数分片与 AllGather 流程分析
解析 ZeRO 各阶段的内存优化策略,深入 AllGather 的执行流程与通信开销。
2025-03-10· 19 分钟阅读LLMZeRODistributed
ZeRO 通过切分优化器状态、梯度和参数来降低单卡显存压力。AllGather 则是参数重组与计算恢复过程中的关键通信动作。
- 参数按 rank 分片存储。
- 前向或反向需要完整参数时触发 AllGather。
- 计算完成后释放或重新分片,降低峰值显存。
AllGather 的时机、粒度和 overlap 策略会影响端到端吞吐。过细会带来调度开销,过粗会增加显存峰值。
ZeRO 的收益来自显存与通信之间的平衡。理解 AllGather 流程,有助于解释训练中的显存峰值和通信等待。