模型层 开放阅读

ZeRO

Zero Redundancy Optimizer

概念 ID
zero-redundancy-optimizer
更新时间
2026-05-29
来源数量
待补

ZeRO

3 秒看懂

ZeRO(零冗余优化器)是一套分布式训练内存优化技术,通过将优化器状态、梯度和模型参数在多个GPU间分片存储,几乎消除了数据并行中每块GPU对模型状态的完整复制,使千亿甚至万亿参数大模型的训练摆脱了单卡显存上限的硬约束。

3 分钟产业解释

在训练GPT-4、LLaMA这类大语言模型时,传统“数据并行”(Distributed Data Parallel, DDP)要求每块GPU保存一份完整的模型副本。除了模型参数本身,像Adam优化器的动量(momentum)和方差(variance)等状态数据,每个参数就要额外占用12字节内存,往往比模型本身还大。当模型规模膨胀到百亿参数级别,单块价值上万美元的80GB显存A100显卡也无力承载。

ZeRO并没有发明新的数学算法,而是采用了一套极其朴素却高效的分片策略,将“每家独栋别墅”变为“分布式仓储”:

  • Stage 1 (Pos):将Adam优化器状态(12字节/参数)均分到N块GPU上。每块卡只存1/N,更新参数时各卡互通有无,临时拼接出完整的优化器状态。此阶段显存占用降至原先的约1/4~1/3。
  • Stage 2 (Pos+g):连反向传播产生的梯度也进行分片。每块GPU只负责计算和存储自己分到的那份梯度,直接释放了此前存储完整梯度的空间。
  • Stage 3 (Pos+g+p):最终连fp16格式的模型参数本身也分片存储。计算某一层时,GPU通过高速互联网络(如NVLink/InfiniBand)瞬时收集该层完整参数,算完即释放,再按需取用下一层。此时,单卡显存占用与GPU数量成反比。

这套组合拳将单GPU内存占用从“1倍模型大小”变为“1/N倍模型大小”。理论上,只要堆叠足够多的GPU,就能训练任意规模的大模型。它使得数据并行这一最简单易用的范式,重新成为万亿参数时代的主流分布式训练基石,直接促成了Bloom(1760亿参数)、T-NLG(170亿参数)等大模型的成功落地。

技术原理

ZeRO源自微软DeepSpeed团队在SC 2020发表的论文《ZeRO: Memory Optimizations Toward Training Trillion Parameter Models》,其核心在于系统性地解决了混合精度分布式训练中的内存画像问题。

1. 内存消耗的解剖

在大模型混合精度训练(fp16参数与梯度,fp32主参数与优化器状态)中,一块GPU的内存主要被三类“大军”占领:

  • 模型状态(Model States):包括fp16参数(2字节)、fp16梯度(2字节)、fp32优化器状态(Adam包含主参数、动量、方差,共12字节)。每参数内存消耗合计精准为 2 + 2 + 12 = 16 字节。这是ZeRO的主攻方向。
  • 残余状态(Residual States):前向传播产生的激活值(Activations)、临时缓冲区等。它们主要由激活检查点(Activation Checkpointing)、张量并行(TP)等技术管控。
  • 显存碎片(Fragmentation):显存分配与回收导致的非连续空闲空间。

在纯数据并行(DP度为Nd)下,所有N块GPU均持有完整私有副本,模型状态的冗余度高达Nd倍,这对集群总显存是巨大的浪费。ZeRO-1/2/3逐级分片优化器状态(Pos)、梯度(g)和参数(p),将单GPU模型状态内存从16Ψ(Ψ为参数量)逐步削减为16Ψ/Nd,近乎实现了完美的线性弱扩展。

2. 三级分片的静态内存建模

设模型参数量为Ψ(Billion),数据并行度为Nd

  • DDP基线M_baseline = 16Ψ 字节。例如,一个100B模型需约1.6TB显存,远超单卡A100(80GB)。
  • ZeRO-1 (仅Pos)M1 = (4 + 12/Nd)Ψ 字节。仅分片最庞大的优化器状态。
  • ZeRO-2 (Pos+g)M2 = (2 + 2/Nd + 12/Nd)Ψ 字节。继续分片梯度,进一步压缩。
  • ZeRO-3 (Pos+g+p)M3 = (16/Nd)Ψ 字节。内存占用与Nd成反比。当Nd=64时,100B模型的单卡模型状态内存需求降至仅25GB。

