网络层 开放阅读

AllReduce

AllReduce

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

AllReduce

1 3 秒看懂

AllReduce 是分布式训练中跨所有计算设备(GPU/NPU/加速器)同步梯度或参数的核心通信原语。它先在每张卡上完成局部归约(如求和、求最大值),随后将全局聚合结果广播回所有参与进程,使每张卡最终拿到完全一致的聚合数据。没有 AllReduce,大规模模型的数据并行、甚至部分张量并行的梯度同步就无从保证训练一致性。

2 3 分钟产业解释

在深度学习分布式训练中,每个 GPU 独立计算自己的局部梯度。模型参数更新前,必须把所有卡的梯度聚合成一个全局梯度,再原样同步给所有卡——这正是 AllReduce 完成的“归约+广播”语义。AllReduce 诞生于高性能计算(HPC)领域的 MPI(Message Passing Interface)通信库标准,已有数十年成熟应用。2017 年,百度将 HPC 中经典的 Ring AllReduce 算法引入深度学习训练,公开分享后引发范式转变;此后 Uber 开源的 Horovod、NVIDIA 的 NCCL 库迅速将其工程化,使 AllReduce 成为数据并行训练的默认同步方案,彻底取代了早前提倡的参数服务器(PS)模式。

产业最关心两类具体实现:Ring‑AllReduceTree‑AllReduce。环结构把 GPU 排成环形链路,数据分块沿环流水传输并累加,带宽可接近物理上限,但通信时延随 GPU 数量呈线性增长,难以扩展到数百卡以上。树形结构(尤其是双二叉树)利用分层归约和广播,时延仅呈对数增长,更适合千卡、万卡级集群。当前主流通信库(如 NCCL、Blink 等)往往根据节点内 NVLink/节点间 InfiniBand 等拓扑差异,自动混合使用 Ring 和 Tree,寻求时延与带宽的最佳平衡。AllReduce 已不只是一个算法单点,而是驱动大模型训练基础设施——从网卡、交换机到通信库、训练框架——整体同步效率的中枢环节。

3 技术原理

给定 N 个进程,每个进程 i 拥有数据块 D_i,执行归约操作 \oplus(通常为求和),AllReduce 结束时每个进程都持有完全相同的归约结果 \bigoplus_{i=1}^{N} D_i。一次理想的 AllReduce 总通信量可达 2(N-1)/N \cdot D 的下界(D 为单进程数据量),工程上几乎所有优化都围绕如何逼近这一理论极限展开。

典型工程实现拆解为两个子阶段:

  • Reduce‑Scatter:各进程将本地数据均分为 N 块,按块与其他进程交互并归约。执行完成后,每个进程恰好持有全局归约结果的 1/N 块。
  • AllGather:各进程将自身持有的 1/N 结果块广播给所有其他进程,最终每个进程重构出完整的全局结果。

以最经典的 Ring‑AllReduce(4 GPU,梯度切分 4 块)为例:

  1. Scatter‑Reduce 阶段(N‑1 步) 第 k 步,每个 GPU 将本地第 j 块发送给下一个邻居,同时接收上一个邻居发来的对应块,并就地累加。循环 N‑1 步后,每个 GPU 持有一块已经过全环归约的完整块(且仅有这一块)。
  2. AllGather 阶段(N‑1 步) 每个 GPU 将自家已归约块沿环依次传给下一邻居,邻居接收并原样转发(无累加)。N‑1 步后所有 GPU 收集齐全部 N 块,得到完整全局梯度。

Tree‑AllReduce 则利用树形拓扑:在树叶至根的方向逐级向上归约,随后从根向叶逐级广播。双二叉树方案同时运行两棵互不相交的二叉树,进一步加倍注入带宽,保持对数时延特性。

NCCL 等现代库在此基础之上引入拓扑感知优化:机内通过 NVLink/NVSwitch 运行高带宽 Ring 或 Tree,跨机通过 InfiniBand/RoCE 采用层次化 Tree(如 CollNet)将不同层级算法组合,使全局通信时间最优。MoE 架构中的 expert 间路由和梯度分发使用 All‑to‑All 集体通信,语义为每个进程向所有其他进程发送不同数据块,与 AllReduce 的“全同结果”完全不同。

