美国商务部的口风越来越紧,逼得黄式刀法重出江湖:多方证实,英伟达即将推出三款特供版GPU,由于出口管制,性能最强的H20,相较H100算力也大幅缩水80%。
算力被限制死,英伟达也只能在其他地方做文章。H20的最大亮点落在带宽:
带宽达到与H100持平的900G/s,为英伟达所有产品中最高。较A100的600G/s,和另外两款特供芯片A800和H800的400G/s大幅提高。
阉割
算力
,提升带宽。看似割韭菜,实则含金量不低。
简单来说,带宽的大小决定了单位时间向GPU传输的数据总量。
考虑到人工智能对数据吞吐能力病态的要求,如今衡量GPU的质量,带宽已经成为
算力
之外最重要的指标。
另一方面,云服务公司和大模型厂商不是只买几颗芯片,而是一次性采购几百上千张组成集群,芯片之间的数据传输效率也成了迫在眉睫的问题。
GPU和GPU之间的数据传输问题,让英伟达在
芯片
算力
、
CUDA
生态
之外的另一张王牌浮出了水面:
NVLink
。
数据传输,算力的紧箍咒
要理解NVLink的重要性,首先要了解数据中心的工作原理。
我们平时玩游戏,一般只需要一块CPU加一块GPU。但训练大模型,需要的是成百上千个GPU组成的“集群”。
Inflection曾宣称他们正在构建的AI集群,包含多达22000张 NVIDIA H100。按照马斯克的说法,GPT-5的训练可能需要3万到5万张H100,虽然被Altman否认,但也可以窥见大模型对GPU的消耗。
特斯拉自家的超算Dojo ExaPod,就是由多个Cabinet机柜组成,每个机柜里有多个训练单元,每个训练单元都封装了25个D1芯片。一整台ExaPod包含3000个D1芯片。
但在这种计算集群中,会遇到一个严峻的问题:
芯片彼此独立,如何解决芯片之间的数据传输问题?
计算集群执行任务,可以简单理解为CPU负责下达命令,GPU负责计算。这个过程可以大概概括为:
GPU先从CPU那里拿到数据——CPU发布命令,GPU进行计算——GPU计算完成,将数据
回传
给CPU。如此循环往复,直到CPU汇总所有计算结果。
数据一来一回,传输效率就至关重要。如果有多个GPU,GPU之间还要分配任务,这又涉及到数据的传输。
所以,假设一家公司买下100颗H100芯片,它拥有的
算力
并不是100颗芯片的算力简单相加,还要考虑到数据传输带来的损耗。
一直以来,数据传输的主流方案是的
PCIe
。2001年,英特尔提出以PCIe取代过去的总线协议,联手20多家业内公司起草技术规范,英伟达也是受益者。但时至今日,PCIe的缺点变得越来越明显。
一是数据传输效率被
算力
的提升远远甩在了后面。
从2001年到2017年,运算设备的算力提高了5000倍。同期,PCIe迭代到4.0,带宽(单通道)只从250MB/s提高到2GB/s,提升只有8倍。
算力的传输之间的巨大落差,导致效率大幅降低。就像摆了一桌满汉全齐,餐具就给一个挖耳勺,怎么吃都不痛快。
二是人工智能暴露了
PCIe
的设计缺陷。
在PCIe的设计思路里,GPU之间的数据传输都必须经过CPU。换句话说就是GPU1想和GPU2交换数据,都得由CPU来分发。
这在以前不是什么问题,但人工智能主打一个大力出奇迹,计算集群里GPU数量迅速膨胀。如果每个GPU都要靠CPU传话,效率就大大降低了。用大家很熟悉的话来形容,就是“你一个人耽误一分钟,全班同学就浪费了一个小时”。
大幅提高PCIe的带宽,不太符合英特尔挤牙膏上瘾的人设。大幅提高CPU的处理能力是个办法,但英特尔要是有这个本事,英伟达和AMD活不到今天。
于是,深感时不我待的英伟达动了另起炉灶的心思。
2010年,英伟达推出GPU Direct shared memory技术,通过减少一次复制的步骤,加快了GPU1-CPU-GPU2的数据传输速度。
次年,英伟达又推出GPU Direct P2P技术,直接去掉了数据在CPU中转的步骤,进一步加快传输速度。
只是这些小幅度的技术改良,都基于PCIe方案。
和CUDA一样,PCIe的竞争力在于生态。所谓“生态”,核心就是“大家都在用你凭什么搞特殊”。由于大多数设备都采用PCIe接口,就算英伟达想掀桌子,其他人也得掂量掂量兼容性问题。
转折点出现在2016年,AlphaGo 3:0战胜李世石,GPU一夜之间从荼毒青少年的游戏显卡变成了人工智能的科技明珠,英伟达终于可以光明正大的进村了。
NVLink,解开PCIe封印
2016年9月,IBM发布Power 8服务器新版本,搭载英伟达GPU:
两颗Power 8 CPU连接了4颗英伟达P100 GPU,其中数据传输的纽带从PCIe换成了英伟达自研NVLink,带宽高达80G/s,通信速度提高了5倍,性能提升了14%。
同时,NVLink还实现了GPU-GPU之间的直接传输,不带PCIe玩了。
2017年,基于Power8+P100的模型在22K的ImageNet数据集上实操了一把,识别准确率达到33.8%,虽然准确率相比前一年只提高了4%,但训练时间从10天大幅缩短到了7小时。
小试牛刀效果不错,老黄也不准备再装了。
从2017年的Volta架构开始,英伟达给每一代GPU都搭配了基于NVLink方案的NVSwitch芯片,用来处理GPU之间的数据传输。
NVLink和NVSwitch的关系,可以简单理解为:
NVLink是一种技术方案,NVSwitch和NVLink
交换机
都是这种方案的载体。