提起英伟达,你觉得它是个什么公司?
如今,这家万亿市值的芯片龙头似乎很难用一个或几个词来概括了。不过英伟达的护城河却多年没变,主要有三个。其中两个是大家都熟悉的:GPU芯片硬件、CUDA编程软件。硬件负责堆算力,软件负责构建生态。这一软一硬,让英伟达在人工智能的大潮中一直「独孤求败」,当然也让这家公司的股价市值在各家芯片公司中一直「独孤求败」。
不过,英伟达还有一个或许并不为人所知的隐形护城河:网络。
1、需求:既要又要
事情的起源,还是由于人工智能和大模型的爆发。大模型之所以「大」,说的就是模型的参数量大、用于训练的数据多、训练系统的规模大。它也成了一个算力吞金兽,训练一个大模型消耗的成本都是天文数字量级。
前不久斯坦福大学的李飞飞教授团队发布年度报告,数据显示GPT-4的训练成本超过7800万美元,谷歌Gemini Ultra的训练成本更是超过惊人的1.91亿美元。
要知道,这些天文数字的费用,绝大部分都花在了GPU上。
也有数据显示,Meta训练650亿参数的Llama模型消耗了100万GPU小时,谷歌训练5400亿参数的PaLM模型消耗了2.56乘以10的24次方FLOPS的算力。
所以,单个芯片算力再强,也根本没办法满足大模型训练的需求。于是多芯片之间的互连就成了大模型时代的关键技术。甚至有大佬这么说,就算使用算力稍差的GPU,只要多芯片互连做得好,整体算力就不会掉。这是由于系统整体的瓶颈已经从数据计算,变成了数据搬运。
别忘了,网络,是英伟达的「隐形」护城河。
为了降低成本,让更多人能参与大模型炼丹、或者将训练好的大模型部署到实际应用中,各家科技大厂也想了很多招。比如,人们搞出来了一个AI数据中心的概念。和传统的数据中心相比,AI数据中心它从设计伊始就围绕AI需求,顾名思义就是专门为AI服务的。
但如果我们细看这个AI数据中心,其实还分成两个主要场景。一个是老黄多次提到的「AI工厂」,你可以把它想象成一个拥有成千上万个最强GPU「工人」的真·工厂,而这里生产的产品,就是训练好的大模型。通常来说,这种AI工厂的模式是面向超大规模的重型负载。这种模式的好处是能减轻科技公司从头搭建自己的AI基础设施的繁琐工作,用工厂实现AI训练的外包。
在AI工厂里,追求的终极目标就是超高性能,所以英伟达使用了NVLink和InfiniBand这些超高速超低延时的网络技术进行GPU之间的互连。通常来说,最先进的NVLink能连接8到500张以上的GPU卡,而且是天然的无损网络,因此能够实现性能天花板。但是,这些定制化网络的成本太高,因此注定不能适用于所有人。
于是还有第二个AI数据中心的场景,名叫AI云。和我们熟悉的云计算相似,AI云本质上也是将AI基础设施和算力统统云化,能让更多人以更低成本使用云端的AI资源。和AI工厂不同,AI云更多面向不那么重型的负载,比如模型微调、中小模型的训练以及各种推理场景。
正因如此,性能在这里或许不是最重要因素,成本才是。
当然,如果能既要又要,就更好了。
在传统云计算中,成千上万台计算机都是通过以太网互连的。事实上,以太网这个技术在上个世纪七十年代被发明之后,很快就成为数据中心、云计算、网络通信、工业控制等关键领域的基石性技术。对于AI云来说,重新自立门户面临技术和生态两座大山,所以最明智的选择,仍然是兼容现有的基于以太网的云网络架构。
只不过,在AI时代,传统以太网的最大问题就是性能。如果既要以太网的生态和灵活性、又要追求高性能,那势必就要面向以太网进行技术变革。
而这,恰恰是英伟达Spectrum-X网络平台出现的本质逻辑。
2、方案:全栈
问题来了,和传统以太网相比,面向AI计算的以太网到底有什么不同呢?
先说结论,面向AI计算的以太网技术,需要高性能、高稳定性、低抖动、性能可预测、能高效应对AI业务中的突发流量等新特点。接下来我们详细介绍。
前面说过,当大模型的规模逐渐爆炸,系统性能的瓶颈已经从单GPU卡算力,转移到了多卡之间网络互连与通信的带宽和性能。当GPU数量扩展到成千上万时,甚至单一数据中心都放不下,还需要不同地域的数据中心进行协同工作,这对于网络性能更是提出了更高的要求。总而言之,性能是必须保证的重要需求。
此外,从编程和使用性的角度来看,让程序员去分别编程这几万张GPU卡是不现实的,必须通过软件将这些计算资源整合在一起,隐藏掉底层的硬件实现细节,让开发者看起来就像在编程一个GPU,这也是英伟达说的「数据中心即计算机」的概念。
这个概念有点像传统云计算中的虚拟化,但在传统云计算中,不同使用者或业务之间是相对松散和独立的。而且不同任务对于网络的抖动、稳定性并不一定非常敏感,可能最多就是刷剧的时候缓冲的时间长一点,重传一遍就OK了。
相比之下,AI云对于稳定性的要求就完全高了一个档次。由于需要N个GPU同步运行单一的AI负载,一旦出现丢包或者抖动,就可能会导致『炼丹』失败,或者成为系统的性能瓶颈。而且AI训练时经常出现突发流量,比如GPU计算完成后会瞬间将模型的梯度值通过网络在GPU之间进行同步,从而带来突发的流量高峰。这就需要网络拥有突发流量的处理能力和性能预测的能力。
为了解决这些问题,传统以太网是肯定不够的。所以英伟达推出了名叫Spectrum-X的新型以太网技术。它的内核仍然基于以太网协议,但面向AI计算特点进行了针对性的优化。
首先值得一提的是,Spectrum-X并不是一个单一技术,而是由多种软硬件技术组成的系统级网络架构。硬件层面,包含名叫Spectrum-4的400G以太网交换机,它集成了1000亿个晶体管,交换带宽总容量51.2Tb/s,支持128个400G端口或64个800G端口,是整个Spectrum-X网络平台的核心。
在每个网络节点,还有BlueField-3 SuperNIC超级网卡,可以直接在端侧进行硬件加速和卸载。在整个网络的软件层面,运行着全栈式AI加速软件,包括面向DPU的DOCA软件框架、NVIDIA网络数字孪生框架NVIDIA AIR、网络操作系统Cumulus,以及用来做网络运维管理和监控的NetQ工具等等。
3、实例:从不可能到可能
有了底层技术的支持,就能构建AI云网络的关键功能了。还拿性能举例,在Spectrum-X中,可以实现多个任务的并行和性能隔离。也就是说,即使运行了多种不同的任务负载,每个任务都能实现裸金属(Bare Metal)的性能。这个功能的本质是更高效的拥塞控制算法,即单个任务不会挤占全部网络带宽,造成三个和尚没水吃的局面。
技术上看,一个大任务如果发送不畅就会堵塞整个网络,导致网路中的其它任务性能下降。通过SuperNIC和交换机进行端到端的协作,实现了基于硬件的增强拥塞控制和基于优先级的流量控制,在无损以太网络上保证了不会出现丢包或者抖动。这个听起来技术没那么复杂,但其实需要依赖SuperNIC和交换机之间非常严谨的端到端合作来实现,这也是为什么传统网卡或传统交换机没办法实现这个功能的主要原因。
还有一个很有趣的例子是数字孪生。这本身是个起源于元宇宙的概念,说的是一个物理实体的虚拟表示,比如我们每个人的数字分身。这个概念其实在AI数据中心里也有很多好处。比如,构建一个真实的AI集群是个非常复杂的工作,而且需要大量投入。传统的方法是先构建、再调试优化。但一旦发现问题,进行调整和修改的成本也是巨大的。
所以可以使用数字孪生技术,先构建一个数字AI集群,然后在虚拟集群上完成前面说的仿真验证、调试、优化等工作,从而加速物理集群的部署和上线,并且大幅降低成本。
为了构建数字孪生的AI集群,软件肯定还是关键。英伟达就推出了NVIDIA AIR平台,可以免费仿真数据中心的关键网络软件、操作系统和NetQ网络管理软件,目前已经实现了整个数据中心完整的交换网的虚拟实现,未来大概率也会加入对BlueField SuperNIC在主机端的支持。
4、启示:风口背后的逻辑
说了很多AI数据中心的网络变革,也深入介绍了网络如何成为英伟达的隐形护城河。从英伟达布局AI网络,其实也能带给我们很多启示。
比如,不得不承认老黄的技术远见。当然这不一定是老黄本人,而是站在老黄背后很多绿厂大佬的集体智慧。但英伟达之所以能抓住这么多风口,离不开技术的布局和深耕。当英伟达开始发力BlueField DPU时,AI和大模型的浪潮其实还并没有到来。谁又能想到,这个原本用于传统云计算数据中心的DPU技术,竟然也成为了AI网络不可或缺的关键。
此外,一招鲜、吃遍天的时代已经过去了。强如英伟达,也在AI网络领域布局了多个方向,比如NVLink、InfiniBand、Spectrum-X等多线齐发,用互联网黑话来说,就是形成了一套「组合拳」。
另外,英伟达深知,解决问题的关键,就是找到关键问题。在绿厂自己发布的《AI时代的网络技术》白皮书里,他们就总结凝练了传统以太网和AI以太网的区别,也梳理了以CPU为核心的网络与以GPU为核心的网络的区别。关键问题抓的非常到位,推荐大家看看,原文我会发到社群中,记得扫码加小助手进群。
回到文章最开始的问题,英伟达到底是什么公司?
用老黄的话说:英伟达不是硬件公司,而是软件公司,更是个提供数据中心的全栈公司。
(注:本文不代表老石任职单位的观点。)