可见,随着Nd增大,模型状态不再构成瓶颈,残余状态(尤其是激活值)和通信开销成为新的主要约束。

3. ZeRO-3 的通信机制与算子

ZeRO-3并未将某一层的计算切分到多卡(那是张量并行的任务),而是让每块GPU独立、完整地计算每一层。其关键操作在于对分片参数的“按需索取”与“聚合释放”。以典型Transformer层为例:

  • 前向传播:GPU执行到第L层时,发现本地只有该层参数的1/Nd分片。它发起一次AllGather通信,从组内所有GPU收集完整的第L层参数,重组后执行本层的前向计算。紧接着,计算生成的激活值传入下层,而本层刚拼好的完整参数若无后续需求,其显存即可被立即释放(或延迟释放,由策略决定)。
  • 反向传播:梯度反向传播至第L层时,过程对称。同样需要AllGather收集一次完整参数(若前向释放后已无缓存)以计算局部梯度。计算完成后,各GPU并不持有完整梯度,而是通过ReduceScatter操作,将聚合后的梯度按分片责任分发,每个GPU只保留自己应更新的那1/Nd梯度的累加结果,用于后续更新本地那个参数分片。

此过程中,每层的通信均由NCCL库的高效集合通信原语完成。ZeRO-3额外引入的通信总量约为每训练步(前向与反向各一次AllGather,加上梯度ReduceScatter),但优秀的工程实现(如DeepSpeed引擎)会通过将“下一层参数的AllGather”与“当前层计算”进行流水线式重叠,隐藏绝大部分通信延迟。

4. 与3D并行的正交叠加

ZeRO是数据并行(DP)维度的创新,可与以下两种并行策略正交组合,形成应对万卡级训练的3D混合并行:

  • 张量并行(TP,层内):将单层内的矩阵乘法切割到多卡,其通信极密集但能有效降低单层的显存和延迟峰值。Megatron-LM是其先驱。通常TP度限制在8以内。
  • 流水线并行(PP,层间):将不同Transformer层组分配给不同GPU,通过流水线减少中间激活值,通信量极低。 典型组合为:先在一个节点内用TP分割大矩阵,再跨节点用PP切分层组,最后对这两者构成的“模型副本”应用ZeRO驱动数据并行。ZeRO的分片通信组(N_dp)一般保持在8至64之间,以平衡显存节省与跨节点网络延迟。

关键参数与关键概念

  • 分片粒度(Stage):1/2/3三级,是显存、通信、易用性的权衡旋钮。Stage 2常被作为大规模训练的默认起点。
  • 分片通信组大小(Nd):应用于ZeRO的数据并行GPU数量。增大Nd可近乎线性地减少单卡模型状态内存,但会增加跨节点AllGather频率和延迟。
  • 通信计算重叠(Comms Overlap):衡量ZeRO-3实现优劣的核心工程指标。引擎是否能在计算层N时,提前在后台拉取层N+1的参数。
  • AllGather带宽利用率:ZeRO-3的前向/反向性能瓶颈。它高度依赖GPU间互联带宽(如NVLink 100GB/s+,或InfiniBand 50GB/s+)。
  • 卸载开关(Offload):将优化器状态、梯度甚至参数卸载到CPU RAM或NVMe SSD。由ZeRO-Offload(2021年提出)和ZeRO-Infinity(2021年提出)驱动,利用CPU计算Adam更新,将GPU显存压力向异构存储空间转移,是以PCIe带宽换取容量上限的典型范例。

技术路线与行业格局

维度基础数据并行 (DDP)ZeRO-1ZeRO-2 / FSDPZeRO-3 (FSDP)张量并行 (TP) 为主
分片对象优化器状态+梯度+模型参数层内矩阵
单GPU模型规模上限受单卡显存硬约束约扩大3~4倍约扩大8~10倍线性扩展到集群总显存受TP度限制,扩展性有限
前向额外通信量每层1次AllGather每层2次AllReduce
反向额外通信量梯度AllReduce同左ReduceScatter代替AllReduce每层AllGather+ReduceScatter每层2次AllReduce
计算效率折损基准<1%<5%5%~15%高通信压力下效率折损显著
实现与维护复杂度极低高,需精细调参极高,需手动切割计算图
代表框架PyTorch DDPDeepSpeedDeepSpeed, PyTorch FSDPDeepSpeed, PyTorch FSDPMegatron-LM, Mesh-TensorFlow

