面向大模型预训练的智算网络技术研究

网站首页    面向大模型预训练的智算网络技术研究

自ChatGpt问世以来,生成式人工智能(artificial intelligence generative content,AIGC)发展突飞猛进, 越来越多的科技巨头都相继推出了千亿、万亿参数大模型,带动了全球智算中心的发展与建设。超大规参数的预训练大模型的硬件需求给智算基础设施带来了前所未有的挑战,也对网络基础设施提出了更高的要求。

 

网络基础设施是智算中心的重要组成部分,通过高性能网络基础设施,满足大模型带来的超大规模算力集群、超高网络吞吐、超低网络延时及高可靠性等业务需求,提高智算中心的图形处理器(graphics processing unit,GPU)算力使用效率、降低训练时间、提升算力训练持续运行时长,进而提升算力基础设施的整体商业竞争力,具有重要意义。

 

目前智算网络在生态层面和技术层面都存在一些机遇和挑战,本文提出一种智算中心网络的目标架构,以满足智算中心对网络相关基础设施、互联能力、端网协同控制等的需求,并将着重分析面向大模型预训练的智算网络现状、关键技术以及智算网络的未来发展趋势。

 

1
智算网络通信标准化进展
 

 

1.1 
 
国内标准化情况
 

 

当前智算网络相关标准仍处于起步阶段,中国通信标准化协会(China Communications Standards Association,CCSA)承担了国内主要的智算网络标准化工作,围绕互联互通和基础支撑,系统化布局智算网络总体技术要求、无损协议、广域网能力要求、存算一体、设备/平台互联互通、安全等方面的标准化研究。截至2024年3月,CCSA相关的智算网络标准情况见表1~表6。

 

 

 

 

 

 

 

1.2
 
国际标准化及产业化情况
 

 

国际标准方面,智算网络的标准化工作主要在ITU及IETF开展,国际智算网络标准体系有待进一步完善。2023年,中国联通、中国电信、信通院、紫金山实验室围绕下一代网络演进(next generation network evolution,NGNe)在SG13启动智算立项。ITU-T Y.NCE-DAICC 标准研究分布式智算中心在NGNe中的网络增强需求和能力;ITU-T Y.WALNC标准对广域无损网络的控制器提出功能要求,以增强控制器在路径计算、流量调度、流量控制、拥塞控制等方面的能力。

 

IETF网络工作组积极推动智算网络关键技术研究,已分别针对广域网中无损技术要求和基于RoCEv2的集合通信卸载需求提交2篇个人文稿;2月24 日,在IETF118次会议的在网计算相关产业技术研讨会 上,业界专家围绕智算网络关键技术也进行了深入研讨。

 

为满足AI和高性能计算(High Performance Computing,HPC)对智能算力日益激增的需求,2023年7月,由Linux基金会牵头,AMD、Arista、博通、思科等公司联合成立了超以太网联盟(Ultra Ethernet Consortium,UEC),致力于从物理层、链路层、传输层、软件层改进以太网技术,在兼容当前以太网生态的前提下,提升以太网的转发性能。此外,谷歌在 2023年OCP全球峰会上提出了一种面向未来AI时代的低时延网络传输协议—Falcon,可为RDMA操作提供端到端可靠传输。

 

2
智算网络业务需求 
 

 

2.1
 
智算网络大规模高性能组网需求
 

 

智算中心及其内部网络需要支持数千至数万张GPU卡的互联互通,通常定义千卡以上为大规模,万卡以上为超大规模。智算中心的GPU组网可划分为参数网络、存储网络、业务网络和管理网络。其中参数网络须支持在数千至上万块GPU卡上同时执行并行训练任务,对卡间互联能力有着极高的要求,一般需要独立设计,保证高吞吐、低时延和无损。

 

由于全局拓扑决定了不同GPU服务器之间通信所需经过的路径、跳数等因素,直接影响GPU之间的通信路由,因此,参数网络的任意两块GPU卡间的跳数应尽可能少,路由均衡且避免复杂路径,保障网络整体的高性能和可扩展性,支持弹性扩展,保证足够的冗余和容错能力。

 

2.2
 
智算网络超高吞吐需求
 

 

大规模并行训练效率依赖于GPU间的网络吞吐能力,需要依赖高性能集合通信和高性能网络I/O能力的支持,前者通过集合通信软件库、网络拓扑和网络协议的共同配合实现,后者主要通过引入远程直接内存访问(remote direct memory access,RDMA)技术实现。

 

集合通信的目的是实现多个GPU卡之间的数据或梯度的交换和聚合,以保证模型参数的一致性和更新。集合通信会在同一时间产生大量的通信数据量,这些数据量需要在尽可能短的时间内传输完成。为避免集合通信引起的带宽争用、拥塞、冲突等问题,网络方面还需要拓扑优化、拥塞控制和负载均衡技术等方面做更多的优化。

 

RDMA是一种应用之间无须通过中央处理器(central processing unit,CPU)直接实现数据交换的技术, 可以显著提升网络I/O的吞吐能力,减少对CPU的占用,降低端到端时延。RDMA主要需要网卡支持。

 

2.3
 
智算网络超低时延需求
 

 

网络时延/抖动影响大模型训练的效率和质量,智算中心GPU卡间的时延可分为静态时延和动态时延两部分。静态时延包含数据串行时延、设备转发时延和光电传输时延,静态时延由转发芯片的能力和传输距离决定。动态时延含交换机内部排队时延和丢包重传时延,通常由网络的拥塞和丢包等不确定因素引起, 与网络的负载和可靠性有关。典型数据中心交换机的硬件转发时延(静态时延)通常在500ns-10us之间, 在模型训练业务节点端到端通信时延(通常都在几十甚至上百 ms)中的占比较小,而动态时延可以达到几十毫秒甚至亚秒级。

 

分布式训练的集合通信要求时延抖动要尽可能降到最低,网络时延抖动会导致集合通信操作中各个GPU的同步性降低,任意两个GPU之间的点对点通信出现了较大的时延抖动,由于木桶效应,集合通信需要多次等待劣化链路的点对点通信,会放大动态时延和抖动带来的影响。

 

2.4
 
智算网络高可靠需求
 

 

智算网络的可靠性对模型训练是否按时按期完成,以及训练质量有重要影响。一是大模型训练任务一 旦中断,重启时间很长,而且会导致部分训练结果丢失或损坏,造成资源浪费、时间延误甚至是训练的失败;二是大规模智算网络容易出现各种网络故障,如链路断开、交换机宕机、网卡故障等,通过高可靠网络技术,可以最大程度减少故障影响范围和时间,保证集群的计算连通性和完整性。三是大模型训练需要保持网络性能的稳定和平衡,网络故障引起的性能波动会影响训练效率和质量,导致收敛速度变慢或不收敛。

 

因此,智算中心网络需要支持冗余链路、备份设备、快速路由切换等技术,实现快速的故障发现和恢 复,减少故障影响范围和时间。具备性能波动抑制能力,建立拥塞控制和避免机制,合理分配和调节流量,减少网络性能波动的发生和影响,提高网络的吞吐量、平衡性和稳定性,保证集群的计算效率和质量。

 

3
智算中心网络目标架构
 

 

3.1
 
智算中心网络目标架构
 

 

为满足智算中心内部网络超大规模、超高吞吐、超低时延、超高可靠性的性能需求,提出了一种面向智算中心内网络的目标架构。该网络架构包括基础设施层、互联能力层、联网控制层和集合通信层,如下图1所示:

 

 

基础设施层为承载智算业务的硬件基础设施,包括计算、存储、网络资源等。计算资源主要是指高性能通算和载有GPU或其他加速卡的智算服务器,存储资源包括统一的集中存储或分布式存储等,网络资源则包括机间互联的支持IB或RoCE的交换机、网卡和机内内总线等。

 

互联能力层可以分为机内互联、机间互联和数据中心(data center,DC)间互联,机内互联指的是服务器内部的硬件互联拓扑,目前最为成熟的代表是NvLink;机间互联指的是一个DC内用于训练大模型的一组设备之间的互联,参数面网络有低时延、高吞吐的要求,传输协议一般采用IB或者 RoCE,网络拓扑架构一般为CLOS架构或者直连架构;DC间互联指的是城域内多个数据中心之间的互联,分为长距无损和长距容损,长距无损适用于单集群多DC互联场景,将多个小DC组成一个大的集群,实现算力资源整合,这个距离目前不会太长,而长距容损则适用于多集群多DC之间超长距互联,一般可超过2000km。 

 

端网控制层是通过端侧(服务器网卡)和网侧(交换机)配合,采用流量控制、拥塞控制、负载均衡等技术实现端网的高效协同,进而提升智算网络端到端承载的效率。

 

