🧮

零冗余优化器(ZeRO)

Zero Redundancy Optimizer (ZeRO)
技术原理
分布式训练显存优化DeepSpeed

零冗余优化器(ZeRO)是微软 DeepSpeed 框架的核心技术,官方文档将其定义为一组显存优化技术,能支撑万亿参数级模型的有效训练。

机制

数据并行训练中,每个 GPU 都完整保存一份模型权重、梯度和优化器状态,其中优化器状态占用大头——这就是「冗余」。ZeRO 利用数据并行的聚合计算与内存资源,把这些训练状态分片到所有可用设备上,并按阶段递进:Stage 1 只切分优化器状态(如 Adam 的 32 位权重与一阶、二阶矩估计),每个进程只更新自己那份;Stage 2 进一步切分 16 位梯度;Stage 3 连 16 位模型参数也切分,在前向和反向传播时自动收集与再分片。官方强调:与需要改动模型代码的模型并行方案相比,ZeRO 的关键吸引力是不需要改模型代码,只改几行配置。Stage 3 还可搭配 infinity offload 引擎形成 ZeRO-Infinity,把状态卸载到 CPU 与 NVMe 内存进一步省显存。

适用边界

ZeRO 服务于「训练/微调大模型」场景,与词库已有「分布式训练」条目是隶属关系——分布式训练是总概念,ZeRO 是其中数据并行路线上的显存优化方案,不与张量并行、流水线并行互斥。

🔗 探索更多 AI 工具板块

除了本板块,AI工具宝箱还有这些自有内容板块,帮你从不同角度发现好工具。

☆ 0