注:效率折损为公开社区大规模训练经验定性估算,实际值受限于模型结构、GPU网拓扑和重叠实现质量。资料来源:微软DeepSpeed论文(2020)、Meta PyTorch FSDP技术报告(2022)。

技术演进年表

  • 2017~2019:Transformer时代来临,Megatron-LM提出张量并行(TP),首次将模型层切分至多GPU,开创模型并行先河。
  • 2019:微软发布ZeRO论文及DeepSpeed库,其“数据并行友好型”分片策略迅速被接纳为标配。
  • 2020~2021:ZeRO-3成功训练T-NLG(170亿参)、Bloomz(1760亿参);PyTorch社区启动FSDP,对标ZeRO-3。
  • 2023至今:PyTorch原生FSDP稳定性与性能日趋成熟,逐渐成为新项目的首选。ZeRO-Infinity支撑参数量跨入万亿。3D混合并行(TP+PP+ZeRO-DP)成为行业共识,千卡至万卡集群训练成为前沿模型常态。

上游供应链分析

  • 核心计算硬件(GPU/NPU):以英伟达(NVIDIA)A100 80GB(HBM2e,1935 GB/s,2021年出货)和H100 80GB(HBM3,3350 GB/s,2023年出货)为代表。其高带宽显存(HBM)容量直接决定了分片后残余状态(激活值)的容纳上限,是ZeRO配置的物理底线。
  • 高速互联与网络设备
    • 节点内互联:英伟达NVLink与NVSwitch,提供900 GB/s(A100)至900 GB/s双向(H100)的GPU直连带宽,是保障ZeRO-3频繁AllGather性能的生命线。
    • 节点间互联:英伟达ConnectX-7系列(400Gb/s)、InfiniBand NDR交换机、Spectrum-4以太网交换机(800G)等。ZeRO-3/FSDP跨节点通信依赖GPU Direct RDMA技术绕过CPU,对网络延迟和带宽极其敏感。
  • 服务器系统与存储:ZeRO-Offload/Infinity卸载方案使CPU内存(DRAM)容量与带宽成为关键配置项。单节点配置2TB~4TB的DDR5内存成为面向万亿参数训练节点的主流趋势(如英伟达DGX及超大规模数据中心定制机)。同时,CXL(Compute Express Link)内存互联技术、高速企业级NVMe SSD(PCIe 4.0/5.0)因可平滑扩展异构存储层级而受益。

下游应用场景

  • 基础大语言模型预训练:从百亿(如LLaMA-2 70B,2023年)到万亿参数级的稠密或稀疏MoE(Mixture of Experts)模型的核心训练技术。
  • 多模态大模型:如Sora等视频生成模型,其时空维度激活值极大,ZeRO分片与激活检查点、卸载技术结合,是在有限预算下扩大规模的关键。
  • 模型微调与RLHF:全量微调和基于人类反馈的强化学习(RLHF)训练同样面临优化器状态和梯度内存高峰,ZeRO-2/3可显著降低微调门槛。
  • 科学计算与蛋白质预测:如AlphaFold等,其模型序列长度和结构复杂,通过ZeRO可扩展处理更大尺度的科学问题。