集合通信层提供大模型训练的集合通信操作,主要为Send、Receive和 AllReduce,目前业界主要的集合通信库除了实现集合通信算子外,还添加了对自家加速卡或网卡等产品的支持,以及定制化场景的算法优化、故障感知等功能。

 

3.2
 
基础设施层
 

 

基础设施层的计算、存储、网络等资源共同构成了智算的硬件基础设施,计算资源除通算服务器外, 主要还需要包含携带GPU卡的服务器,以完成模型训练中的大量密集参数运算。存储资源主要用于保存训练中需要的海量样本,以及训练过程中产生的Checkpoints文件等,由于训练过程中会不断读取样本, 因此对存储资源的吞吐和时延有一定的要求。网络资源包括了服务器之间互联的网卡、光纤和交换机等, 智算网络中的网卡均为支持RDMA的网卡,并逐渐往数据处理器(data processing unit,DPU)网卡的方向发展,网卡上集成了拥塞控制算法,与交换机一起协同处理网络拥塞问题。

 

3.3
 
互联能力层
 

 

机内互联在模型训练中发挥着重要作用。以NVIDIA为例,服务器内使用了NvLink和NvSwitch实现GPU间流量的高速吞吐。第三代Hopper架构的NvLink速率可达到 900Gb/s,中间通过NvSwitch互联, 互联的架构设计使得机内GPU之间的通信不再依赖PCIe直通Kernel,大大减少了CPU的负担。机间GPU之间的通信则需要通过PCIe,经过网卡传输数据,如下图2所示:

 

 

 

目前智算中心中普遍使用的机间互联网络拓扑是胖树(Fat-Tree)架构,Fat-Tree是一种传统CLOS架构,如下图3所示:

 

 

Fat-Tree架构共分为三层:核心层、汇聚层、接入层。常见的有2元、4元、6元等结构,图3为一个4元Fat-Tree架构。传统的树形网络拓扑中,带宽往往是逐层收敛的,网络带宽并非1:1,而Fat-Tree是无带宽收敛的,每个节点都可以保证上行带宽和下行带宽一致,每个节点都提供了相同的转发能力,因此可以构建大规模无阻塞网络。然而,Fat-Tree作为一种传统 CLOS架构,在面向大规模预训练模型场景时也存在一些缺陷,例如扩展规模受限、大量连线导致的成本问题等。

 

智算中心组网架构优化是一个整体方案,需要综合考虑GPU硬件厂商、网络拓扑、集合通信算法和生态等因素。例如NVIDIA的GPU卡和网络拓扑一般采用多轨道流量聚合技术,实现流量亲和性规划和负载均衡,将通信量较大或较频繁的GPU卡安排在相同或相近的物理链路或逻辑通道上,从而减少跨链路或跨通道的通信开销。如下图4所示:

 

 

针对超大规模下的网络设计,直连架构也是选择之一,例如Dragonfly。Dragonfly每个网络节点均有终端节点与之直接相连,没有专门用于网络节点间互连的网络设备。直连架构一般采用自适应智能选路, 选择灵活的转发路径,并且可叠加无损技术,提供高性能低时延能力。但目前直连架构还是主要应用在HPC领域,很少在智算领域有应用案例。 

 

单集群多DC间的互联可以在单机房服务器容量不足、不能满足模型参数规模时,将分散在一个城域内的多机房互联起来,实现算力资源的整合。如下图5所示为两个机房,Spine之间通过长距光纤互联, 组成一个大集群,以提供更大规模集群能力。但DC间的互联也会带来一些问题,例如长距会导致传输时延增加、丢包等,对距离有敏感性。

 

 

针对RoCE网络下的长距DC间互联,已在实验室环境中模拟了百公里级的集群内DC间协同训练测试,验证并分析城域级智算网络方案可行性。实验室采用8台智算服务器搭建智算集群,服务器与2台Spine交换机和4台Leaf 交换机组成Fat-Tree网络,并部署LLaMA2-13B模型,构造基于RoCEv2 的无损网络。

 

 

如图6所示,在未使用负载均衡技术的网络拥塞场景下,长距相对于短距的预训练性能下降明显,0.1km下每秒训练样本数可达到19.63samples,而5km下每秒训练样本数仅为5.68samples。由于网络拥塞本身的不确定性,不同距离的性能损失程度呈非线性关系。 

 

