|
谷歌在 TPU v8 上做了一个前所未有的决定,训练芯 8t 继续用 3D Torus,而推理芯 8i 却换成了一套全新的 Boardfly 拓扑。这件事说明,AI 数据中心网络的拓扑之争已经不能简单归结为谁先进、谁落后。英伟达采用的 Rail-Optimized 网络仍然是行业通用底座,谷歌为训练和推理各选一套拓扑,国内厂商则把机柜内的高带宽域和机柜间的 RDMA 网络分得很清楚。三条路线背后,其实是同一种驱动力:集合通信模式在决定拓扑选择。 集合通信的四种基本操作要理解这些分歧,必须先回到集合通信的四种基本操作。 AllReduce 是梯度同步的核心。所有节点先把自己的本地梯度发出去,经过规约后得到一份全局结果,再同步给所有节点。它的特点是突发性高、同步性强、数据量大。在数据并行场景下,一个训练步可能产生几百 GB 的梯度,需要在几十毫秒内完成规约。网络的核心任务是高带宽,并且要保证所有参与的节点在同一时间窗口内完成,任何一条长尾路径都会拖慢整个集合。 ReduceScatter和AllGather是模型并行和张量并行场景下的常客。ReduceScatter 把全局梯度切分到不同节点,AllGather 则把切分后的结果重新组装。它们对单向带宽的要求很高,但对延迟抖动的容忍度比 AllReduce 稍高,因为数据可以按块流水线传递。 AllToAll 则是最让网络头疼的。它要求每个节点都向其他所有节点发送一份数据,流量分布几乎均匀,没有任何明显的局部性。在 MoE 的专家并行和推理阶段的 Token 路由中,AllToAll 的频率正在快速上升。它对网络的要求是低跳数、低延迟、全对全带宽,而不是简单的总带宽足够大。 这四种操作对应着四种并行策略:数据并行(DP)、张量并行(TP)、流水线并行(PP)和专家并行(EP)。不同的模型规模、不同的 batch 大小、不同的 MoE 配置,会让某一种通信模式占据主导。而主导通信模式又反过来决定了哪种拓扑更划算。这就是 AI 网络没有统一答案的根本原因。 主要路线对比:三种设计哲学今天的 AI 网络至少存在三条主要路线。 英伟达路线:通用主义的胜利
英伟达的哲学可以用一句话概括:用通用硬件加软件优化,覆盖尽可能多的工作负载。 在 Scale-up 层,英伟达用 NVLink 和 NVSwitch 把多台服务器内的 GPU 连成一个高带宽域。H100 时代是 8 卡互联,GB200 时代扩展到 72 卡 NVLink 域。到了 Blackwell 系列,NVLink 带宽继续翻倍,单域内的通信能力已经相当于一个小型网络。 在 Scale-out 层,英伟达主推 Rail-Optimized 网络设计。所谓 Rail,是把同一位置、不同服务器上的 GPU 连在同一台 Leaf 交换机上。比如 16 台服务器的第 1 号 GPU 都连到 Rail-1 交换机,第 2 号 GPU 都连到 Rail-2 交换机。在这种设计下,同一 Rail 内的 GPU 通信只需要一跳,大量训练流量在 NVLink 域和 Rail 内部就能完成,不需要每次都走到 Spine 层。更激进的版本甚至会去掉 Spine 层,形成 Rail-only 架构,进一步降低成本。 当然,当流量必须跨 Rail 或跨服务器机柜时,仍然可以通过 Spine 层或 IB/RoCE 网络完成。英伟达的关键软件是 NCCL。它通过拓扑感知调度,知道哪些 GPU 在 NVLink 域内、哪些需要走 Rail 内 Leaf、哪些需要跨 Spine 走 IB/RoCE。配合 SHARP 和 NVLS 等网内规约技术,英伟达让交换机也参与到 AllReduce 的规约计算中,进一步降低通信延迟。 这条路线的优势是通用性。同一套硬件和软件,训练、推理、微调、推荐系统都能跑。代价是面对某些极端 workload 时,效率和专门设计的系统有差距。 谷歌路线:训练与推理彻底分叉谷歌的 TPU v8 首次为训练芯和推理芯设计了两套硬件规格和网络拓扑。 训练芯 TPU 8t 仍然使用 3D Torus / Hypercube 作为 pod 内互联拓扑。 这个路线从 TPU v4 开始一直延续到现在。每颗芯片引出 6 条 ICI 高速链路,分别对应 X、Y、Z 三个维度的正负方向,构建起一个三维环形网格(3D Torus)。在 TPU v8 这一代,训练 pod 的 scale 达到 9,600 颗芯片,单芯片的 Scale-up 带宽提升到 19.2 Tb/s。 3D Torus 的好处是确定性。每个节点只和最近邻连接,线缆数量可控,路径虽然比Fat-Tree 长,但训练的同步式 mini-batch 特性让延迟可以被摊销。训练时不需要每一跳都快,需要的是端到端带宽和可扩展性。 但在跨 pod 的 Scale-out 层,谷歌引入了 Virgo Network。这是一个扁平两层无阻塞的 fabric,使用高基数交换机,支持最多 134,000 颗 TPU 8t 互联。能提供47 Pbps的无阻塞带宽,每芯片的 Scale-out 带宽是上一代的 4 倍,达到 400 Gbps。Virgo 还强调多平面设计、故障隔离和 straggler 检测,显然是为 10 万卡级别的训练集群准备的。 推理芯 TPU 8i 则完全换了一套拓扑,叫做 Boardfly。 它采用了与 dragonfly 类似的分层思想:通过增加长距离直连链路来减少跳数。但 Boardfly 并非标准 dragonfly,而是谷歌的定制设计。它的分层结构是4 颗芯片组成一个 tray,内部用 ICI ring 互联;8 个 tray 组成一个 board group,内部用铜缆全互连;36 个 group 之间通过 OCS 光电路交换机动态连接。整个 pod 最大 1,152 颗芯片,任意两点之间的最大跳数只有 7 跳,比同规模 3D Torus 的 16 跳减少了 56%。 谷歌在推理芯上还加入了一个 CAE(Collectives Acceleration Engine),专门把AllReduce、AIIGather 等集合通信从 TensorCore 上卸载下来。配合 Boardfly 的低跳数拓扑,谷歌宣称单次 collective 的延迟可以降低到原来的五分之一。 这个对比非常关键,谷歌不再坚持一种拓扑统治一切。训练要带宽和规模,所以用 3D Torus 加 Virgo;推理要低延迟和低跳数,所以用 Boardfly 加 CAE。两种 workload 的经济学和通信模式完全不同,网络自然要分叉。 超节点/分层路线:Scale-up 与 Scale-out 的边界重构超节点并不是国内厂商独创的概念。英伟达的 GB200 NVL72 把 72 颗 GPU 放在同一机柜内,通过 NVLink 组成一个高带宽域;谷歌的 TPU 训练 pod 也可以看作一个超大号的超节点。但国内厂商(阿里、华为等)把这一思路用得更加极致:把网络明确分成快域和慢域,以超节点作为基本计算单元,机柜内做紧耦合 Scale-up,机柜间做弹性 Scale-out。 阿里的 HPN 是这条路线的代表。阿里在 SIGCOMM 上展示过其大规模 AI 集群网络设计,核心思路是在机柜内部构建一个极高带宽、极低延迟的 Scale-up 域,让张量并行和专家并行的紧耦合通信在这个域内完成;机柜之间则通过 RDMA 网络做 Scale-out,负责数据并行和模型并行的弹性扩展。 华为的超节点路线也类似。通过把大量 GPU/NPU 集中在机柜内,用高带宽互联技术(如 NVLink、自研总线或光互连)把它们组成一个统一的计算节点,然后让这些超节点再通过标准网络互联。这种设计的本质是把网络层变成计算层的一部分。机柜内不再是简单的服务器互联,而是形成一个紧耦合的算力单元。 这条路线的优势是性价比。在超节点内部,通信带宽极高、延迟极低,可以把很多在传统网络上需要多跳的通信变成一跳甚至零跳;在超节点之间,则可以用更成熟的 RDMA/IB 技术控制成本。它的代价是系统复杂度更高,软件和硬件的耦合也更深。 值得注意的是,超节点路线和谷歌的 Boardfly 有一个共通点:它们都在重新审视多级、分层的交换拓扑。无阻塞Fat-Tree 在超大规模下太贵,全扁平无阻塞在物理上不可持续,而把计算密集通信约束在一个高带宽域内,再用相对便宜的网络做跨域扩展,是一种工程上的折中。这也解释了为什么 dragonfly、butterfly 这类曾经在 HPC 里讨论很多的拓扑,如今在 AI 推理和超节点场景里重新受到关注。 从拓扑选择到拓扑感知:网络正在参与计算拓扑之争只是第一层。更深层的变化是,网络开始从被动管道变成主动参与计算调度的组件。 这个趋势体现在几个方向。首先是拓扑感知算法。拓扑感知并不是新概念,在HPC领域已经有成熟应用。NCCL 和华为 HCCL 都会根据物理拓扑调整集合通信的执行顺序。比如在一个 Rail-Optimized 网络里,NCCL 会优先让同一 Rail 内的 GPU 先完成局部规约,然后再跨 Rail 汇总,而不是让所有节点一开始就对等通信。这种优化可以把通信时间从线性增长变成接近对数增长。在 AI 集群规模达到万卡、十万卡之后,拓扑感知的重要性被进一步放大。 其次是通信卸载。英伟达的 SHARP 和 NVLS 让交换机承担部分规约计算;谷歌的 CAE 则专门用一颗 chiplet 来处理集合通信。这些技术的共同目标是让网络设备不再只是转发数据,而是参与计算。在 AI 这种通信密集的 workload 里,通信和计算的边界正在模糊。 第三是光交换和可重构拓扑。谷歌从 TPU v4 开始就在大规模使用 OCS 光交换,它可以在微秒级重新配置光路,把坏点隔离、把流量重新路由。在 Boardfly 和 3D Torus 里,OCS 都是核心组件。这意味着未来 AI 网络的拓扑可能不是固定的,而是根据 workload 和故障情况动态调整的。 这些变化对网络工程师提出了新要求。过去设计网络主要关心带宽、延迟、收敛比;现在还需要理解训练框架的并行策略、集合通信的调度逻辑、光交换的约束条件。AI 网络的设计者必须同时关注上层的通信语义、中层的拓扑选择、底层的使能技术三个层面。 转自SDNLAB
|