主要参与公司与市场影响

  • 微软 / DeepSpeed:ZeRO的创造者与DeepSpeed库维护者。作为Azure AI超算的核心工具链,直接服务于微软云和OpenAI的GPT系列(如GPT-4)训练,代表资产为DeepSpeed开源社区及微软AI服务(来源:微软官方博客,2020-2023)。
  • Meta / PyTorch FSDP:FSDP(完全分片数据并行)的官方实现者与行业推动者,内部大规模用于LLaMA家族(2023年)的训练。其集成于PyTorch原生生态(DTensor),正深刻分流一部分原先依赖DeepSpeed的开发者,巩固了其在PyTorch生态中的基础设施地位(来源:PyTorch官方文档,2023;Meta AI博客)。
  • 英伟达(NVIDIA):通过NeMo Megatron框架,将自研TP/PP策略与ZeRO/FSDP深度融合,形成行业标准组合。持续优化NCCL通信库以压榨硬件极限,并通过销售高利润的GPU(如H100)和InfiniBand网络设备间接受益(来源:NVIDIA开发者博客, SC23会议)。
  • 潞晨科技 / Colossal-AI:国内对标开源项目,提供与ZeRO类似的并行优化组合。其通过异构内存管理和自动并行化策略,试图解决DeepSpeed在某些场景下易用性不足的问题,代表国内在大模型训练基础设施方向的创业力量。
  • 主流云厂商:AWS、Google Cloud、华为云均在其AI平台中深度集成ZeRO/FSDP逻辑,并对其底层网络(EFA、OCS、昇腾互联)进行了针对性配置优化。

市场规模与资本映射

公开资料未见直接以“ZeRO”为口径的独立市场统计与规模预测。其价值深度嵌入在大模型训练与AI服务器市场之中。

  • AI训练服务器市场:据TrendForce(2024年3月报告)统计,2023年全球AI服务器出货量预估近120万台,年增逾38%。其中,配高带宽内存与高速网卡的模型训练节点占比持续提升。
  • 硬件升级驱动力:ZeRO驱动的万亿参数训练,对GPU集群提出了“高互联>高算力>高显存”的特定需求,直接推动对英伟达NVLink交换机、800G InfiniBand/Ethernet网卡、大容量DDR5服务器内存的需求增长。这构成了AI基础设施建设中的确定性增量市场,利好数据中心级互联与交换机产业链。

玩家对比:DeepSpeed ZeRO vs. PyTorch FSDP

对比维度DeepSpeed ZeROPyTorch FSDP
开发者与生态绑定微软DeepSpeed团队Meta PyTorch核心团队
原生集成度作为独立第三方库,需额外安装与配置PyTorch 2.x原生模块(torch.distributed.fsdp),无缝集成
Stage 2 成熟度极早成熟,文档丰富,社区经验沉淀厚近两版(2.0后)稳定性与性价比提升显著,追赶迅速
Stage 3 性能与调优提供更细粒度的分片管理、卸载(ZeRO-Infinity)、混合精度插件API更简洁统一,故障恢复、meta初始化等与生态深度耦合,易用性更佳
典型训练案例GPT-NeoX, Bloom, Megatron-DeepSpeedLLaMA 2/3, 部分Llama-Factory
趋势曾经的先行者,在万亿参数及卸载方案上仍有深厚技术积累凭借生态整合简化开发流程,正成为多数新超大模型训练(尤其在PyTorch 2.x生态下)的首选

注:截止2024年中期,FSDP与DeepSpeed在各自最新版中Stage 3的性能差距已至相对接近区间(10%~15%以内),选型更多取决于团队技术栈、与TP等其他并行的耦合需求以及基础设施适配。

核心风险与约束

  1. 通信瓶颈与隐式性能天花板:ZeRO-3的通信量高,在跨多机、低带宽(如25GbE)网络上,因无法有效重叠通信与计算,性能衰减可能超30%,严重时反而不如Stage 2 + 更小模型并行度。大规模集群的网络故障域问题也需正视。
  2. 工程实现复杂度与调参墙:从Stage 2进阶到Stage 3并非无缝,涉及分片粒度、offload策略、通讯组划分、激活检查点策略等精细调参,调试不当易引发显存溢出(OOM)或计算效率暴跌。
  3. 对高带宽硬件的强依赖:ZeRO有效性的前提是NVIDIA InfiniBand或RoCEv2等高性能网络。这给非此类标准硬件的云环境或国产NPU平台迁移带来底层通信库适配难题。
  4. 生态碎片化风险:PyTorch官方强力推动FSDP,对第三方库DeepSpeed的社区主力支持形成分流。初创工具链(如ColossalAI)若不能在易用性或性能上形成代差,可能面临被官方方案收敛替代的风险。