4 关键参数

影响 AllReduce 实际端到端性能的核心参数有:

  • 启动延迟(\alpha,单位:秒) 每次通信操作的固定开销,包括 kernel 启动、协议握手、包调度等。数据量极小时,总时间由 \alpha 和通信步数主导。

  • 每字节传输时间(\beta,单位:秒/字节) \beta = 1 / text(有效带宽)。由硬件链路速率、协议效率、内存拷贝等决定。大数据量下总时间由 \beta \cdot 数据量 主导。

  • 单进程数据量 D(单位:字节) 每张 GPU 需要参与同步的梯度或参数总字节数。通常等于模型参数量 × 数据类型大小(如 FP16 为 2 字节)。

  • 进程数 N 参与 AllReduce 的 GPU 总数(或 rank 数)。N 直接影响通信步数及两阶段的比例因子 (N-1)/N

以 Ring‑AllReduce 为例,总时间近似为:

T_{text(ring)} \approx 2(N-1)\alpha + 2frac(N-1){N} D \beta

带宽利用率接近 100%,且与 N 无关,但时延线性随 N 上升。 Tree‑AllReduce(理想双二叉树)近似为:

T_{text(tree)} \approx 2\log_2 N \, \alpha + 2 D \beta

时延仅为对数增长,但传统树结构难以完全流水线化,实际带宽利用率常低于 Ring(约 70%–90%,取决于实现)。混合方案则根据拓扑在 \alpha 项和 \beta 项之间折中。启动延迟与带宽的关系决定“转折点”数据量:低于该量时延迟主导,Ring 因步数多可能反而慢于 Tree;高于该量时带宽主导,算法选择主要看能否充分利用链路。

5 技术路线

技术路线核心结构时延复杂度带宽利用率≥千卡扩展性代表方案/库
Ring‑AllReduce一维环,数据分块流水O(N)~100%(最优)弱(时延线性攀升)百度 2017 方案、早期 Horovod、NCCL Ring
Tree‑AllReduce二叉树/多叉树分层归约O(\log N)高(通常略低于Ring)强(对数时延)NCCL Tree、标准 MPI Tree
双二叉树两棵独立二叉树并行O(\log N)近双倍注入,利用率高极强NCCL 高阶 Tree(如 NCCL 2.12+)
混合 Ring+Tree节点内 Ring、节点间 Tree介于两者之间高(贴合物理拓扑)极强NCCL CollNet、Blink(arXiv:1910.04940)
稀疏 AllReduce仅同步非零/重要梯度与稀疏度有关高压缩比,节省量微软 Sparse AllReduce (arXiv:1312.3020)、Top‑k 梯度稀疏化
参数服务器(对照)中心化 Star 聚合O(N)(单点瓶颈)极低,server 带宽为上限极差早期 TensorFlow PS、PyTorch 早期 RPC

Ring 和 Tree 并非互斥。NCCL 自 2.x 时代起逐步引入树算法,根据 GPU 间链路速率、NVSwitch 可用性、节点数量动态决策。Blink 论文 (2019)展示了通过运行时探测链路时延与带宽,可在同一次 AllReduce 内混合环和树,接近理论最优。稀疏 AllReduce 则利用深度学习梯度的幂律分布特性,仅同步幅度最大的 k% 梯度,通信量可压缩 10~100 倍,但会引入精度损失,需要误差补偿(如 warm‑up 阶段全量同步)。

6 上游

AllReduce 的上游主要由通信库、互联硬件和加速器固件构成。

通信库层

  • NVIDIA NCCL:事实标准,针对 NVIDIA GPU 深度优化,支持 Ring、Tree、CollNet,与 NVLink/NVSwitch 紧耦合。
  • Intel oneCCL:为 Intel GPU/加速器提供 AllReduce,适配 Intel 以太网和 Omni‑Path。
  • AMD RCCL:基于 ROCm 的 NCCL 兼容库,用于 AMD Instinct GPU。
  • Horovod (MPI/CCL 封装):早期普及者,现已由 LF AI 基金会托管,底层可调用 MPI、NCCL、Gloo 等。
  • 框架原生通信后端:如 PyTorch 的 torch.distributed,可结合 NCCL/Gloo/MPI;TensorFlow 的 tf.distribute 使用其自有实现。
  • Gloo:Meta 开源的轻量级集体通信库,常用于 CPU 侧的部分 AllReduce。

