从Transformer问世至2023年ChatGPT爆火到2024年Sora吸睛,人们逐渐意识到随着模型参数规模增加,模型的效果越来越好,且两者之间符合Scalinglaw规律,且当模型的参数规模超过数百亿后,AI大模型的语言理解能力、逻辑推理能力以及问题分析能力迅速提升。同时,随着模型参数规模与性能提升后,AI大模型训练对于网络的需求相比于传统模型也随之产生变化。
为满足大规模训练集群高效的分布式计算,AI大模型训练流程中通常会包含数据并行、流水线并行及张量并行等多种并行计算模式,不同并行模式下均需要多个计算设备间进行集合通信操作。另外,训练过程中通常采用同步模式,需多机多卡间完成集合通信操作后才可进行训练的下一轮迭代或计算。
因此,在AI大模型的大规模训练集群中,如何设计高效的集群组网方案,满足低时延、高吞吐的机间通信,从而降低多机多卡间数据同步的通信耗时,提升GPU有效计算时间占比(GPU计算时间/整体训练时间),对于AI分布式训练集群的效率提升至关重要。以下将从规模、带宽、时延、稳定性及网络部署角度分析AI大模型对于网络的需求。
1
超大规模组网需求
AI 应用计算量呈几何级数增长,算法模型向巨量化发展,人工智能模型参数在过去十年增长了十万倍,当前AI超大模型的参数目前已经达到了千亿~万亿的级别。训练这样的模型,毫无疑问需要超高算力。此外,超大模型对于显存的需求也很高。以1T参数模型为例,使用16bit精度存储,首先需要消耗2TB的存储空间。
除此之外,在训练过程中,前向计算产生的激活值、反向计算产生的梯度、参数更新需要的优化器状态等中间变量均需要存储,且中间变量在单次迭代中也会不断增加。一个使用Adam优化器的训练过程,峰值会产生7倍于模型参数量的中间变量。如此高的显存消耗,意味着需要几十上百个GPU才能完整存储一个模型的训练过程。
可是,仅仅有了大量GPU,仍然无法训练出有效的大模型。合适的并行方式才是提升训练效率的关键。目前超大模型主要有三种并行方式:数据并行、流水线并行、张量并行。在千亿~万亿级别的大模型训练时,以上三种并行都会存在。训练超大模型需要数千GPU组成的集群。表面上看,这和云数据中心当前已经达到数万服务器的互联规模相比,还处于下风。但实际上,几千节点的GPU互联,比数万服务器的互联更具有挑战,因为网络能力和计算能力需要高度匹配。
云数据中心使用CPU计算,网络需求一般在10Gbps~100Gbps,并且使用传统TCP/IP传输层协议。但AI超大模型训练使用GPU训练,算力比CPU高好几个数量级,互联网络需求在100Gbps~400Gbps,此外使用了RDMA协议来减少传输时延,提升网络吞吐。
具体来说,数千GPU的高性能组网,在网络规模上有以下问题需要考虑
· 大规模RDMA网络遇到的问题,例如链路头阻、PFC死锁风暴
· 网络性能优化,包括更高效的拥塞控制、负载均衡技术
· 网卡连接性能问题,单主机受到硬件性能限制,如何构建数千RDMA的QP连接
· 网络拓扑选择,是传统Fat Tree结构更好,还是可以参考高性能计算的Torus,Dragonfly等组网
2
超高带宽需求
在AI大模型训练场景下,机内与机外的集合通信操作将产生大量的通信数据量。从机内GPU通信角度看,以千亿参数规模的AI模型为例,模型并行产生的AllReduce集合通信数据量将达到百GB级别,因此机内GPU间的通信带宽及方式对于流完成时间十分重要。服务器内GPU应支持高速互联协议,且其进一步避免了GPU通信过程中依靠CPU内存缓存数据的多次拷贝操作。
从机间GPU通信角度看,流水线并行、数据并行及张量并行模式需要不同的通信操作,部分集合通信数据将达到百GB级别,且复杂的集合通信模式将在同一时刻产生多对一与一对多的通信。因此机间GPU的高速互联对于网络的单端口带宽、节点间的可用链路数量及网络总带宽提出了高要求。另外,GPU与网卡间通常通过PCIe总线互联,PCIe总线的通信带宽决定网卡单端口带宽能否完全发挥。以PCIe3.0总线(16lane对应单向16GB/秒带宽)为例,当机间通信配备200Gbps的单端口带宽时,机间的网络性能将无法完全被使用。
3
超低时延及抖动需求
在数据通信传输过程中产生的网络时延由静态时延和动态时延两个部分构成。静态时延包含数据串行时延、设备转发时延和光电传输时延,静态时延由转发芯片的能力和传输的距离决定,当网络拓扑与通信数据量确定时,此部分时延通常为固定值,而真正对网络性能影响比较大的是动态时延。动态时延包含了交换机内部排队时延和丢包重传时延,通常由网络拥塞和丢包引起。
以1750亿参数规模的GPT-3模型训练为例,从理论估算模型分析,当动态时延从10us提升至1000us时,GPU有效计算时间占比将降低接近10%,当网络丢包率为千分之一时,GPU 有效计算时间占比将下降13%,当网络丢包率达到1%时,GPU有效计算时间占比将低于5%。如何降低计算通信时延、提升网络吞吐是AI大模型智算中心能够充分释放算力的核心问题。
除时延外,网络变化因素引入的时延抖动也对训练效率产生影响。训练过程中计算节点的集合通信过程一般可以拆解成多个节点间并行执行P2P通信,例如N个节点间Ring AllReduce 集合通信包含2*(N-1)次的数据通信子流程,每个子流程中所有节点均完成P2P通信(并行执行)才可结束这个子流程。当网络出现波动时,某两个节点间的P2P的流完成时间(FCT)将明显变长。因网络抖动引入的P2P通信时间变化可理解为木桶效率的最弱一环,将会导致其所属的子流程的完成时间也随之变长。因此,网络抖动导致集合通信的效率变低,从而影响到AI大模型的训练效率。
4
超高稳定性需求
Transformer 诞生以后,开启了大模型快速演进的序章。过去5年时间,模型从61M,增长到540B,翻了近1万倍!集群算力决定了AI模型训练速度的快慢,单块V100训练GTP-3 需要335年,10000张V100的集群,集群系统完美线性扩展需要12天左右时间。
网络系统的可用性是作为基础来决定整个集群的计算稳定性。一方面,网络故障域大,集群中一个网络节点的故障可能会影响数十个甚至更多的计算节点的连通性,降低系统算力的完整性;另一方面,网络性能波动影响大,网络作为集群共享资源相较于单个计算节点不容易被隔离,性能波动会导致所有计算资源的利用率都受影响。因此在AI大模型训练任务周期中,维持网络的稳定高效是极其重要的目标,对网络运维带来了新的挑战。
在训练任务期间一旦发生故障,可能需要容错替换或者弹性扩缩容的方式来处理故障节点。一旦参与计算的节点位置发生了变化,导致当前的通信模式或许就不是最优的,需要通过作业重新排布和调度,以此来提升整体训练的效率。另外,一些网络故障(例如静默丢包)的发生是不可被预期的,一旦发生不仅会导致集合通信效率降低,同时还会引发通信库超时,造成训练业务长时间卡死,很大程度上影响训练效率。因此需要通过获取细粒度的业务流吞吐、丢包等信息,可避障自愈的耗时控制在秒级别内。
5
网络自动化部署需求
智能无损网络的构建往往基于RDMA协议及拥塞控制机制,但与之相伴随的是一系列复杂多样化的配置。其中任一个参数配置错误都可能会影响到业务的性能,还有可能会引出些许不符合预期的问题。据统计,超过90%的高性能网络故障是由配置错误导致的问题,出现这一问题的主要原因是网卡配置参数多,其中参数量取决于架构版本、业务类型和网卡类型。由于AI大模型训练中集群规模大,进一步增大配置的复杂度。因此,高效或自动化部署配置能够有效的提升大模型集群系统的可靠性和效率。自动化部署配置需要能够做到多台并行部署配置的能力,自动选择拥塞控制机制相关参数以及根据网卡类型和业务类型选择相关配置。
同样的,在复杂的架构和配置条件下,在业务运行过程中可快速准确地故障定位,能够有效保障整体业务效率。自动化的故障检测一方面可以快速定界问题,精准推送问题至管理人员,另一方面可以减少问题定位成本,快速定位问题根因并给出解决方案。
芯启源不但在各大开源社区持续贡献,参与和引领行业发展,在国内率先支持RDMA、GPU Direct等技术,成为旁路CPU和主机内存的最佳AI/HPC解决方案。每个GPU可配置一个DPU进行高速互联,解决传输瓶颈。进一步地,芯启源下一代DPU采用Chiplet方式进行GPU和DPU的互联将带来更高灵活性。
芯启源DPU从芯片、硬件到软件都实现了国产自主可控,并率先在国内取得大量商业订单,其中在一些运营商的省级规模部署场景实现了上线超两年、且稳定运行无任何异常。从传统业务场景到AI/HPC场景,芯启源DPU均提供可靠稳定的解决方案,帮助客户实现业务平滑升级和AI/HPC等新业务的快速部署。
DPU是AIGC大模型算力网络的关键设施,芯启源作为国产DPU的领跑者,将持续推进“人工智能+”行动,赋能中国千行百业的数智化革新,助力新质生产力。
本文转载自微信公众号“牛逼的IT”,小编略作修改
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !