(CWW)随着人工智能的快速发展,AI模型不断向大规模方向发展,而分布式并行计算是实现AI大模型训练的关键手段。在这个计算过程中,网络吞吐是影响分布式训练质量和速度的重要因素。本文将就网络吞吐对AI训练的影响以及如何通过增加通信效率促进AI集群算力线性提升进行探讨。
一、分布式并行计算是实现AI大模型训练的关键手段
随着AI模型规模的不断扩大,单GPU,单服务器已经无法满足计算和存储需求,分布式并行计算应运而生,即将计算任务以数据并行、流水线并行及张量并行等分布式并行方式分配到多台服务器上,来加快模型训练速度。
(资料图片)
在数据并行模式下,数据被分割成多个部分,分配给不同的计算设备进行并行计算。这种并行模式需要多次集合通信操作来传递计算结果;在流水线并行模式下,不同的计算设备分别处理输入数据的不同阶段,每个阶段的结果通过集合通信操作传递给下一个阶段;在张量并行模式下,不同的计算设备分别处理输入数据的不同维度或不同部分,进行并行计算,这种并行模式同样需要多机多卡间的集合通信操作,以保证计算结果的准确性和训练效率。
因此,整网的集合通信性能对于Al网络的性能至关重要,网络性能决定了数据并行、流水线并行和张量并行等不同并行模式的效率,并直接影响集群对大模型训练的时间。
二、网络性能会直接影响分布式训练的效率
在分布式计算环境中,不同计算机之间需要频繁地进行数据交换和通信。因此,网络性能的优劣会直接影响分布式训练的质量和速度。如果网络吞吐不够大,数据传输就会成为瓶颈,从而限制了分布式训练的效率。
首先,让我们来看看allreduce通信特征。allreduce是一种集合通信操作,用于将所有工作节点的结果进行汇总并返回。在allreduce中,同一时间均为点到点通信,无多打一,流数少,单流带宽大,流量模型是对分流量。理想目标是所有流量都能够在1:1无收敛的网络中均衡传输,从而使整网吞吐达到100%。
然而,在实际应用中,ECMP多路径时流量哈希冲突会导致带宽不均衡,进而影响端侧数据发送带宽。在allreduce的流数少,流量大的情况下,基于ECMP进行负载均衡的网络中,网络节点仅站在自身视角将流量通过哈希选路发送,会出现流量Hash不均甚至HASH极化最终导致链路拥塞、出端口拥堵,整网利用率低等问题。
图1:Hash冲突的两种典型场景
另外,由于这个流量特征是由于通信库导致的,因此不论是IB还是RoCE都面临这个网络负载不均衡问题。
图2:英伟达在2023云网智联大会上介绍IB的负载均衡问题
图3:基于经典模型Halving Doubling Allreduce算法仿真的数据
在拥塞时,拥塞时队列深度增加,导致长尾时延增大,这是影响集合通信性能的关键因素,降低网络长尾时延可有效提升训练完成时间。
图4:集合通信里的长尾效应
因此,网络性能对分布式训练的质量和速度有着重要的影响。在AI DC中必须要采取相应措施来优化网络负载均衡的问题,以保证整网利用率的最大化进而保障整个AI集群的效率最大化。AI集群网络的吞吐效率将直接影响整个智算中心集群的效率。
三、通过增加通信效率促进AI集群算力线性提升
在没有实现全局负载均衡的网络中,整体通信效率为30%~56%之间,这说明有一半的网络性能没有被使用,也就意味着整个集群的算力使用率仅仅为30%~56%左右。在AI计算场景下,网络负载分担不均问题是当前业界的一个重大的难题,Google就曾指出在其数据中心中存在多级HASH不均问题导 致10K规模组网下整网吞吐低于25%的问题。
为了提高网络吞吐,进一步释放集群算力,业界已经有很多尝试和方案:
3.1英伟达通过自适应路由来解决负载不均问题,网络吞吐从50%提升到90%
图5:英伟达InfiniBand网络自适应路由方案
图6:英伟达RoCE网络自适应路由方案原理
图7:英伟达RoCE网络自适应路由方案效果
在ECMP图中,某些流具有相同的带宽和完成时间,而其他的流因为冲突,导致完成时间更长,带宽更低。具体来说,在ECMP场景中,一些流实现了13秒的最佳完成时间T,而最慢的流量需要31秒,大约是最佳流量的2.5倍T时间。而在RoCE自适应路由图中,所有流都在大约相同的时间,峰值带宽相似。
3.2中国移动发布全调度以太网架构白皮书,旨在解决网络负载不均衡问题
与传统以太网基于流进行负载分担的机制不同,GSE (全调度以太网)交换网络采用定长的PKTC 进行报文转发及动态负载均衡,通过构建基于PKTC 的DGSQ 全调度机制、精细的反压机制和无感知自愈机制,实现微突发及故障场景下的精准控制,全面提升网络有效带宽和转发延迟稳定性。
图8:GSE网络端到端流量转发示意图
GSE 面向无损、高带宽、超低时延等高性能网络需求业务场景,兼容以太网生态链,通过采用全调度转发机制、基于PKTC 的负载均衡技术、基于DGSQ的全调度技术、精细的反压机制、无感知自愈机制、集中管理及分布式控制等技术,实现低时延、无阻塞、高带宽的新型智算中心网络。
3.3华为AI Fabric基于NSLB实现整网吞吐提升至98%
AI训练大流为主(100MB~几GB),流数量少,单流通信数据量大,传统网络更易负载不均,常年吞吐仅有50%;每个周期内最慢的一条流到达后,才能进行下一轮通信,性能取决于最慢的流。
华为采用NSLB2.0算法,可根据整网交换机节点流拥塞状态和全网拓扑进行全局算路,识别出最优路径,整网吞吐可提升至98%。
图9:NSLB优化以太网负载均衡机制,实现整网满吞吐
图10:NSLB在某实验室测试效果,网络性能最高提升113%
网络吞吐是AI DC的核心关键指标,AI网络的吞吐直接决定整个智算中心的效率高低
由于网络作为整个数据中心内的通信高速公路,其枢纽作用对计算效率,整体投资和能源消耗都有放大效应,网络性能10%的提升,能够撬动整体性能、投资和能耗数倍的提升:
1.更高效完成训练任务,降低TTM:运力驱动算力,通过全局网络负载均衡技术可以使训练任务更高效的完成,效率最高可提升22%左右。如使用512张V100完成1750亿参数的GPT3训练,配套传统负载均衡技术训练大约需要8.75个月,而在全局负载均衡下的训练可以缩短到7个月,提前释放的资源可用于其他任务,为算力集群带来更高收益。
2.实现集群性能完美线性扩展,降低Capex:在智算中心软硬件基础设施的建设中,近70%投资用于计算设备,网络占比低于20%,剩余部分为存储和安全设备。如果网络存在负载不均问题,此时能释放的集群算力仅有60%左右。但通过改进网络负载均衡技术,可通过占比不到20%的网络拉动3倍以上投资的算力资源,实现集群性能完美线性扩展。
3.节能减排,降低Opex:节省的算力资源除一次性购置成本外,其所配套的机架、能耗等成本同样可观。千卡昇腾910B集群的整体供电需求可达760KW,通过网络负载均衡技术节省的算力资源以外,还可节省由于非线性扩展带来的额外电费80万/年。
综上所述,网络吞吐是AI DC的核心关键指标。衡量AI网络性能的关键指标是整网的集合通信性能(allreduce),在规划、建设AI DC的前期,需要针对网络性能制定相应的建设规范和设定性能指标,并在正式部署前进行严格的功能和性能测试,确保网络不能成为算力释放的瓶颈。例如可以设定网络线性度指标来衡量网络的整体性能:
最后,没有针对性进行负载均衡优化的网络不适用于AI DC,不论是IB网络还是RoCE网络。