赞
踩
| 文章来源于:“鹅厂技术派”公众号
从互联网时代到如今的大模型时代,腾讯的数据中心网络DCN走过了20多年,接入服务器的规模不断递增,目前已经覆盖100+园区,近两百万服务器,构筑了亚洲最大规模数据中心网络。
AIGC的爆发除了带来算力上的挑战,对网络的要求也达到了前所未有的高度。传统的低速网络无论是带宽还是网络协议,越来越难以应对千亿甚至万亿参数大模型训练所需要的大带宽、高利用率以及零丢包。日前,腾讯推出的高性能网络星脉,具备业界最高的3.2T通信带宽,为AI大模型带来10倍通信性能提升。基于腾讯云新一代算力集群HCC,可支持10万卡GPU的超大计算规模。
那么,背后的这张“网”是如何构建的?
整体上看,腾讯的网络架构主要分2层,底层是负责数据包传递的物理网络,由真实的交换机、路由器、防火墙等物理设备构成,各设备间通过路由协议实现相互之间的连通,主要包括DCN、DCI网络,租户对基础网络不可见;其次,是在物理设备之上按需创建、相互隔离的虚拟网络(主要包括ECN、VPC、CCN),并支持租户以多种网络方式接入虚拟网络。
数据中心网络DCN的演进与互联网应用的发展密切相关。
在互联网上古时期,2000年左右的QQ时代,用户爆炸式增长,数据中心网络流量主要由用户访问数据中心服务器的南北向流量构成,网络架构以接入、汇聚、出口为主,主要使用商用网络设备。然而,这一阶段服务器接入带宽较小,网络传输时延较大。
随着大数据和云计算的兴起,服务器之间的东西向流量逐渐增多,云租户的出现也对网络产生了虚拟化和隔离的要求。
为满足这些需求,数据中心网络架构逐渐演变为Fat-tree的云网络架构来同时承载南北向和东西向流量。但这种同时承载东西向、南北向流量以及多种类型业务的网络也限制了网络利用率的提升。在这一阶段,腾讯逐渐构建了全自研网络设备与管理系统。
近年来,人工智能技术的发展,尤其是大语言模型如ChatGPT的出现,为数据中心网络带来了新的挑战。
大语言模型训练需要大量的GPU服务器同时训练一个模型,这些设备之间需要频繁地进行数据通信,如果通信时间增大,也就是训练中通信时间占比提高,往往会导致GPU停止计算等待数据的情况,这将造成整体集群的算力损失。为了满足这种对网络高性能、高利用率的需求,传统云网络架构已无法胜任。
为此,腾讯推出了新一代面向AI大模型的网络架构与系统:星脉网络。星脉网络采用东西向、南北向流量分离架构,以满足多租户、虚拟化和高性能存储访问需求。
其中,南北向网络采用自研银杉网卡,提供硬件虚拟化能力;东西向网络则采用大容量交换芯片,构建2级交换机16K GPU集群,3级可达到256K GPU集群系统。通过自研Tita协议和自研TCCL通信库,星脉网络将网络利用率从普通以太网的60%提升到90%以上,从而降低GPU停止计算等待数据的情况,提高整体集群的算力利用率。
训练大模型所需的海量算力,单台服务器无法提供。需要由大量的服务器作为节点,通过高速网络组成集群。服务器之间互联互通,相互协作完成任务。一旦各个计算节点完成单个批次的梯度计算,它们需要在网络中同步这些梯度值,并更新模型参数。一个高性能的网络可以确保这个过程尽可能地快速、精确,从而使整个模型训练过程更加高效。
但是,用上了先进芯片、单个节点强了,不等于集群算力就一定就线性提升。集群训练会引入额外的通信开销,导致 N 个 GPU 算力达不到单个GPU 算力的 N 倍。光增加GPU卡或计算节点,但网络性能不够强,并不能线性地提升算力收益。
面对千亿、万亿参数规模的大模型训练,仅仅是单次计算迭代内梯度同步需要的通信量就达到了百GB量级,此外还有各种并行模式、加速框架引入的通信需求,使得传统低速网络的带宽远远无法支撑GPU集群的高效计算。
因此,要充分发挥GPU计算资源的强大算力,必须构建一个全新的高性能网络底座,用高速网络的大带宽来助推整个集群计算的高效率。
1. 采用高性能RDMA网络
RDMA是一种高性能、低延迟的网络通信技术,主要用于数据中心高性能计算,允许计算节点之间直接通过GPU进行数据传输。这种数据传输方法可以显著提高吞吐量并降低延迟,从而使计算节点之间的通信更加高效。
以星脉网络为例,过往的数据中心VPC网络,在源服务器与目标服务器之间传输时,需要经过多层协议栈的处理,过往数据每一层都会产生延迟,腾讯自研星脉RDMA网络,可以让GPU之间直接进行数据通信。同时,由于星脉RDMA直接在GPU中传输数据,CPU资源得以节省,从而提高计算节点的整体性能和效率。
2. 支持更大的GPU集群组网规模
当面对大模型训练任务时,网络拓扑结构对整个训练过程的性能和效率至关重要。这里主要关注组网架构/拓扑的选择,以满足不同数量计算节点的连接需求。
在大模型训练的场景下,有效的网络拓扑可以帮助减少通信瓶颈,减少数据传输时间,使训练过程更加高效。具有良好扩展性的网络拓扑,能添加更多计算节点、组成更大的集群,而不会对整个系统产生过多压力。
星脉采用的无阻塞胖树(Fat-Tree)架构,能确保在多个层级间数据传输的均匀分布,从而促进整体通信的平滑运行。同时,能灵活扩展网络规模,星脉单集群规模支持16K个GPU节点(支持10万级GPU组网)。
3. 提升网络带宽到最高 3.2T
当模型参数数量非常大时,需要传输和同步的数据量也相应增加。低带宽的网络连接可能导致整个训练过程缓慢,成为训练性能的瓶颈。在训练过程中,为了实现高效的通信和数据同步,需要确保计算节点之间的连接速度足够高。
星脉的 3.2T带宽,指的是每个计算节点(GPU服务器)之间的带宽。业界最强。见下图:
4. 自研网络协议(TiTa)
网络协议是在计算节点之间传输数据的规则和标准,主要关注数据传输的控制方式,能改善网络连接性能、通信效率和延迟问题。为了满足大型模型训练中的超低时延、无损和超大带宽要求,传统的网络协议由于其固有的设计与性能限制,无法满足这些需求。还需要对“交通规则”进行优化。
星脉网络采用的自研端网协同协议TiTa,提供更高的网络通信性能,特别是在满足大规模参数模型训练的需求方面。TiTa协议内嵌拥塞控制算法,以实时监控网络状态并进行通信优化,使得数据传输更加流畅且延迟降低。
5. 计算网络联合优化
这里指的是协调计算资源和网络资源,主要关注充分利用计算节点间通信与处理能力,能改善整个系统的性能和计算效率。这里包含开发的高性能集合通信库TCCL、以及多轨道流量聚合架构、异构自适应网络通信。
定制通信库TCCL。通信库在训练过程中负责管理计算节点间的数据通信。面对定制设计的高性能组网架构,业界开源的GPU集合通信库(比如NCCL)并不能将网络的通信性能发挥到极致,从而影响大模型训练的集群效率。为解决星脉网络的适配问题,我们基于NCCL开发了腾讯高性能集合通信库TCCL(Tencent Collective Communication Library),定制适配星脉网络平台,在AllReduce/AllGather/ReduceScatter等常用通信模式下带来40%的性能加速。在网卡设备管理、全局网络路由、拓扑感知亲和性调度、网络故障自动告警等方面融入了定制设计的解决方案。
基于多轨道的流量亲和性规划。使得集群通信效率达80%以上。多轨道流量聚合架构将不同服务器上位于相同位置的网卡,都归属于同一ToR switch;不同位置的网卡,归属于不同的ToR switch。由于每个服务器有8张计算平面网卡,这样整个计算网络平面从物理上划分为8个独立并行的轨道平面。
在多轨道网络架构中,AI训练产生的通信需求(AllReduce、All-to-All等)可以用多个轨道并行传输加速,并且大部分流量都聚合在轨道内传输(只经过一级ToR switch),小部分流量才会跨轨道传输(需要经过二级switch),大幅减轻了大规模下的网络通信压力。
异构网络自适应通信。大规模AI训练集群架构中,GPU之间的通信实际上由多种形式的网络来承载的:机间网络(网卡+交换机)与机内网络(NVLink/NVSwitch网络、PCIe总线网络)。星脉网络将机间、机内两种网络同时利用起来,达成异构网络之间的联合通信优化,使大规模All-to-All通信在业务典型message size下的传输性能提升达30%。
异构网络通信带来的优势有两点:1)异构网络通信使得机间网络的流量数目大幅减少;2)异构网络通信使机间网络的流量大部分都聚合在轨道内传输(只经过一级ToR switch)。异构网络通过将小流聚合为大流的方式来减少流量的数目,减少对机间网络的冲击(RDMA QP数量、拥塞控制、微突发等),从而提升整网的传输性能。
6. 自研端到端全栈网络运营系统
为了驾驭高性能,腾讯星脉实现了端网部署一体化以及一键故障定位,提升高性能网络的易用性,进而通过精细化监控与自愈手段,提升可用性,为极致性能的星脉网络提供全方位运营保障。
端网部署一体化——在星脉网络之前,据统计90%的高性能网络故障case均是配置错误导致的问题。出现这一问题的主要原因就是网卡配置套餐多,取决于架构版本,业务类型和网卡类型。在高性能网络运营平台提供的端网一体部署能力下,大模型训练系统的整体部署时间从19天缩减到4.5天,并保证了基础配置100%准确。
全栈巡检,一键故障定位——在端侧能力具备的条件下,困扰了网络运营人员多年的问题“是否出现在网络交换机上”迎刃而解。同时也随着端侧运营能力的加强,针对不同的运营用户,自动排障的工具集也将多样化。高性能网络一键故障定位提供了两方面的功能,一方面可以快速定界问题所向,精准推送到对应团队的运营人员(网络 or 业务),减少团队之间的沟通成本,划分责任界限。另一方面可以一键快速定位问题根因,并给出解决手段。
业务无感秒级网络自愈——为了让极致性能恒久,我们推出了秒级故障自愈产品——“HASH DODGING”。创造性地提出基于Hash偏移算法的网络相对路径控制方法。该方案可在网络数据平面发生故障时帮助TCP快速绕过故障点,不会产生对标准拓扑及特定源端口号的依赖。也可用于保证腾讯自研多路径协议—HARP,将其中各子流均匀负载到不同网络节点,避免性能退化。
通过端网协同,我们先是在端侧实现了协议栈层面的TCP&RDMA状态检测,通过内核获取协议栈状态信息。从而细粒度的获得业务流吞吐、丢包等信息,将故障发现降低到600ms以内。其次在自研交换机上实现了基于HASH偏移的确定性换路特性,业务可以通过更换魔术字来确保100%更换到其余路径上。当发生静默丢包时,端侧无需依赖于网络,自身快速秒级内避障。
星脉作为面向AI大模型定制优化的高性能计算网络架构,与最新代次GPU、高性能存储架构强强联合,共同打造腾讯云新一代HCC高性能计算集群。前期测试显示,星脉网络可以实现AllReduce通信性能提升13倍,All-to-All通信性能提升11倍,通信性能抖动减少85%。
未来,随着GPU算力的持续提升,GPU集群网络架构也需要不断迭代升级,才能保证系统算力的高利用率与高可用性。星脉高性能计算网络作为腾讯大规模训练集群的重要基石,会持续在超带宽、异构网络通信、通信库定制加速、智能监控等技术上不断创新,为AI大模型训练构筑可靠的高性能网络底座。
——完——
记得关注我们,及时接收精彩内容哦~
公众号/视频号:腾讯太极机器学习平台
腾讯太极机器学习平台,致力于让用户更加聚焦业务AI问题解决和应用,一站式解决算法工程师在应用过程中特征处理、模型训练、模型服务等工程问题。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。