ZeRO 显存优化对比

用直观的显存分片图,看懂 ZeRO-1 / ZeRO-2 / ZeRO-3 到底省了什么

创建时间:2026-09-09 更新时间:2026-09-11 阅读次数:1008 次

四卡训练时的显存分布

切换下方阶段,观察每张 GPU 的显存占用如何变化(假设模型总显存需求 = 64 单位,4 卡平均分片)
基线 Data Parallel
ZeRO-1 优化器状态分片
ZeRO-2 + 梯度分片
ZeRO-3 + 参数分片
参数 (Parameters)
梯度 (Gradients)
优化器状态 (Optimizer States)
激活值 (Activations)
单卡显存占用
单位
相比基线节省
%
可训练模型规模
×

核心结论速记

面试时一句话答清楚每个阶段分片了什么
阶段 参数
P
梯度
G
优化器状态
OS
单卡显存(相对) 一句话记忆
基线 DP 全量 全量 全量 16 P 三份全存,最费显存
ZeRO-1 全量 全量 分片 4 P + 12 P/N 只切优化器状态
ZeRO-2 全量 分片 分片 2 P + 14 P/N 再切梯度
ZeRO-3 分片 分片 分片 16 P / N 三样全切,最省显存
P = 参数量,N = GPU 数量。
混合精度训练下:参数 2P、梯度 2P、优化器状态 12P(FP32 参数副本 4P + 动量 4P + 方差 4P)。
所以基线单卡 = 16P,ZeRO-1 单卡 ≈ 4P + 12P/N。