在使用负载均衡算法的情况下,随着互联距离的增加,大模型训练一轮的迭代时间逐渐变长,且每秒训练的样本量呈近似线性下降,预训练性能百公里损失约为4%左右。与未使用负载均衡算法的情况相比, 长距下利用负载均衡算法可以增加大模型每秒训练的样本数量,缩短模型训练迭代时间,显著提高GPU利用率。

 

3.4
 
端网控制层
 

 

端网控制层通过流量控制、拥塞控制、负载均衡等技术维度,解决智算网络端到端承载的效率问题。流量控制的目的在于通过网络控制和全局调度,吸收智算业务中产生的突发流量,主要手段为PFC和全局流量调度。全局流量调度是流量控制的重要手段之一,通过智能的流量调度机制,将突发流量分散到不同的路径和链路上,避免某些路径过载,从而减轻网络拥塞的风险。全局调度可以根据网络拓扑、带宽利用率和流量负载等因素,动态地分配流量,确保网络资源的均衡利用和高效传输。

 

拥塞控制主要是通过降低发端速率来避免网络拥塞,实现端到端高效的拥塞控制。基于往返时延 (round-Trip time,RTT)的拥塞控制是一种基于 RDMA的端到端RTT测量和速率控制的数据中心网络拥塞控制算法,通过 RTT测量、速率计算和速率控制三个模块,协同实现拥塞控制;基于DCQCN的拥塞控制是目前在RoCEv2中使用最广泛的拥塞控制算法,可以提供较好的公平性,实现高带宽利用率。基于带内网络遥测(inband network telemetry,INT)的拥塞控制,利用INT获得精确的链路负载信息并精确控制流量,与传统的拥塞控制相比,基于遥测的拥塞控制技术具有更高的精度和更快的响应速度。

 

负载均衡技术可以分为逐流负载均衡、逐包负载均衡、逐信元负载均衡和多路径负载均衡等,目前在RoCEv2中普遍使用的是逐流负载均衡,IB中使用的是逐包负载均衡,逐信元和多路径负载均衡也属于业界比较前沿的方案。

 

3.5
 
集合通信层
 

 

在大模型预训练中,机内与机间的流量主要都是通过集合通信操作产生的,所以集合通信与网络流量调度、拥塞控制、机内机间互联以及模型训练效率等有着密切的关系。目前主流的大语言模型训练方式中, 有3种主要的并行方式,Tensor并行、Pipeline并行和数据并行,其中Tensor并行和Pipeline并行又合称为模型并行。Tensor并行将模型的层横向切分,Pipeline为层切分,DP则为数据并行。三种并行中Tensor并行产生的流量最大,这种流量往往通过服务器内部总线交互;Pipeline并行产生的流量处于模型训练的前向传播和后向传播阶段,其特点为点对点的持续流量,这类流量往往都需要通过交换机网络传输;数据并行的产生的流量处于后向传播完成之后的阶段,流量一般全部经过网络传输,其特点是瞬时突发流量大, 带宽需求高,且需要无损传输。

 

因此,由于使用的基础设施与互联方式有所不同,业界主流的集合通信库都针对各自的定制化场景做了针对性的优化,例如ACCL对AllReduce做了分层优化算法,添加了对自研RoCE网络的拥塞感知功能, HCCL做了定制化场景优化、故障感知等。可以看到,当数据中心中出现新的场景时,例如算力异构场景、 长距互联场景,都会导致原有的集合通信模型每个节点之间不再等价,并需要进行定制化优化才能满足大模型训练的性能需求。

 

4
智算中心网络的关键技术
 

 

4.1
 
RDMA
 

 

RDMA提供内核旁路机制和内存零拷贝机制,允许应用与网卡之间的直接数据读写,有效降低协议栈时延,提升CPU的效率。RDMA的性能高度依赖底层网络的无损传输。基于RDMA的通信协议目前主要有3种实现方案,分别是IB(InfiniBand)、RoCE、iWarp(internet Wide Area RDMA Protocol)。IB技术成熟度较高,网络性能好,内置流控技术,对无损支持较好,为英伟达独家控制,成本偏高且生态链薄弱;RoCE技术相对成熟,网络性能接近IB,成本适中且生态链丰富, 但由于RoCE是通过对以太网技术增强实现的无损能力,需要对相关参数进行精细化调教;iWarp 性能弱于IB和RoCE,产业链支持程度不高,逐渐退出竞争市场。

 

