一个反直觉的事实:InfiniBand 统治 AI 集群网络十几年,但 2024 年最大的两个训练任务——Llama 3 405B 和 xAI 的 Grok——都不是在 InfiniBand 上跑的,而是在以太网上。Meta 明明同时建了一座 2.4 万卡的 InfiniBand 集群和一座同规模的以太网集群,却把最大的模型放在了以太网那座上(Llama 3 论文 §3.3)。要看懂这场反杀,得先看懂 InfiniBand 到底做对了什么——因为反杀者赢的方式,恰恰是把它做对的东西在以太网上重做了一遍。
这篇文章的主线一句话:InfiniBand 的本质不是”更快的网线”,而是把网络重新设计成”集群级的内存总线”;而它的统治与被反杀,共同证明了同一条元规律——网络架构是对流量画像的最优编码,谁贴合 LLM 训练的流量画像,谁就能当 AI 网络。
一、先把新节点挂上旧树:三级带宽阶梯
在《Decode 速度上限公式》里我们算过:单卡推理的天花板是 HBM 显存带宽。分布式训练把同一个问题放大到集群尺度——数据要跨越三级阶梯,每下一级都窄一个数量级:
| 层级 | 通道 | 带宽(单向) | 相对比例 |
|---|---|---|---|
| GPU 内部 | HBM3(H100 SXM) | ~3350 GB/s | 67 |
| 节点内 8 卡之间 | NVLink 4(900 GB/s 双向/卡) | ~450 GB/s | 9 |
| 跨节点 | InfiniBand NDR 400 Gb/s(每卡一张网卡) | ~50 GB/s | 1 |
比例是我用公开规格验算的:3350/450 ≈ 7.4,450/50 = 9,首尾相除整整 67 倍(DGX H100 规格,NVLink 拆解)。
而分布式训练的核心动作——张量并行那篇里拆过的 all-reduce、all-gather、reduce-scatter——恰恰要频繁跨越最窄的那一级。跨节点网络就是集群的”HBM”:它的带宽和延迟直接写进整个集群的 MFU 分母里。
这就是为什么值得为它单独设计一种网络。
二、InfiniBand 的三个第一性设计
InfiniBand 诞生于 1999 年前后的 HPC 世界,它的前提假设和以太网完全相反:以太网假设”网络不可靠、端点自求多福”,InfiniBand 假设”网络归我管,我保证它像内存总线一样可靠”。这个前提衍生出三个设计。
1. RDMA:把 CPU 从数据通路上摘掉
Remote Direct Memory Access——网卡直接把数据写进对端机器的内存,不经过对端 CPU、不经过内核、不做数据拷贝。传输层协议栈整个卸载到网卡硬件里(Quantum-2 架构说明)。配合 GPUDirect RDMA,网卡可以直接读写 GPU 的 HBM,连主机内存都绕开(NVIDIA 文档)。
用一个类比:TCP/IP 像寄快递——打包、贴单、分拣、签收,每一步都有人力(CPU 周期)参与;RDMA 像两栋楼之间装了传送带,按下按钮东西直接出现在对面的货架上。
2. 无损网络 + 集中式路由:把丢包从可能性里摘掉
InfiniBand 用链路级的 credit-based flow control:发送方只有在接收方明确有缓冲空间(credit)时才发数据,从物理上杜绝了”发太快导致对方丢包”。丢包率趋近于零,就不需要 TCP 那套为丢包设计的重传/慢启动机制,延迟才能压到微秒级以下——Quantum-2 交换机单跳端口延迟低于 100 纳秒(QM9700 规格)。
路由则由一个集中的 Subnet Manager 统一计算——像一个”网络版的调度器”看着全局拓扑排路径,而不是以太网那样每台交换机各自分布式决策。
3. SHARP:把加法搬进交换机
这是对 LLM 训练最”量身定做”的一条。all-reduce 的本质是全体求和,传统做法是数据在 GPU 之间来回倒腾;SHARP(Scalable Hierarchical Aggregation and Reduction Protocol)让交换机自己做加法——梯度流过交换机时就地聚合,数据量逐层递减。
ISC 2020 的 SHARP 硬件论文给了实测:HDR InfiniBand 上 MPI_Allreduce 带宽达到网络带宽的约 95%,中大消息的规约带宽比主机端软件算法高 2–5 倍,PyTorch 应用端提速最高 18%(Graham et al., ISC 2020)。到 2025 年的 Quantum-X800(XDR 800 Gb/s),SHARPv4 的网内计算能力已标称 14.4 TFLOPS(Quantum-X800 介绍)。
速率代际也顺手放一张表(4x 链路,InfiniBand Trade Association 路线图):
| 代际 | EDR | HDR | NDR | XDR |
|---|---|---|---|---|
| 速率 | 100 Gb/s | 200 Gb/s | 400 Gb/s | 800 Gb/s |
| 代表交换机 | Switch-IB | Quantum | Quantum-2 | Quantum-X800 |
三、它为什么和 LLM 训练是天作之合
同步 SGD 的流量画像非常独特:每一步训练结束,所有卡必须交换梯度并等齐才能进入下一步。 这带来三个后果。
后果一:通信量大得惊人。 手算一笔账(用 ring all-reduce 的标准通信量公式 ,已用脚本验算):70B 参数模型,bf16 梯度共 140 GB;16 路数据并行做一次 all-reduce,每张卡要收发各 GB。在 NDR 50 GB/s 的网卡上,理想化下界也要 5.25 秒——而这只是一步训练里的一次同步。405B 模型的 bf16 梯度是 810 GB。真实系统靠通信-计算重叠、梯度分桶、分层算法把这个成本藏起来,但藏不掉的部分直接吃 MFU:ByteDance 的 MegaScale 在 12288 卡上训 175B 模型,做完全栈优化后 MFU 也只有 55.2%(已是 Megatron-LM 基线的 1.34 倍)(arXiv 2402.15627,NSDI’24)。
后果二:木桶效应,尾延迟决定一切。 all-reduce 是全员同步点,一万张卡里最慢的那条链路决定全局速度。这正是 InfiniBand 无损+微秒级延迟的用武之地:小消息(比如 4 KB 的控制信息)在 400 Gb/s 链路上的串行化时间只有约 82 纳秒,和交换机单跳延迟同一量级——此时网络快不快完全看每跳延迟,而不是带宽。
后果三:流量是周期性、可预测的。 每一步的通信模式几乎完全一样。这既是 InfiniBand 集中式路由的福音(路径可以算得很准),也埋下了以太网反杀的伏笔——可预测的流量,谁都能针对性优化。
论文里的实况可以看 NVIDIA Selene——Megatron-LM 论文(arXiv 2104.04473)的实验平台:每节点 8 张 A100 + 8 张 200 Gb/s HDR InfiniBand 网卡(每卡配一张网卡,另有 2 张专跑存储),850 台交换机组成三层胖树。论文里还有个精彩细节:流水线并行的跨节点点对点通信很难吃满 8 张网卡,于是他们设计了 scatter/gather 优化——发送端把张量切碎分摊到多条链路,接收端再拼回来。硬件的形状(8 张网卡)直接改写了软件的算法,这就是计算层决策地图里”接口冻结”定律的又一例。
四、2024:以太网的反杀
如果 InfiniBand 这么好,为什么 Meta 把 Llama 3 405B 放在以太网集群上训?三份一手资料拼出了答案。
Meta:两座集群的对照实验
Meta 同时建了两座 24576 卡集群:一座 InfiniBand(Quantum-2),一座 RoCE(RDMA over Converged Ethernet,基于 Arista 7800),端点都是 400 Gbps(Meta 工程博客)。Llama 3 论文写明:405B 在 RoCE 集群上训练,用到 1.6 万张 H100;三层 Clos 拓扑,顶层聚合层的收敛比(oversubscription)是 1:7——也就是说顶层带宽只有满配的 1/7,靠”把并行策略感知网络拓扑地摆放”来让绝大部分流量不出中层(arXiv 2407.21783 §3.3)。
两座集群经过调优后性能等效。这句话的杀伤力在于:RoCE 的本质就是把 InfiniBand 的 RDMA 语义搬到以太网上跑——Meta 用实验证明,只要流量画像摸透了,以太网加上足够的工程投入可以逼平 InfiniBand,而供应链、运维体系、成本都是自己熟悉的以太网世界。
顺带一个健康度数字:54 天预训练快照里发生 466 次任务中断(平均每天约 8.6 次,手算),有效训练时间仍保持在 90% 以上——万卡集群的日常不是”稳定运行”,是”高效抢救”。
阿里 HPN:用流量画像反向设计网络
SIGCOMM 2024 的 Alibaba HPN 论文把”LLM 流量画像”讲得最透(论文 PDF):LLM 训练产生的是极少数、周期性、一爆发就打满 400 Gbps 网卡的大流。这对传统数据中心以太网是灾难——ECMP 负载均衡靠”流数量多、每条流小”的大数定律做哈希分摊,流量熵一低就哈希极化,几条大流挤在同一条链路上。
阿里的解法不是换 InfiniBand,而是按这份画像重造以太网:双平面 2 层架构单 Pod 接 1.5 万卡(传统要三层 Clos)、非堆叠双 ToR 消灭单点故障。这是方法论层面的反杀:InfiniBand 当年为 HPC 流量定制网络,现在以太网阵营为 LLM 流量定制网络,逻辑完全同构。
生态收编:Spectrum-X 与 UEC
连 NVIDIA 自己都两头下注:xAI 的 Colossus 用 10 万张 Hopper 训 Grok,跑的是 NVIDIA 自家的 Spectrum-X 以太网平台,122 天建成(NVIDIA 新闻稿)。开放标准阵营则在 2025 年 6 月发布了 Ultra Ethernet 1.0 规范——由 Meta、Intel、AMD、HPE 等发起,560 多页,原生 RDMA、新传输层 UET,目标就是把”InfiniBand 做对的事”标准化进以太网(UEC 公告)。
五、第三条路:Google 干脆不用分组交换
TPU v4 论文(arXiv 2304.01433,ISCA’23)展示了更激进的选择:既然 all-reduce 的通信模式天然贴合环面(torus)拓扑,那就直接用 3D torus + 光路开关(OCS)——4096 颗芯片组成 4×4×4 的 64 芯片立方体,立方体之间用 MEMS 微镜的光交换机连接,物理上”掰动光路”重构拓扑,而不是逐包做交换决策。
论文的原话是 OCS “比 InfiniBand 更便宜、更省电、更快”:光学部分占系统成本不到 5%、功耗不到 3%。代价是通用性——torus 适合 all-reduce,遇到 embedding 的 all-to-all 流量就吃力(所以论文同时讲了 SparseCore 和可扭转的 twisted torus)。这条路只有”自研芯片+自控软件栈+流量模式高度固定”的玩家能走。
六、带得走的东西:一张决策表 + 一条元规律
三条路线没有全能冠军,只有各自的适用边界:
| 你的处境 | 合理选择 | 代表 | 关键理由 |
|---|---|---|---|
| 追求开箱即用的最高性能,规模万卡级,没有大网络团队 | InfiniBand(SuperPOD 路线) | Selene、Eos、多数云上 H100 集群 | 交钥匙方案,SHARP/自适应路由白送 |
| 超大规模自建,已有成熟以太网供应链和运维体系 | RoCE / 定制以太网 | Meta(Llama 3)、阿里 HPN、字节 MegaScale | 逼平 IB 的性能 + 熟悉的生态,避免单一供应商 |
| 自研芯片,软硬全栈自控,流量模式固定 | 定制互连 + OCS | Google TPU v4 | 拓扑直接长成 all-reduce 的形状 |
| 推理/前端服务网络 | 普通数据中心以太网 | 几乎所有人 | 流量画像完全不同:多而小、无全局同步点 |
元规律收束到《AI 顶级原理望远镜》里的那条影子原理——瓶颈塑造设计:
网络架构是对流量画像的最优编码。InfiniBand 赢得 HPC 和早期 AI 时代,靠的是对”低延迟、无损、集合通信”画像的深度贴合;以太网 2024 年的反杀,靠的是对”流少、周期爆发、可预测”这份新画像的重新贴合;TPU 的 OCS 则是把画像直接固化进物理拓扑。技术栈会换,这条规律不换——下一次网络架构变革(UEC 也好,光互连也好),照样从”流量画像变了什么”开始推演。
对应到训练系统的语言:跨节点带宽是分布式训练的单一稀缺资源,所有并行策略(TP 塞进 NVLink 域、PP 跨节点传小激活、DP 用分桶 all-reduce 藏通信)本质上都是围绕这三级阶梯(67:9:1)安排数据的居住地——这和 KV-Cache 围绕 HBM 安排居住地是同一个思维模型在不同尺度上的复用。
诚实的提醒
- 本文所有带宽、MFU、延迟、中断次数均来自论文/厂商公开资料(文中已附链接),我没有亲手在 InfiniBand 集群上复现过任何一个。带宽阶梯比例(67:9:1)、262.5 GB/5.25 s、每天 8.6 次中断是我用脚本验算的推导值。
- 5.25 秒是理想化下界:忽略了通信-计算重叠、分层 all-reduce、梯度分桶和 ZeRO 类分片,真实系统的暴露通信时间远小于此;它的作用是感受量级,不是预测性能。
- “两座集群性能等效”是 Meta 的自述,调优成本没有公开量化,不能直接推论”RoCE 对任何团队都能逼平 IB”。
- 一个成本最低的亲手验证实验(不需要 GPU,一台笔记本即可):用
torch.distributed的 gloo 后端在单机起 2/4/8 个进程,对 100 MB 张量跑 all_reduce 并计时,观察耗时随进程数的变化是否符合 的通信量趋势——亲手摸一次”all-reduce 不是免费的”。
# allreduce_bench.py: python3 allreduce_bench.py
import os, time, torch, torch.distributed as dist, torch.multiprocessing as mp
def worker(rank, world):
os.environ['MASTER_ADDR'] = '127.0.0.1'; os.environ['MASTER_PORT'] = '29500'
dist.init_process_group('gloo', rank=rank, world_size=world)
x = torch.ones(25_000_000) # 100 MB fp32
dist.barrier(); t = time.time()
for _ in range(10): dist.all_reduce(x)
if rank == 0:
print(f'world={world}: {(time.time()-t)/10*1000:.1f} ms / 100MB all-reduce')
dist.destroy_process_group()
if __name__ == '__main__':
for world in (2, 4, 8):
mp.spawn(worker, args=(world,), nprocs=world, join=True)
参考来源
arXiv / 学术论文
- The Llama 3 Herd of Models(arXiv 2407.21783)——§3.3 基础设施:RoCE 集群拓扑、1:7 收敛比、466 次中断
- MegaScale: Scaling LLM Training to More Than 10,000 GPUs(arXiv 2402.15627,NSDI’24)——55.2% MFU、DCQCN 调优、初始化 1047s→5s
- Efficient Large-Scale Language Model Training on GPU Clusters Using Megatron-LM(arXiv 2104.04473)——Selene:每节点 8×HDR、scatter/gather 优化
- Alibaba HPN: A Data Center Network for LLM Training(SIGCOMM 2024)——LLM 流量画像、双平面双 ToR
- TPU v4: An Optically Reconfigurable Supercomputer(arXiv 2304.01433,ISCA’23)——OCS 成本 <5%、功耗 <3%
- SHARP Streaming-Aggregation(ISC 2020)——网内规约 95% 带宽利用、2–5× 提升
工程实践 / 厂商资料