买了8张H100,结果跑起来发现,效果跟4张差不多。钱多花了一倍,速度没提上来。问题出在哪?
大概率出在卡和卡之间的“路”上。
这篇我用两组公式给你算明白:PCIe和NVLink到底差多少、这个差距怎么卡住你的训练、什么场景该用哪种。 看完你至少能判断,自己那批卡买对了没有。
说实话,这种事我见过不止一次。去年有个团队找我,说他们买的GPU服务器跑大模型,利用率死活上不去。查了半天,卡没问题,驱动没问题,最后发现是卡间互联的带宽撑不住。
8张卡一起算,每算完一小步,就要把梯度数据互相传一遍。传得越慢,卡等得越久。 你想想,8个人干活,中间传纸条传得慢,活能快吗?
这玩意不是玄学,是物理。
先说PCIe。这是最通用的总线,你电脑里的显卡、SSD都走它。
PCIe 5.0单条通道(Lane)是32GT/s,走128b/130b编码,算下来单通道有效带宽约4GB/s。一条x16插槽就是16条通道,4×16×2=128GB/s。注意这个×2,PCIe是双向的,一来一回都算上。
那NVLink呢?NVLink 5.0单条链路双向100GB/s,一张B200上有18条链路。18×100=1800GB/s,也就是1.8TB/s。
128对1800,正好14倍。别不信,就这么简单。
各代GPU的互联带宽,给你一张表:
| GPU | NVLink带宽 | PCIe带宽 |
| P100 | 160GB/s | 32GB/s |
| V100 | 300GB/s | 32GB/s |
| A100 | 600GB/s | 64GB/s |
| H100 | 900GB/s | 128GB/s |
| B200 | 1800GB/s | 128GB/s |
看明白没?NVLink一直是PCIe的几倍到十几倍。 到了B200这一代,正好拉大到14倍。这趋势还在加剧,后面细说。
你可能想问:差距这么大,到底影响什么?
影响的是你能把训练并行到多少张卡。
这里有个粗略的判断公式:算力÷带宽,基本决定了并行扩展的上限。 拿H100举例,单卡算力约1979 TFLOPS,NVLink带宽900GB/s,算下来,并行规模撑到11张卡就到头了。再往上加,加的都是等待。
H800呢?算力跟H100一模一样,1979 TFLOPS,但NVLink被砍到400GB/s,只剩8条链路。结果并行上限只有5张卡,最佳性能下降38%。
同样的算力,就因为互联阉割,性能差出近四成。这落差,坑就坑在当初买卡时没人告诉你。
说到这,先停一下。你或你公司买GPU的时候,有没有关注过卡间互联带宽?如果踩过类似的坑,点个在看让我知道,我看看有多少人栽在这。
通信占用的时间,比你想象的多得多。 今年6月有人做了个实测:128张卡的集群微调Llama-2-70B,40%的训练时间花在通信上。 不是计算,是通信。数据同步不过来,再多的卡也是干等。
这个比例还不是固定的,卡越多、模型越大,通信占比越往上走。 训练任务是以周为单位跑的,40%的时间在等数据,等于你多付了四成电费和机位费,换来的却是干等。
那是不是所有场景都得NVLink?不是。
大模型训练,卡间通信频繁、数据量大,必须NVLink。 这是硬需求,PCIe机型的带宽上限,撑不起全互联八卡的训练压力。
推理不一样。 推理更贴近用户,单次请求算力需求小,卡间通信少,PCIe机型完全够用,性价比还高。
说白了:训练是搬家公司,天天搬大件,路必须宽;推理是外卖小哥,跑得快但不用扛太多货,普通路就行。
还有个隐藏知识点:显存互联。 NVLink能把多张卡的显存“打通”,逻辑上变成一块大显存。模型放不下的时候,这个能力是救命的。PCIe方案做不到——不是慢的问题,是压根不支持。
我之前还见过一个更冤的案例:有人为了省钱,训练服务器选了PCIe拓扑的八卡机。结果模型一跑,梯度同步慢到怀疑人生。后来换NVLink全互联机型,同样的模型,训练时间直接砍半。(这笔学费,交得真不值。)
所以记住一句话:训练选型,先看互联,再看算力。 这个顺序别搞反。
写到这想问问你:你现在跑的集群,卡间互联是哪一种?如果是PCIe拓扑硬扛训练,或者遇到过类似的带宽瓶颈,点个在看,让更多人看到这个坑。
互联的军备竞赛,根本没停。
N厂官方博客今年7月披露,第六代NVLink(Rubin平台)单GPU双向带宽翻倍到3.6TB/s。 一个Vera Rubin NVL72机柜,72张GPU全互联,机架级聚合带宽260TB/s,还加入了网内计算——交换芯片在转发数据的同时,能顺便帮你做all-reduce归约。这等于立交桥不只让车通过,还顺路把货物分拣了。
另一边,PCIe也在追。Rubin平台用上了PCIe Gen6,x16单向256GB/s。看着翻倍了,但NVLink已经到3.6TB/s,差距从14倍拉到了28倍。
还有一个信号值得注意:行业里已经在讨论“光进机架”。有分析指出,铜缆的物理极限就快到头了,下一代NVL144、NVL288想再翻带宽,可能得靠共封装光学(CPO)把光引擎直接封进芯片封装里。互联这仗,远没打完。
有同学会问:那有没有第三种选择?有。UALink,微软、Meta、AMD、博通这些厂商2024年结盟搞的开放互联标准,设计目标支持1024个加速器互联。据券商报告分析,它还在追赶期,大规模普及至少还得3-5年。国产这边,昇腾的HCCS、寒武纪的MLU-Link也都在做,聚合带宽已经到600GB/s量级。
这些路能不能追上NVLink?说实话,短期难。但多了竞争,总比一家独大好。
算力是买来的,带宽是省不出来的。你的训练卡在哪,先看路宽不宽。
如果这篇对你有用,建议先收藏。下次设计训练集群、跟供应商谈配置的时候,把这张带宽对照表翻出来,直接对着查,能少交不少学费。
如果你身边也有被“买卡跑不动”折磨的朋友,把这篇文章转给他——说不定正好治他的病。顺便问一句:你现在用的卡,NVLink是满血的还是阉割版?评论区聊聊。