4.2
 IB
 

IB是一个为大规模、易扩展机群而设计的网络通信技术协议。目前 NVIDIA的IB技术方案已经是一个由一系列技术组成的端到端的整体网络方案,组网采用全连接、轨道优化的无阻塞Fat-Tree拓扑,按集群规模部署二层/三层组网方案, 是一个具有高带宽、低时延的原生无损网络。IB的主要特性包括了RDMA、 SM管理器、AR、乱序重组,sharp、逐包转发等。

 

IB拥有一套自己的私有协议,与以太类似,IB同样采用了分层结构,如下图7所示:

 

 

其中物理层定义了信号传输的一些特性,例如link,可以有1X,4X,12X 等,根据不同的产品,端口速率也不同,例如目前的HDR系列端口速率可以达到200Gb/s,NDR系列可以达到400Gb/s。链路层(以 及传输层)是IB架构的核心。链路层定义了数据报文的格式,以及报文的转发和本地子网内的交换等。网络层给报文封装了一个全局路由报文头GRH,并定义了GID结构,实现路由转发,如图8所示:

 

 

传输层将报文传送到某个QP(Queue Pairs)中,并定义了QP的收发报文操作和RDMA的读写操作等。上层协议层,提供了一些上层协议,例如 SDP、SRP、iSER、RDS、IPoIB和uDAPL等。

 

InfiniBand网络采用基于Credit信令机制从根本上避免缓冲区溢出丢包,只有在确认接收端有足够的Credit来接收对应数量的报文后,发送端才会启动报文发送。InfiniBand网络中的每一条链路都有一个预置缓冲区,发送端一次性发送数据不会超过接收端可用的预置缓冲区大小,而接收端完成转发后会腾空缓冲区,并且持续向发送端返回当前可用的预置缓冲区大小。依靠这一链路级的流控机制,可以确保发送端绝不会发送过量,网络中不会产生缓冲区溢出丢包。在数据的传输方式上,与以太网的逐流方式不同,IB的数据包传输是以逐包的方式传输的,结合自适应路由(adaptive routing,AR),可以使流量在交换机上均匀的分布,支持动态负载均衡,避免网络拥塞,最大化利用带宽。由于网络中有多条传输路径,这些路径的传输速度和延迟可能不同,因此,数据包可能会以不同的顺序到达目的地。为此IB提供了乱序交付(Out-of-Order Delivery)功能,即在InfiniBand协议使用序列号(Sequence Number)字段来标识数据包的顺序,并在接收端的网卡上根据序列号对数据包进行排序,以确保按正确的顺序对报文进行重组。

 

IB的在网计算技术名称为SHARP,能够把原来在服务器上的集合通信中的一部分计算放在交换机上来做,避免了节点之间的多次数据传输,减少了网络上的数据量,可以有效的提升大模型训练效率。

 

4.3
 
 RoCE
 

 

RoCE在InfiniBand Trade Association(IBTA)标准中定义,目前共有v1 和v2两个版本。如图9所示, RoCEv1版本基于网络链路层,无法跨网段,应用较少。RoCEv2基于UDP,可以跨网段具有良好的扩展性,而且可以做到吞吐,时延相对性能较好,成为广泛采用的方案。RoCE协议用以太网进行承载,需要辅以PFC,ECN等技术对传统以太网络改造,实现低时延和零丢包的无损网络。

 


 

基于优先级的流量控制(priority-based flow control,PFC)在IEEE802.1Qbb标准中定义,该机制是在802.3ad的Pause机制上做修改,是对传统流控暂停机制的一种增强。PFC是构建无损以太网的基础技术,能够逐跳提供基于优先级的流量控制,使得同一链路上不同类型的报文互不影响。

 

如图10所示,PFC将端口流量分为8个优先级队列,每个优先级队列实现独立的Pause机制。当队列已使用的缓存超过PFC门限值时,则向上游发送Pause帧,通知上游设备停止发包,直到上游再次收到PFC停止反压报文或经过一定的老化时间后才能恢复流量发送。

 

 

