学习 / AI 基础架构 / 04

AI 基础架构 · 第 04 条 · 集群

训练集群怎么连起来:NVLink 与 InfiniBand

一张卡再快也没用。当几千张卡一起训练时,真正的瓶颈变成了它们之间怎么说话。

难度 入门 → 进阶约 13 分钟前置:1 条更新 2026-09-28

两层结构

AI 集群的网络通常分成两层:

这个层级差异决定了并行策略的设计:通信密集的操作尽量放在机内,通信稀疏的放到机间。很多优化的核心就是「怎么切分,才能让跨机通信最少」。

两层网络:机内极快,机间差一个档次服务器 A卡卡卡卡机内互联(NVLink)带宽极高 · 延迟极低服务器 B卡卡卡卡机内互联(NVLink)带宽极高 · 延迟极低机间InfiniBand所以并行策略是分层的:通信最频繁的(张量并行)放机内绿色那层;通信少的(流水线并行)跨橙色那层;数据并行放最外面
绿色实线是机内互联,橙色虚线是机间。两者的带宽和延迟差一个档次,这就是为什么并行策略必须分层:通信最频繁的放绿色那层,通信少的才敢跨橙色。

带宽和延迟是两件事

指标含义影响什么
带宽每秒能传多少数据大批量参数同步的速度
延迟一次往返要多久小消息频繁通信的效率

训练中的通信分两类:大块的梯度同步(吃带宽)和频繁的小消息(吃延迟)。两者对网络的要求不同,这就是为什么高端集群会用专门的协议栈而不是通用以太网——通用的协议栈在延迟上有额外开销。

拓扑决定上限

把几千张卡两两连起来是不现实的(成本按平方增长)。所以实际用的是分层拓扑:机内全连接、机间按一定结构连接(胖树、环形、多维环面等)。

拓扑决定了「哪些卡之间通信便宜、哪些贵」,而并行策略必须在拓扑的约束下设计。同样的模型和同样的卡数,用不同的拓扑和切分方式,实际训练速度可能差好几倍。

为什么加卡会变慢

这听起来反直觉,但确实会发生:如果并行策略不合适,新增的卡带来的通信开销超过了它贡献的算力,整体速度反而下降。

经验规律是:数据并行随卡数增加,通信量也线性增加;当卡数到了某个规模,通信就会成为主导。这就是为什么大规模训练必须用更复杂的混合并行,不能简单地堆数据并行。

工程上的含义

网络的成本在集群总成本里占比不低(交换芯片、光模块、线缆),而且它决定了集群的有效算力——标称算力打多少折扣,很大程度取决于网络设计得好不好。

这解释了一件事:为什么同样是「几万张卡」,不同公司实际能跑出来的训练速度差异很大。差距往往不在卡本身,在网络和调度。

要点回顾
← HBM 与存储层级 并行策略:数据并行、张量并行、流水线并行 →