一、算力与智能的大背景
当前,我们正处于两个“ Scaling Law”激烈碰撞的时代。一个是摩尔定律的Scaling Law,就是摩尔定律,大家的看到的共识就是摩尔定律从2015年开始就已经显著放缓了,也就意味着单位芯片面积上能提供的性能增量变得越来越小。但是我们感受到,芯片的性能还是在快速上升的,最主要的原因必然就是单颗芯片的面积变得越来越大。
与此同时,我们看到了另外一个Scaling Law,大模型的Scaling Law,为把芯片做大,把算力做高提供了直接动机。大模型的Scaling Law发现的关键现象就是越多的模型参数,越高的算力、越大的数据集,就能提供越高的预测精度,俗称“大力出奇迹”。这不是黔驴技穷,而可能是智能“涌现”的必要条件。至此,我们看到了智能与算力构成了闭环,并相互强化。
算力来自于各种形式的并行计算系统。算力即涉及到应用层面的数据共享、同步、一致性、任务划分、调度、容错等问题,也涉及到物理结构层面的带宽、延迟、网络拓扑、传输协议、物理距离、能耗、制冷等等问题。今天的报告内容主要关注高速网络的问题,讨论在当前这个“算力即智能”的时代给高速网络带来了什么样的变化和挑战。认清这个变化可能就能看到其中蕴藏着的机遇。
二、AI芯片们
首先我们看一下芯片。毋庸置疑,AI需要“AI芯片”。但是AI芯片应该包括哪些核心芯片类型呢?单纯的GPU或者NPU是显然不够的。况且GPU出现30年,AI这个概念出现更早的多,但为什么之前GPU不被称为AI芯片呢。还有现在一些优化的很好的AI算法,在CPU上也可以执行,或者用FPGA来加速AI算法执行的案例也不胜枚举,那这些CPU和FPGA也可以贴上AI芯片的标签吗?还有一些类脑芯片,Neuromorphic芯片,大都不够成熟,甚至不能执行当前主流的大模型算法,好像称之为AI芯片还是有点尴尬。这个问题其实不是要咬文嚼字,而是试图准确刻画在这一次如此重要的科技革命下,定位到真正的革命性的芯片,就好比PC时代定义了通用处理器芯片,移动互联网定义了智能手机的芯片。
当然,构建AI基础设施必须要CPU,但是我们通常不把CPU称之为AI芯片,原因是CPU技术先于AI技术的发展,没有理由在AI时代就将其冠以AI芯片的称谓。实则也没有必要,个人认为CPU已经是构建起来了我们整个信息化大厦的最粗的那根支柱,其地位之重要并不需要AI来加持。现在真正存在变数的两类芯片是负责多精度高密度计算的GPU/NPU芯片,和负责高速IO的DPU/IPU/NIC芯片。这两类芯片的演进与AI技术的发展直接相关。没有AI技术的发展,NVIDIA不会成为当前全球最具价值的企业。没有AI的发展,也不会急剧催生对高带宽、低延迟网络的要求,NVLink技术也不会成为行业的标杆,也就不会有后来的NVL72超节点AI服务器。
鉴于此,我们尝试给出AI芯片的一种“定义”:具备与特定AI算法的运算特征高度匹配的计算架构的芯片或芯片组就可称之为 AI 芯片。这里所谓“定义”,不需要教条的理解,更多是为了方便后续的描述和分类。这里的运算特征主要取决于算法,包括模型可并行、数据可并行、流水线并行、数据精度自适应、迭代、概率性与确定性、Memory footprint、非线性运算、Softmax等,计算架构主要取决于硬件实现,包括计算单元、缓存结构、阵列规模、互联拓扑、IO 带宽、指令集、可扩展性、虚拟化支持、处理延时、运行能耗、可靠性设计等。
从这个定义上看,AI芯片不仅包括大家耳熟能详的各类GPU/NPU芯片,还包括为了给这些GPU传输数据,构建大规模并行系统的网络芯片。简言之,要想得到有效的算力,不仅需要大量高性能的GPU算力芯片,还需要将这些芯片通过高效的网络有机的组合起来,协同工作。不妨称之为算力乘法定律:有效算力=算力x网络,缺一不可。
之前我们做过一个比喻:如果把CPU比做大脑、那么GPU就好比是肌肉、而DPU就是神经中枢。CPU承载了应用生态,决定了计算系统是否可以通用,GPU提供了大量不同精度要求的算力,决定了系统是否有足够的“力量”,DPU负责数据在各种CPU和GPU之间高效流通,决定了系统是否能协同工作。DPU就是构建数据网络的“根结点”,挂载了各种计算、存储资源的“叶节点”,无论这些处理器核是真实的物理核,还是虚拟化的核。现在看来,这个比喻是越来越反映出当前算力底座的发展趋势。当前无论是Scale-Out,还是Scale-Up,目的都是让系统中的GPU能协同工作。
三、超并行的GPU/NPU架构
首先,在计算层面,从一个简单的PE,最后构建为一个超节点的过程,技术路线很清晰。比如,假设一个PE理想情况下每个时钟周期可以完成128个INT8的MAC(乘累加)操作,每128个PE组成一个Group,每8个Group组成一个Cluster,一颗芯片由4个Cluster组成,总计有4096个PE,所以每个时钟周期的峰值性能就是512K个操作,假设系统运行主频为1G,那么芯片的峰值性能就是512Tops/s @INT8——基本就是现在的主流AI算力芯片的标称性能。
显然,实际性能受限于算法的在执行过程中的变化和数据依赖,不可能每个时钟周期都能填满所有的PE,因此一定会低于、甚至远低于标称性能。如果这个性能差异过大并且稳定的存在,那说明架构的设计就不够优化。然而设计一个理想的PE、PE阵列其实并不容易。难点主要不在于PE设计本身,而是在于PE是否能与应用程序的指令流适配,而这很多时候就会面临是“鸡生蛋”,还是“蛋生鸡”的问题,而且这个问题的答案很大程度上决定了相应的存储层次,访存带宽等关键指标的设计。限于篇幅,这里就不再展开了。但是有一点是确定的,那就是单芯片的算力要求越高,PE的数量规模就一定越大,随之片上存储器诸如HBM的容量就必须要越大,访问这些存储的带宽要求也就越高,出入芯片的IO带宽也必然越高。一个经验规则就是“10倍率定律”,内部HBM访存的带宽,是IO带宽的10倍,PE间的互连网络的对分带宽是HBM带宽的10倍。例如,如果芯片的IO带宽是800Gbps,那么对应的HBM的带宽应该是8Tbps量级。可以大体作为一个参考。
四、AI网络催生DPU芯片的大发展
显然,计算芯片这个“巧妇”没有数据的“米”也难为之炊,而这些“米”就是数据,都需要通过IO获得,特别是各种高速网络IO,因此IO的重要性不言而喻。数据分析表明,在过去的10年,IO的性能指标的发展速度远远超过CPU年化性能增长的速度,但是低于GPU算力增长的速度。可以说当前对于高带宽IO的需求主要来自于GPU算力的提升。
我们来看一个最具体的案例,就是在大模型中混合专家系统MoE机制带来的高频All-to-All的通信需求,MoE模型在训练与推理中通常采用专家并行(Expert Parallelism,EP),即将单个MoE层的专家分布到多张GPU上。由于EP常与数据并行(Data Parallelism,DP)结合使用,token所在的 GPU 与其路由到的专家所在GPU未必一致,因此EP需要执行两次all-to-all 通信:在专家计算前将 token 分发至对应的GPU,在计算完成后再将结果回传至原始 token 所在的GPU。该过程要求所有 GPU 之间进行双向消息交换,通信开销显著。字节跳动的研究(CoMet)表明,在Qwen2等MoE模型的前向推理阶段,约47%的时间消耗在MoE的all-to-all通信上。这个负载类型也许也是催生Scale-Up网络的最重要的动机之一。
在过去两年,行业对于网络的关注度空前上升,各种“Link”犹如雨后春笋,NVLink,UALink,EtherLink,ALink等等,其原因是AI对于网络的需求已经不可能用原来的网络技术通过量变来给予满足,已经到了要触发质变的时候。
通过简单分析我们也可以看到网络也是天然分层的架构,连接不同数据中心的网络,和连接不同芯片IP的网络,虽然都是为了传输数据,但他们在性能、确定性、扩展性、空间的跨度等指标的权衡上有着天壤之别。下图反应了不同互联层级中所使用的关键技术:从最底层用于互联IP所使用的片上网络和总线,到不同晶圆互联所使用的Chiplet互联协议,到模块、服务器内的设备互联的PCIe、NVLink技术,再到上层机架范围互联中的Scale-Up、RDMA等技术,和长距离数据中心互联的VXLAN协议、SD-WAN技术等。我们无法将缺乏拓展性的片上网络技术应用于数据中心网络,也不会在芯片互联中考虑不高效的VXLAN技术,但这些技术都是实现各层次数据传输的关键。越上层的技术网络属性就越明显,越是底层的技术,IO特征就越清晰。
而涉及到高速IO,其复杂度非常高。相较于处理器芯片内部,只需要处理确定性的计算,而IO要处理的任务是高度不确定性的。比如,数据只要进入了处理器芯片内部,除非有硬件的故障,基本不会需要处理由数据错误产生的异常。但是网络IO不同,任何类型的信道都有信噪比,都存在误码率,IO速率越高,处理这些非理想信道导致的异常就越具挑战性,所以对于追求的无损网络,是非常高技术含量的活。在此之前,大家诟病RDMA组网规模不能大,因为RDMA要求的无损网络,一旦出现丢包重传的情况,网络性能就是大幅下降,甚至完全丧失RDMA高带宽的优势。这也是目前UEC等技术试图解决的主要挑战之一。
通常意义的“网络”也是一个很大的领域,伴随着因特网和无线通信技术的发展,传统的通信网络已经成为人类历史发展最重要的基础设施之一。当前AI模型对算力需求的急剧攀升,使得面向智算中心的高带宽低延迟网络也随之成为技术发展的一个热点,例如英伟达提出的NVLink技术。这也是计算机系统架构又一次应需求的变化而演进的经典案例。不同于传统的基于TCP/IP的以“尽量服务”为设计原则的网络协议,除了带宽延迟指标不在一个数量级以外,面向AI模型的智算中心网络需要的是确定性的“无损”网络,典型如在超算中普遍采用的IB网络——一种RDMA网络。不同的网络协议需要设计不同的网络芯片来满足,所以面向AI网络的芯片,也理所当然成为当下最重要的机遇之一。
五、Scale-Out与Scale-Up
当大语言模型(LLM)的参数量已经从千亿(GPT-3)达到万亿(Kimi K2),没有任何单一的GPU/NPU能够容纳一个完整的大型模型及其在训练过程中产生的梯度和优化器状态,即便模型能被勉强装入,单个GPU/NPU的算力也无法在合理的时间内完成训练或推理任务。将模型的训练和推理拆分到多个GPU/NPU上协同处理成为唯一可行的路径,网络是实现多GPU/NPU协同计算的的刚需。
超级以太网(UEC)总结了一个AI/HPC网络的特征图,将ScaleUp,ScaleOut,PCIe/CXL和以太网所在系统中的位置做了一个划分,可以作为参考。AI网络作为支撑诸如LLM分布式训练等AI计算的核心基础设施,其整体架构通常可以划分为如图所示三个主要部分:前端(Frontend)网络、后端(Backend)Scale-Out网络和后端Scale-Up网络。前端网络是数据中心的基础运营网络,负责将所有计算节点与外部世界(如互联网用户或存储集群)连接起来。Scale-Out网络的主要作用是连接计算集群内的各个服务器或超节点,普遍基于Ethernet或者InfiniBand实现。Scale-Out网络通常与前端网络物理隔离,以确保关键的计算流量不受干扰。后端Scale-Up网络是用于服务器或超节点内加速器(XPU)的短距离高速互联技术。设计目标上看,Scale-Up带宽是Scale-Out带宽的一个数量级以上。Scale-Up网络典型代表包括 NVIDIA的NVLink、AMD的Infinity Fabric、Broadcom的Scale-UP Ethernet以及业界标准UALink等。这类网络的特点是提供超高的带宽(Tbps级)、极低的延迟(通常在亚微秒级别)和面向加速器的内存语义访问能力。
当然,对于整个系统而言,当前,Scale-Up和Scale-Out都是极其重要的,我们在10年前深入的研究过针对处理器设计的Scale-Up和Scale-Out的关系问题,最后得到的最重要的结论就是二者虽然都是提升性能的手段,但是作用是不可相互替代。这个结论放在今天的AI计算架构下,仍然适用。
LLM既需要更高带宽、更低延迟和更大规模的Scale-Up网络,也需要Scale-Out网络。LLM训练和推理的效率,在很大程度上取决于通信开销。张量并行将模型中的大矩阵运算切分到多个GPU/NPU上,每个GPU/NPU只计算矩阵的一部分,然后在后向传播中利用诸如All-Reduce集合通信原语将梯度聚合。All-Reduce通信量大且对延迟极其敏感,如果GPU A在等待GPU B的结果,那么GPU A就处于空闲状态,浪费了宝贵的计算资源。因此,需要超低延迟和超高带宽的连接来最小化同步开销。与此同时,当前热门大模型广泛采用混合专家架构(MoE),将GPU/NPU之间互联的性能推向极致。MoE引入了专家并行维度,Dispatch阶段需要将GPU A上的Token发送到GPU B上的专家,Combine阶段需要将Token输出结果从GPU B再送回GPU A,这两个阶段都需要使用All-to-All集合通信原语。All-to-All通信过程中,每个节点都需要和集合中的其他节点交换数据,其性能直接取决于网络对分带宽。在Scale-Up网络内部 (例如单个DGX H100节点内的8个GPU),GPU之间通过NVLink Switch连接,每个GPU可以通过900GB/s的NVLink访问节点内的7个GPU,延迟为亚微秒,All-to-All速度极快,几乎没有瓶颈。但是如果需要跨越到Scale-Out网络,则通信必须经过50GB/s的RDMA网卡,延迟上升到数微秒级。All-to-All要求每个参与者都能高效地与其他所有参与者通信。这种“全员参与”的模式对网络拓扑的一致性和低延迟有极高的要求。Scale-Up网络提供了可预测的低延迟路径。而规模庞大的Scale-Out网络拓扑更复杂,延迟抖动和拥塞的可能性更大,对All-to-All这种全局同步操作的负面影响也更大。因此,为了维持MoE模型的训练效率,必须尽可能地将参与All-to-All的专家放置在同一个Scale-Up域内。
六、Scale-Up的共性技术
国内外主流方案,无论是NVIDIA的封闭生态NVLink,还是UALink、Broadcom SUE等开放标准,均展现出鲜明的共性。
1)超高带宽与超低延迟:所有Scale-Up技术的核心目标完全一致:为LLM训练中对通信极其敏感的集合通信原语(如All-Reduce和All-to-All)提供极致性能。它们的带宽目标普遍在Tbps级别,XPU-XPU延迟目标则追求亚微秒级别,从而最大限度地减少XPU的等待时间,提升计算效率。
2)支持面向XPU计算核心的内存语义访问:这是Scale-Up技术与传统RDMA网络的关键区别。几乎所有方案(NVLink, SUE, UALink, UB-Mesh, EthLink等)都支持内存语义,允许一个XPU的计算核心直接对另一个XPU的显存进行load/store/atomic操作,如同访问本地内存。这省去了传统RDMA需要的数据“拷贝-计算”流程,实现了“计算在远端”,极大降低了访存开销和延迟。
3)主流采用单跳(Single-Hop)全连接交换拓扑以及Mesh拓扑:为实现域内任意两个XPU间可预测的、均一的低延迟,基于交换机的单跳全连接(Non-blocking Fully-Connected Crossbar)拓扑成为事实上的主流选择。无论是NVIDIA自DGX-2以来采用的NVSwitch方案,还是Broadcom SUE和UALink规范首选的“Single Hop Switch”拓扑,其核心思想都是通过中心交换层,让任意XPU到另一XPU的通信都只需“一跳”,避免了多跳带来的延迟抖动和拥塞。
4)内置的可靠传输机制:高速互联必须保证数据的完整性和可靠性。所有Scale-Up方案都在协议栈的不同层次内置了可靠性机制。这包括物理层的前向纠错(FEC),数据链路层的链路级重传(LLR),信元流控(CFBC)和网络层的Go-back-N、ACK/NAK机制和CRC校验。其中物理层和链路层可靠传输和完整性机制普遍依赖于最新以太网,网络层则专属于Scale-Up协议。
5)与计算单元的紧密硬件集成:Scale-Up互联并非简单的外部网卡,而是与XPU芯片紧密集成的片上系统的一部分。
七、DPU的“变形记”
业界很多人一直DPU当作一颗新型芯片来看待,这个观念直到现在仍然是这样。所以在去年,我们借K2Pro芯片发布的时机做了一次发声,主题就是“重新定义DPU”,背后核心逻辑就是应该把DPU当作网络侧的载体,作为连接各类资源的代理,无论是真实的物理资源、还是软件虚拟的资源。业内普遍的理解DPU是通过下面这个逻辑图:即SmartNIC包括了NIC,而DPU包括了SmartNIC,所以DPU就是超级网卡,SuperNIC。
这个观点有其合理性,但是只反映了DPU的广度,不反映深度。DPU不仅仅是NIC,SmartNIC发展的延续,而是为了适应AI原生、云原生的创新产品。比如从广度而言,DPU既可以支持云原生网络里的OVS,存储卸载、弹性裸金属服务器等应用,也可以支持网络底层的无损网络,自定义流控算法,安全加密算法卸载等。但是,当前的一些网络,是有专用属性的,正所谓Domain-Specific Networking,需要与应用深度的结合,比如Scale-Up网络就可以被视为一种专用网络连接各种XPU,自然需要一种DPU的变体来支持。我们认为大体有三种DPU的变体:
1)DPU-Endpoint:DPU作为独立的设备,内置于服务器中,连接在服务器内部的高速总线上,比如PCIE。这也是当前DPU最常见的一种呈现方式。DPU-Endpoint的功能是传统NIC的延伸,在增加带宽的同时,增加了大量的应用卸载能力。可以说DPU-Endpoint就是把原来的被动响应的NIC变成了一个主动配合网络的IO服务器,因此在涉及网络数据的计算、网络协议、存储协议、安全机制等维度给予了系统极大的灵活性和优化空间。
2)DPU-Switch:DPU作为数据交换的中心,配合DPU-Endpoint构造全连接的单跳无损网络拓扑。高速网络发展的一个技术趋势是“Smart Edge,Dumb Core”,这里Edge指服务器,或者更确切来说就是网络IO设备,而Core指核心交换机,就是交换设备。意思是Edge端要承担更多的任务,解决业务复杂度的问题,而交换端要极其高效,解决高基(High-Radix)组网的问题——这才能高效地满足当前大模型算力对于大带宽、低延迟、无损网络的需求。
3)DPU-Phy:DPU与算力芯片融合,作为算力芯片组网的直接出口。传统的算力芯片的高速IO主要有两类:PCIE和DDR,前者用于和宿主服务器交互数据,后者直接连接大容量DDR存储器。显然,这些都是不具备组网条件的IO,而DPU可以作为高速的网络IO,天然具备组网的条件,与大算力芯片集成,可以直接连接交换机。这个目前在博通提出的Scale-Up网络协议SUE里得到了直接的体现。这不仅可以节省系统成本,还破解了PCIE等高速总线的瓶颈,开辟了全新的独立后端网络。
八、立足当下,用产品迭代开拓DPU的广阔前景
DPU的出现就是为了将高速IO的数据处理整合到一套体系化的数据流处理架构中,并且继承SDN等软件定义技术的协议无关性和应用无关性,做到通用和可独立演进。DPU从诞生之初,就带着网络基因,并且天生倾向于通过数据加速处理来优化系统的性能,通过全栈协议支持对CPU屏蔽网络的多样性和网络传输天然的不可靠性。当前国际上DPU的代表性厂商有AMD、NVIDIA、Intel、Marvell等,这些厂商都把DPU当作一条重要的产品线来对待。但凡之前涉及到高速网络业务的厂商,大都会斥巨资投入DPU的研发或并购DPU。国内的字节跳动也披露自研DPU,2024年投入了800亿元在相关的研发上,预计后续2025年投入还将翻倍,将DPU与GPU结合使用,自研虚拟化技术,VPC内同时支持TCP和RDMA的虚拟NIC技术,自研了vSwitch,相较于OVS,PPS提升3倍多,单机包转发性能达到5000万包每秒,延迟低至20微秒。这些优势都是深入结合DPU技术才能做到。
最后介绍一下驭数当前的产品情况。中科驭数聚焦于高速网络数据处理芯片的研发,旨在解决计算节点间远程资源访问本地化、硬件资源虚拟化、数据安全内联化、系统运维一体化过程中所面临的挑战。随着AI时代对算力的爆发式需求,通用计算、智能计算、高性能计算走向融合,在平台层面云原生叠加上AI原生,使得对网络的核心需求已经不仅是互联互通,而是网络与计算一体化、即“算网融合”发展。DPU在继承传统网卡功能的基础上,承载AI原生和云原生衍生的核心需求,以极高的性价比和网络线速处理能力来解决数据传输带宽、延迟、运维、安全等核心问题。为了适应并推动这个计算机体系结构的变革,中科驭数自主研发了通用DPU的芯片架构,在继承传统网络处理器的基础上创新了针对 AI 和云原生场景下的低时延、高带宽属性和灵活的应用卸载能力,其传输层兼容以太网,可以平滑切入广泛的应用场景,基于DPU芯片开发了面向四个场景的产品线(可以通过驭数的官方主页来了解这些产品的具体情况):
1)符合行业标准的的高性能网卡,特点是通用性,为国产的高端服务器提供媲美英伟达和英特尔的同类高性能网卡产品,并针对国产CPU 进行深度优化。当前主力产品是FlexFlow 2200T。
2)面向金融行业的超低时延网卡和超低时延计算开发平台,特点是亚微秒级的回环时延,为电子交易场景提供极致的数据链路,产品性能对标证券期货行业内主流使用标杆Solarflare的方案,当前主力产品是Swift 2200N、2502N,NDPP X500、X1100、X3000。
3)面向云原生网络的数据流卸载的网卡,特点是灵活的数据流处理,包括高效的流表卸载、虚拟转发卸载、Hypervisor 卸载等灵活的功能,相当于在服务器侧的网卡上“再生”一个辅助专用服务器。当前主力产品是Conflux 2200E、2200P。
4)面向AI集群的后端网络网卡,特点是支持 Scale-Out 的高性能 RDMA网卡和支持 Scale-Up 的高性能网卡,前者兼容 RoCE 协议,后者将支持基于各种GPU构造算力的超节点。当前主力产品是FlexFlow 2200R。
以上产品传输数据带宽覆盖25G、40G、100G、200G,同时兼容X86平台和国产主流CPU和操作系统,可广泛适用于云数据中心、智算中心、金融计算、5G边缘计算、高性能计算、高速存储等场景。部分产品的竞争力已经可以与国外产品对标,甚至在一些细分场景上还有优势,但也必须承认整体竞争力与国外厂商还有一定差距。从整体市场趋势看,需求侧将会持续强劲,中科驭数有望在这个阶段抓住机会,实现跨越式发展,为国产算力平台补上 DPU 芯片这个短板。
(本文节选自鄢贵海博士在新一代计算标准工作委员会主办的“新一代计算产业大会”上的报告内容。)