图11的应用示例中,R5设备收到流量后会给报文分配cell资源,当PFC功能开启时,会根据报文中的优先级统计占用的cell资源,当cell资源统计数达到设置的门限后,再收到该优先级的报文会发对应优先级的PFC Pause 帧给R2和R5,R2、R5收到该优先级的PFC Pause帧后,停止发对应优先级的报文,并对该优先级报文进行缓存,若触发了缓存门限,则也向上游发PFC Pause帧。PFC死锁(PFC deadLock) 是指网络故障瞬间成环导致多台交换机同时阻塞,各自端口缓存消耗超过阈值,都同时向对端发送 PFC Pause帧,相互等待对方释放资源,从而导致所有交换机都处于停流状态,即发生了死锁,造成整个网络或部分网络的吞吐量为零。

 

 

 

 

显式拥塞通知(explicit congestion notification,ECN)是TCP/IP协议的扩展,在RFC3168中进行了定义,支持端到端的网络拥塞控制。通过对报文IP头中ECN域的标识,由目的服务器向源服务器发出降低发送速率的拥塞通知报文(congestion notification packet,CNP),实现端到端的拥塞管理。如图12中所示,ECN域不同的标识代表了对ECN功能的支持程度ECN是目前被以太网中普遍接受的拥塞控制机制,但是ECN的水线设置较为复杂,而且在面向不同的业务时也需要动态调整。

 

 

 

4.4
 
动态负载均衡
 

 

RoCE网络中有效吞吐低的主要原因是大数据流的HASH不均,在大模型预训练场景中,网络拓扑要求为1:1无收敛的网络,理想情况下,如果流量如果能在网络中均衡传输,整网可以达到100%的吞吐。但是在RoCE网络中,传统的处理方式是使用基于报文的五元组进行ECMP的HASH,很容易出现流量HASH不均甚至HASH极化最终导致链路拥塞、出端口拥堵,整网利用率低等问题。

 

针对上述问题,业界在动态负载均衡方面做了很多尝试,有一些私有化实现,但仍处在进一步探索阶段。在流量调度的粒度方面,有基于流、子流 Flowlet、包等不同粒度,在封闭系统中甚至还有更小的以Cell为单位的流量调度。流量调度粒度越小,流量分发越均匀,但小粒度的流量调度容易带来数据包乱序的问题,从而对要求保序的传输协议的性能产生影响。逐流HASH均衡是当前最常用的负载均衡算法,基于流量的N元组进行HASH负载均衡,在流数量较多的场景下适用,它优势在于无乱序,劣势在于流数量较少时,例如AI训练场景下,存在HASH冲突问题,网络均衡效果不佳;子流flowlet均衡是逐流均衡的演进,它依赖于子流间时间间隔GAP值的正确配置来实现均衡,但由于网络中全局路径级时延信息不确定,因此GAP值无法准确设置,GAP较小存在接收端侧乱序的问题,GAP较大基本等同于逐流均衡;逐包均衡,理论上均衡度最好,但实际在接收端侧存在大量乱序问题,严重依赖网卡的乱序重排能力。

 

4.5
 
集合通信算子
 

 

集合通信算子指的是模型训练过程中用于各进程之间通信的算子,主要包括Broadcast、Send、Receive、 Scatter、Gather、AllGather、Reduce、AllReduce、AllToAll 等。集合通信指的是一组进程之间的多对多通信模型,最早是在高性能计算HPC领域被广泛使用的信息传递接口,协议为MPI。与传统的集合通信相比,深度学习中集合通信操作依靠硬件加速器和高速互联网络来支持大规模深度学习模型训练,以NVIDIA的NCCL为代表的各类CCL,均沿用了MPI所定义的通信原语,并在各种场景做了不同的优化。

 

大模型预训练的三种并行方式中,Pipeline并行的通信是模型层与层之间的数据传递,上一层计算出来的结果作为下一层的输入,使用到的集合通信操作为Send和Receive。Tensor并行和数据并行中使用的集合通信算子均为AllReduce,但是两者处在模型预训练的阶段不同,产生的数据量和对硬件需求也不同。Tensor并行中的AllReduce产生在模型训练的前向传播和后向传播阶段,Tensor并行的目的是把大矩阵运算切割成小的矩阵运算均分到各个GPU卡上,再使用AllReduce将计算结果合并,Tensor并行产生的数据通信量在三种并行中是最大的,通过机内高速互联网络通信。数据并行的流量产生在模型训练的后向传播完成后,将各个节点计算出来的本地梯度通过AllReduce的方式计算出平均梯度,这个阶段的流量需要通过交换机网络来传输。除此之外,另外一种MOE专家并行模式则使用了 AllToAll。

 