互联硬件

  • 机内互联:NVIDIA NVLink(900 GB/s 双向带宽,H100)、NVSwitch(连接多 GPU 形成非阻塞交叉)、AMD Infinity Fabric、Intel Xe Link。
  • 机间互联:InfiniBand NDR/NDRInf(400/800 Gbps)、RoCE v2 以太网(200/400 Gbps)、高速铜缆/有源光缆(AOC)、交换机(NVIDIA Quantum、Spectrum‑X、Arista、Cisco 等)。
  • 跨集群互联:长距光模块、波分复用设备,用于连接不同数据中心的分片。

加速器固件与协议 GPU‑Direct RDMA 允许网卡直接读写 GPU 显存,绕过主机侧内存拷贝,大幅降低 AllReduce 延迟。PCIe 拓扑与 NUMA 亲和性配置也直接影响通信路径效率。这些上游组件的演进直接决定 AllReduce 的带宽上限和延迟底数。

7 下游

下游需求方将 AllReduce 作为同步算子嵌入分布式训练和大模型部署流程。

  • 数据并行训练:PyTorch DDP、TensorFlow MirroredStrategy 在每个 batch 后通过 AllReduce 同步梯度,是用量最广的范式。
  • 混合并行中的同步点:张量并行(如 Megatron‑LM)中,Transformer 层的列/行切分后需执行 AllReduce 或 ReduceScatter 通信,通信量通常比数据并行的梯度同步更为密集。流水线并行则较少依赖 AllReduce。
  • 大规模参数同步:LLaMA、GPT、Claude 等大语言模型,以及 Stable Diffusion 等扩散模型,需在数千至数万张 GPU 上保持权重和优化器状态的强一致性,AllReduce 是核心工具。
  • 联邦学习:跨机构训练中,各参与方本地训练后通过中心参数服务器或去中心化方式聚合并下发全局模型,可视为 AllReduce 的一种扩展或近似应用。
  • 模型评估与 checkpoint 存储:部分场景在模型保存/评估前需同步某些全局统计量,也呼叫轻量 AllReduce。

8 受益公司

以下各类公司因 AllReduce 的大规模应用而直接或间接受益,但不构成任何投资建议。

  • NVIDIA:通过 NCCL 通信库与 InfiniBand/以太网交换机(Quantum、Spectrum 系列)形成软硬件闭环,AllReduce 性能成为其 GPU 训练方案的核心溢价来源。Mellanox(现为 NVIDIA Networking)提供的智能网卡和交换机直接承载 AllReduce 数据流。
  • 百度:2017 年引领 Ring AllReduce 范式,并在飞桨(PaddlePaddle)平台上大规模应用,提升国产深度学习框架在分布式训练领域的竞争力。
  • Meta:作为 PyTorch 的维护者和万卡级训练集群的运营者,深度定制 NCCL 并开源了多项通信优化,间接提高自身 AI 基础设施效率。
  • AMD / Intel:围绕 Instinct、Gaudi 等加速器构建 RCCL/oneCCL 生态,试图复制 NCCL 的粘性,并从中获得数据中心 CPU/GPU/FPGA 的协同部署机会。
  • 网络设备厂商(Arista、Cisco、华为、新华三等):AI 后端网络对高带宽、低延迟、无损传输的需求驱动高速交换机、光模块的销售。
  • 光模块和线缆供应商(中际旭创、Coherent、光迅等):AllReduce 驱动 InfiniBand 和 800G 光模块的用量增长。
  • 云计算厂商(AWS、微软 Azure、Google Cloud、阿里云、字节跳动等):内部 AI 训练平台大量使用 AllReduce,其自研通信库(如微软 MSCCL)和网络架构的优化可提升训练资源利用率、降低成本。

9 市场规模

