ZeRO 微调(Zero Redundancy Optimizer)
定义
- 通过对优化器状态、梯度与参数进行分片(stage 1/2/3),在数据并行场景下消除冗余副本,显著降低单卡显存占用并提升可训练模型规模。
关键机制
- Stage 1:优化器状态分片;
- Stage 2:进一步分片梯度;
- Stage 3:连同参数本身也进行分片与按需聚合;
- Offload:状态/参数/梯度可按需卸载至 CPU/NVMe;
- 通信:与 数据并行 的 AllReduce/AllGather/Broadcast 协同,需要通信—计算重叠与分块策略。
工程实践
- 混合并行:与 张量并行、传递并行 组合;
- 检查点:分布式检查点与容错恢复;
- 兼容性:与 PEFT(如 LoRA微调神经网络训练)搭配以进一步降本。