在数据并行阶段,集合通信会产生多对多的瞬时高峰流量,是产生网络拥塞的主要因素,网络拥塞会降低网络有效吞吐,从而造成训练效率下降,延长训练时间。因此,业内对于AllReduce的算法实现做了很多的探索,目前应用较为广泛的是Ring-AllReduce和HD-AllReduce。

 

5
智算网络未来的挑战与趋势
 

 

5.1
 
业界智算网络存在的瓶颈问题
 

 

智算网络最重要的需求是构建无损网络,而无损网络可以总结三大核心特征:0丢包、低时延和高吞吐。为此,智算网络需要在流控机制、拥塞控制和负载均衡调度等多方面实现协同优化。IB采取了一系列技术来提升网络转发性能,并且与英伟达GPU自成一体,实现端到端优化,能更好的发挥网络性能, 无疑是智算网络当前性能最好的选择,但是IB需要专用的交换机、线缆等价格高昂,且生态封闭。与IB相比,RoCE具有更开放的生态和更低价的成本,在性能上也接近IB,但是RoCE配置相对复杂,有一定的维护成本,而且在拥塞控制和动态负载均衡等方面还存在很多亟需解决的问题。

 

在拥塞控制方面,RoCEv2使用了PFC和ECN来避免丢包,但是也存在各种缺陷,PFC存在PFC风 暴、PFC死锁等问题,ECN的水线设置比较复杂。当拥塞出现后,两者发生作用时会因为流量反压导致网 络有效吞吐变低,从而降低训练效率。

 

在丢包包重传方面,RoCEv2重传机制为Go-Back-N,若丢包则从丢包位置之后的N个包都重传,因此当发生拥塞导致的丢包时,将加剧拥塞,导致有效吞吐下降。 

 

在负载均衡方面,RoCEv2基础网络仍使用ECMP技术,是基于流的负载均衡技术,在智算场景中, 流的条数少,单流数据量大,因此基于五元组的流哈希很容易造成链路拥塞,不能满足智算业务负载均衡需求。

 

5.2
 
智算网络的未来展望
 

 

针对智算网络面临的巨大需求和在性能上以及生态上存在的问题,业界积极探索,做了很多尝试,例如UEC联盟。UEC主要目的是超越RoCE,对标IB网络,因此,UEC在充分借鉴IB技术方案的基础之上,从物理层、链路层、传输层和软件层改进现有以太网,提供AI和HPC应用所需性能,同时保留以太网/IP生态系统的优势。目前UEC计划输出增强物理层和链路层性能、延迟和管理的规范,以及传输层和软件层的规范,关键技术包括:

 

在拥塞控制方面,提出现代拥塞控制机制(modern congestion control mechanisms),定义了基于Credit的流控机制(CBFC),支持路径拥塞管理、Incast控制等,该机制的出现是为了替代PFC流控,CBFC会允许接收端将自己的buffer空间大小周期性的发送给发送端,从而使发送端可以基于报文优先级和buffer大小定量的发送报文,以此来避免拥塞。

 

在以太网包传输方面,UEC提出的灵活传送顺序(Flexible delivery order)支持四种报文传输模式:可靠有序传输、可靠无序传输、可靠用于幂等运算的无序传输和不可靠无需传输,用户可以根据自身需求,选择合适的报文传输方式。

 

在负载均衡方面,提出了多路径报文散传(Packet spraying)的概念,通过实时拥塞管理来选择端到端之间的路径,并提供了细粒度的负载均衡,可实现全路径负载均衡,但是接受端需要有包乱序重排能力。

 

在网络监测方面,提出了端到端遥测(E2E INT),基于INT的遥测技术相对于RTT可以更快速的感知拥塞,获取更精确链路负载信息来计算准确的流量更新,从而实现精准控制流量。

 

6
结语
 

 

本文详细阐述了大模型诞生以来业界对智算网络的需求,提出了一种智算中心网络目标架构,深入到每一项关键技术并详细介绍其原理,以及对智算网络未来的挑战与趋势做了简单分析,希望能对读者有所启发。在芯片算力强劲发展的今天,智算网络一方面还需要协议、性能、标准等各方面寻求更进一步的发展,另一方面还需要兼顾成本、生态等产业链问题,以满足智算中心蓬勃发展的需求。

 

来源:电信科学

作者:王学聪、冀思伟、李聪

 

 
 
深 知 社
 
 

 

 

 

2024年5月31日 08:50
浏览量:0