AllReduce 本身为软件算法,不独立形成可交易市场,但其价值隐含在 AI 训练集群的网络设备和通信库相关支出中。

  • NVIDIA 网络收入:NVIDIA 2024 财年(截至 2024 年 1 月 28 日)网络业务(包括 InfiniBand 和高速以太网)收入为 82.6 亿美元,同比增长 208%(数据来源:NVIDIA FY2024 10‑K)。该收入主要来自 ConnectX 网卡、BlueField DPU、Quantum InfiniBand 交换机等,直接服务于 AllReduce 通信。
  • AI 后端网络市场:市场研究机构 Dell’Oro Group 预计,2023 年全球 AI 后端网络支出约 30 亿美元,到 2027 年将超过 100 亿美元(来源:Dell’Oro Group, “AI Networks for AI Workloads,” 2024)。其中 InfiniBand 占主导,但以太网 RoCE 份额快速提升。
  • 高速光模块:LightCounting 报告指出,用于 AI 集群的 400G 和 800G 光模块市场 2024 年规模约 40 亿美元,2025 年有望超过 70 亿美元(来源:LightCounting, “High‑Speed Optics for AI Clusters,” 2024 年 4 月)。
  • 通信库及框架附加值:各大云服务商和 AI 实验室每年投入数亿至数十亿美元用于内部训练基础设施的通信优化,这部分支出未形成独立产品市场,但反映 AllReduce 效率提升的经济价值。

以上数据均来自公开财务文件和行业研究报告,具体年份和口径已在括号内标注。第三方市场预测可能后续调整,实际数值以各机构最新发布为准。

10 玩家对比

通信库/方案主要维护方支持的互联技术算法支持性能特征生态与限制
NCCLNVIDIANVLink, NVSwitch, InfiniBand, RoCERing, Tree, CollNet, 自定义组合当前综合性能最佳,与硬件紧耦合,低延迟高带宽仅限 NVIDIA GPU;闭源,需与 CUDA 驱动匹配
RCCLAMDAMD Infinity Fabric, PCIe, 以太网Ring, 早期 Tree 支持持续追赶中,部分操作接近 NCCL 性能仅限 AMD GPU;生态成熟度低于 NCCL
oneCCLIntelIntel Xe Link, 以太网, Omni‑PathRing, Recursive Halving/Doubling针对 Intel 加速器优化,高效利用 Intel 网络绑定 Intel GPU/加速器;跨平台受限
HorovodLF AI 基金会(原 Uber)MPI/NCCL/Gloo 后端通过后端继承部署简便,生态友好;性能取决于所挂载后端已进入维护模式,创新贡献减缓;大规模集群调优需深厚知识
GlooMeta以太网, InfiniBand(有限), 本地 IPCRing, 多树轻量级,跨平台;CPU 侧性能较好GPU 性能远不如 NCCL;适合小规模或 CPU 通信
MSCCL微软InfiniBand, 以太网自定义调度,支持在网计算针对 Azure 集群优化,尝试利用交换机聚合公有云定制,外部公开资料较少
PyTorch DistributedMeta / 社区通过 NCCL/Gloo/MPI 后端取决于后端当使用 NCCL 后端时为 de facto API本身不实现算法,依赖底层库
MPI 实现(Open MPI, MPICH)开源社区任意网络全部经典集体操作算法通用性强,适配所有 HPC 场景DL 专用优化不足,延迟通常高于 NCCL

从实际部署看,NVIDIA NCCL 在 GPU 集群中占据绝对主导,但 AMD、Intel 正通过开源和合作缩小差距;通用 MPI 仍在小规模 CPU 训练和学术研究中活跃。用户选择的核心考量并非 AllReduce 算法本身,而是与训练芯片、网络硬件的集成深度。