核心误读纠偏

  • 误读1:“ZeRO完全消除了内存冗余,因此叫‘零冗余’优化器。” 事实:ZeRO消除的是“模型状态”(优化器状态、梯度、参数)在数据并行组内的跨GPU冗余。但激活值、计算临时缓冲区等“残余状态”的冗余仍存在,并在大规模情况下成为新的内存瓶颈。这是工程优化上的一种相对“零冗余”,而非绝对。
  • 误读2:“ZeRO-3把模型参数都切碎了,与模型并行没有区别。” 事实:本质区别在于“谁的活”。ZeRO-3是分片存储,全量计算——每块GPU独立负责一整层的矩阵乘法,只是在计算前通过AllGather将参数“拼”回来。而模型并行(如张量并行TP)是全量存储,分片计算——每块GPU只算矩阵乘法的一部分,然后合并结果。二者通信模式和瓶颈完全不同,ZeRO保持了数据并行在代码上的简洁性。
  • 误读3:“用了ZeRO,所有优化器的显存占用就都一样了。” 事实:ZeRO的主要红利正是来自于对占用巨大的Adam优化器状态(12字节/参数)的分片。若换用内存友好的优化器(如SGD仅4字节,Lion约8字节,8-bit Adam约4-6字节),ZeRO节省的内存绝对量与比例都会显著缩小。大模型社区持续探索非自适应优化器以从源头上“断舍离”。

最新事件与前沿动态(截至2025年5月)

  • PyTorch FSDP2的发布与普及:2024下半年,基于DTensor的FSDP2 API已逐步稳定,其更灵活的跨维分片策略和与torch.compile的深度兼容,吸引了众多新项目从DeepSpeed迁移。Meta于2024年底公开分享的内部集群FSDP大规模训练实践,证明了其在数千卡GPU集群的有效性(来源:PyTorch Conference 2024)。
  • DeepSpeed ZeRO-Infinity的CXL应用:微软Azure在2024年末展示了利用CXL 2.0共享内存池,实现跨越节点的ZeRO-Infinity卸载,显著降低了对单节点大容量内存的配置要求,并提升了弹性,被视为下一代内存解耦训练架构的雏形(来源:微软研究院博客,2024年12月)。
  • 国产AI芯片对ZeRO的适配:多家国产NPU厂商(如昇腾,寒武纪)在2024-2025年批量完成对FSDP/ZeRO-3通讯算子的适配。但由于芯片间互联技术从私有协议转向开放标准的进度不同,性能与稳定性问题仍是规模化部署的主要障碍(来源:各厂商公开适配指南)。
  • MoE模型的内存新挑战:随着Mixtral 8x7B、DeepSeek-V2等MoE模型的火爆,其稀疏激活特性带来了全新的显存碎片和专家参数分片挑战。业界正探索结合ZeRO与专家并行(Expert Parallelism)的混合策略。

关键跟踪指标

  • 框架迭代与社区迁移率:GitHub上DeepSpeed与PyTorch FSDP的Star增长、Issue解决率、版本发布频率。新开源的大模型训练代码仓库对二者的选取比例(可观察HuggingFace transformers Trainer的集成偏好变化)。
  • 顶尖模型训练配置的透明公开:关注Meta、Microsoft、Google、国内头部AI Lab发布的技术报告,观察其100B+参数模型训练时,对“DP/TP/PP”维度的配置组合与ZeRO Stage选择。例如,未来是否出现“FP8训练下ZeRO退居Stage 2”的趋势。
  • GPU与互联硬件迭代:英伟达Blackwell(GB200)对NVLink-C2C及统一大内存的落地进展;InfiniBand/以太网800G端口的交换机与网卡渗透率;AMD、Intel AI加速卡生态对各类集合通信库(RCCL/oneCCL)对ZeRO模式的支持度与性能报告。
  • 异构内存技术采用率:CXL内存接口在主流通用AI服务器中的实际配置率;三星、SK海力士HBM-PIM(存内计算)等新技术对显存带宽瓶颈的缓解程度,及其对ZeRO卸载策略必要性的潜在影响。

核心信息源

source: 公开披露与公开资料整理 本页仅用于产业链学习、信息检索和研究辅助;不构成投资建议,不预测涨跌,不提供买卖、仓位或目标价建议。
完整概念页 复盘 13 节结构 公司投研页 沿产业链找到受益公司 投资课 把概念转成可跟踪模型