训练与微调分布式训练DeepSpeed更新 2026-09-28

DeepSpeed ZeROZeRO (Zero Redundancy Optimizer)

一句话定义

DeepSpeed ZeRO 是一种通过将训练冗余(优化器状态、梯度、参数)切分到多卡来消除数据并行中显存浪费的技术,其包含三个级别的逐级切分,使显存占用按卡数近似线性下降。

是什么

在朴素数据并行下,每张卡都需要完整保存模型的参数、梯度和优化器状态,导致大量显存重复。ZeRO 通过分级策略消除这种冗余。ZeRO-1 负责切分优化器状态,ZeRO-2 在此基础上切分梯度,ZeRO-3 进一步切分模型参数,在用到时才按需聚合拉取全量参数。这种机制的规律是显存越省,通信量越大。

ZeRO-3 的参数按需聚合会增加通信量,导致吞吐低于纯数据并行。为进一步换取显存,它支持将优化器或参数卸载到中央处理器或硬盘。ZeRO 与完全分片数据并行(FSDP)思路同源,FSDP 是原生实现,但两者的工程生态与调参界面有所不同。

解决什么问题

当模型规模增大,单卡显存无法完整存放优化器状态时,常规路径是切分模型或切分训练冗余。ZeRO 的核心逻辑是用通信代价换取显存空间,使得原本受限于单卡显存的任务得以执行。它让采用数据并行的机器能够训练更大的模型。

面试怎么考

面试通常围绕分级机制展开。常见考法是要求说明三个级别分别切分了什么内容,并分析通信代价的变化规律。答题时需明确逐级增加切分对象以及按需拉取参数带来的通信开销。另一个高频考点是它与张量并行的配合方式,需说明两者如何叠加使用。此外,考官常要求对比它与 FSDP 的关系,答题要点在于指出两者的底层切分逻辑同源,但在框架原生支持和工程生态上存在差异。

又称:ZeRO · DeepSpeed · 零冗余优化器

相关术语

—— 本条完 ——