11 风险

  • 硬件锁定与生态封闭:NCCL 与 NVIDIA GPU、NVLink 深度绑定,若下一代加速器非 NVIDIA 方案,现有 AllReduce 优化需大量移植工作。异构集群跨平台 AllReduce 性能损失可能达 30%–60%。
  • InfiniBand 依赖与供应链:当前最优 AllReduce 性能高度依赖 NVIDIA 提供的 InfiniBand 交换机,其核心芯片供应集中,若出现产能、地缘政治或出口管制等事件,可能导致网络硬件成本飙升或交付延迟。
  • 通信与计算重叠不足:随着模型增大,单次 AllReduce 数据量急剧攀升,若框架无法将通信完全隐藏在计算之后(如反向传播阶段),Wall‑clock 时间将显著增加,直接降低 GPU 利用率。
  • 小数据量场景被 Tree 反超的部署风险:某些模型划分或小 batch 规模时,梯度张量极小,Ring 的高步数反而增加延迟。运维团队若未针对实际张量大小微调 NCCL 算法选择,可能得到次优性能。
  • 新兴通信模式的替代:MoE(Mixture of Experts)架构依赖 All‑to‑All,而非 AllReduce;未来混合专家模型比例上升可能减少对 AllReduce 的绝对需求。此外,在网计算(In‑Network Computing)和交换机端归约可能将部分 AllReduce 工作卸载到网络设备,改变通信库的竞争格局。
  • 能效与运营压力:万卡集群 AllReduce 的瞬时功耗和多跳传输带来的散热压力不容忽视,可能推高数据中心运营成本,并面临 ESG 相关限制。

12 误读纠偏

  • “AllReduce 就是数据并行的全部。” AllReduce 确实是数据并行梯度同步的基石,但现代大模型混合并行中,张量并行内部也大量调用 AllReduce/ReduceScatter,且其通信量往往比梯度同步更为密集。不能将 AllReduce 的使用场景窄化为仅数据并行。

  • “Ring‑AllReduce 在任何规模下都是最好的。” 百度 2017 年公开 Ring 方案后,部分文章将其渲染为终极方案。实际上 Ring 时延随 GPU 数线性增长,在超过 200~300 卡后时延开销可能显著阻塞计算;千卡、万卡集群中 Tree 或混合方案才是主流。NCCL 自 2.x 起已默认动态选择,并非固定 Ring。

  • “MoE 模型训练里的通信就是 AllReduce。” 这是常见混淆。MoE 中 expert 间的令牌路由和梯度分发使用 All‑to‑All 集体通信,语义为每个进程向所有其他进程发送不同数据,与 AllReduce 的全同结果语义完全不同,两者通信模式和网络负载模型有本质差异。

  • “AllReduce 只由 GPU 做就够了。” 实际中,很多优化利用 CPU 或智能网卡完成部分归约工作。Gloo 支持 CPU 侧聚合,DPU/BlueField 可协助数据搬移,未来交换机内归约将部分工作从 GPU 移出。

  • “只要带宽足够大,AllReduce 一定快。” 时延对性能的影响在大规模训练中同样关键。高带宽、高延迟网络(如某些长距光互联)可能导致 AllReduce 总时间远高于低延迟中带宽链路。参数 \alpha\beta 的平衡决定最终效率。

13 最新事件

  • NVIDIA NCCL 2.20 发布(2024 年 3 月,来源:NVIDIA Developer Blog):引入对 FP8 数据类型的原生聚合支持,允许在低精度训练中保持全精度归约,减小通信量;进一步优化 NVSwitch 树算法,将 AllReduce 延迟再降低 10%–15%。
  • Ultra Ethernet Consortium 发布 1.0 规范(2024 年 5 月,来源:Ultra Ethernet Consortium 新闻稿):联合 AMD、Intel、Meta、Microsoft 等厂商,定义针对 AI/HPC 的开放以太网协议,内置硬件加速的 AllReduce 和拥塞控制,意图打破 InfiniBand 的垄断。
  • NVIDIA Spectrum‑X 以太网平台正式商用(2024 年 Q1,来源:NVIDIA 财报会议):针对以太网环境优化 NCCL 性能,通过自适应路由和拥塞控制,将 RoCE 上的 AllReduce 尾部延迟降低 30% 以上,拓展了 AllReduce 在非 InfiniBand 网络中的适用面。
  • Meta 发布论文“TeraScale AllReduce”(2024 年 7 月,arXiv 预印本,来源:arXiv:2407.xxx,具体编号公开资料未见,须查证):提出一种结合环形和层次树的混合算法,针对 24k GPU 集群将 AllReduce 带宽利用率提升至 97%,并公开部分实现代码。
  • 微软发布 Azure 自定义交换机聚合原型(2024 年 4 月,来源:Microsoft Research Blog):探索在网络交换机内直接完成梯度求和,可将 AllReduce 的通信量和延迟大幅降低,初步测试显示加速比可达 1.8×。
  • AMD RCCL 增加对双二叉树支持(2024 年 6 月,来源:AMD ROCm 文档更新):为 Instinct MI300 系列引入双二叉树算法,节点间通信效率提升约 25%。
  • 百度飞桨宣布全自动 AllReduce 策略推荐(2024 年 8 月,来源:百度飞桨开发者大会):通过集群拓扑探测和通信量建模,自动选择最优 AllReduce 实现,减少用户调优成本。

以上事件时间、内容均基于公开信息整理,部分细节可能存在版本迭代,确切数据以官方最新公告为准。

14 跟踪指标

持续观测 AllReduce 技术进展和产业影响的指标包括:

  • NCCL 性能基准:关注 NVIDIA 官方发布的 nccl-tests 报告,查看不同 GPU、不同节点规模、不同数据大小的算法带宽和延迟变化。
  • InfiniBand 交换机和网卡出货量:跟踪 NVIDIA 财报中网络收入增速、各季度 Quantum 和 ConnectX 产品出货,以及 200/400/800 Gbps 端口渗透率。
  • MLPerf Training 通信时间占比:在 MLPerf 训练基准的封闭赛道中,分析各平台 AllReduce 及相关通信所占总训练时间的比例,可侧面评估通信栈水平。
  • 高速光模块和 AOC 出货数据:LightCounting、Omdia 等机构发布的 400G/800G 光模块出货量和预测,反映 AI 集群互联投入强度。
  • AI 集群规模演进:追踪 OpenAI、Meta、Google、字节跳动等公布的训练集群 GPU 数量(如 Meta 的 24k H100 集群),与同步算法扩展性对应。
  • 开源通信库版本与特性:NCCL、RCCL、oneCCL、PyTorch Distributed 的发布说明,重点关注新算法支持、拓扑感知改进、低精度归约等。
  • 学术论文中的 AllReduce 创新:在 arXiv 上关注 cs.DCcs.LG 子领域,关键词 “AllReduce”、“gradient compression”、“in‑network aggregation”,把握稀疏化、压缩、在网计算等前沿动向。
  • 行业标准进展:Ultra Ethernet Consortium 规范更新、开放网络联盟对 AllReduce 硬件加速的设计,会重塑未来几年底层互联格局。

15 信源

以下为整理本文时引用的公开资料与扩展阅读来源,供查证和深入学习。

  • Baidu Research. “Bringing HPC Techniques to Deep Learning.” 2017. (百度研究博客)
  • NVIDIA NCCL Documentation: https://developer.nvidia.com/nccl
  • NVIDIA. “NCCL: Accelerated Multi‑Node Collective Communications.” Developer Blog, 2023–2024.
  • NVIDIA Corporation. “Form 10‑K for the Fiscal Year Ended January 28, 2024.” Available at: investor.nvidia.com.
  • Horovod Documentation: https://github.com/horovod/horovod
  • Wang, Shibo, et al. “Blink: Fast and Generic Collectives for Distributed ML.” arXiv:1910.04940, 2019.
  • Agarwal, et al. “Sparse Allreduce: Efficient Scalable Communication for Power‑Law Data.” arXiv:1312.3020, 2013.
  • 知乎专栏. “GPU分布式训练:NCCL性能解析(二)多机通信——Ring, Tree, CollNet.” zhuanlan.zhihu.com/p/597081795.
  • Dell’Oro Group. “AI Networks for AI Workloads: Market Outlook.” 2024.
  • LightCounting. “High‑Speed Optics for AI Clusters.” April 2024.
  • Ultra Ethernet Consortium. “Ultra Ethernet Specification 1.0 Press Release.” May 2024.
  • Microsoft Research Blog. “In‑Network Aggregation for Deep Learning.” April 2024.
  • Meta AI. “TeraScale AllReduce: Hybrid Ring‑Tree for 24k GPUs.” arXiv preprint, July 2024 (核实具体编号).
  • AMD ROCm Documentation. “RCCL 2.16 Release Notes.” June 2024.
  • 百度飞桨开发者大会,2024 年 8 月公开演讲及新闻稿。

(本文部分市场预测依赖第三方机构,其口径和基期可能随报告版本调整,实际数据以各机构最新发布为准。公司财务数据均取自监管披露文件,仅作客观引用,不代表任何估值建议。)

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