一、论断写在前面
论文来自阿里巴巴。
论文题目:Boosting Large-scale Parallel Training Efficiency with C4: A Communication-Driven Approach
论文链接:
LLMs的出现促使了并行训练技术的驳回,触及部署数千个GPU来训练繁多模型。可怜的是,论文发现的并行训练效率往往不理想,关键要素有两点。首先,配件缺点无法防止,造成训练义务终止。无法极速识别缺点组件造成少量GPU资源的糜费。其次,由于GPU必需在参数同步成功后才干进入下一轮计算,网络拥挤会大大参与GPU的期待时期。
为应答这些应战,本文引入了一种通讯驱动的处置打算,即C4。C4的关键洞察有两方面。首先,在并行训练中,群体通讯体现出周期性和同质性,因此任何意外必需是由某种配件缺点惹起的。应用这一个性,C4能极速识别缺点组件,迅速隔离意外偏重启义务,从而防止由于意外检测提前形成的资源糜费。其次,群体通讯的可预测通讯模型,触及大批大流量,使C4能有效口头流量布局,大幅缩小网络拥挤。
C4已宽泛运行于论文的消费系统中,将失误造成的开支缩小了约30%,并对某些通讯老本适中的运行优化了约15%的运转时性能。
C4已在论文的AI训练集群中部署了六个月,如今为超越20个客户提供LLM训练服务。应用其智能失误检测和复原系统,C4有效地消弭了大少数失误惹起的开支,通常占总时期的约30%。此外,C4减轻了与不平衡流量关系的通讯老本。关于测试的运行程序,其通讯老本适中,作业的吞吐量可以提高约15%。总体而言,这些改良使得集群计算效率从30%优化到45%。
二、论文的便捷引见
2.1 论文的背景
在消费AI集群中训练LLMs的一个关键应战是GPU的有效应用率相对较低,这关键是由于以下两个要素。首先,由于最先进的CPU产品的高缺点率[32, 34],在整个训练生命周期中诊断系统失误消耗了少量时期。长时期的训练会话须要一个稳固的环节;但是,最新一代的GPU往往体现出高失误率,这或者是由于其极速开展、匆忙交付和参与的功耗所致。当在批量同步并行(BSP)形式下运转时,任何节点的失误都或者造成整个义务失败。这须要在从新启动义务之前破费少量时期启动系统诊断和节点隔离。
此外,调整这些模型的训练环节以到达最高效率是一项复杂的义务,其中通讯老本是可裁减性的一个关键阻碍。也就是说,GPU在期待群体操作结果时或者会在同步点教训提前。目前的艺术形态倡导治理网络流量以提高通讯性能。但是,在共享物理集群上,多个租户同时运转并发训练作业参与了这些形式的复杂性,加剧了有效治理的艰巨。此外,下行的出现,这在大型系统中越来越经常出现,也削弱了先前流量工程战略的有效性。
本文提出了C4(Calibrating Collective Communication over Converged Ethernet,在融合以太网上校准群体通讯),这是一个翻新的系统,旨在监禁大规模AI集群中少量协作GPU的计算才干。C4由两个子系统组成,包括C4D(C4诊断)和C4P(C4性能)。
•C4D旨在经过缩小由无法纠正失误惹起的停滞来提高训练稳固性。C4D经过实时智能检测系统失误、隔离缺点节点并促成从上次审核点从新启动运行程序来成功这一点。
•C4P旨在缩小大规模训练集群内的群体通讯老本。它经过将网络衔接平均散布在一切可用门路上,并依据实时网络条件灵活调整每条门路上的负载来成功这一点。它处置的关键应战包括治理并发作业和处置链路失误。
图1. AI训练运行在其生命周期中或者出现的疑问
2.2 论文的方法
这里将详细论述论文的AI基础设备如何应答前面识别的两个基本应战:确保稳固性和优化并行训练的性能。论文将解释系统架构选用面前的理由,论文所接受的折中打算,并深化剖析论文遇到的详细技术难题。
2.2.1 并行训练的稳固性
随着义务裁减的趋向继续,论文必需经过两种战略来应答配件缺点:1) 降低配件缺点率;2) 系统性地容忍这些缺点。第一种战略至关关键,但超出了本文的范畴,论文简明提及温度控制是关键(要点1)。诸如灵活电压和频率调整(DVFS)等方法有助于防止GPU过热,但或者会影响性能的分歧性。论文经过更快的风扇和更好的空调改善了冷却系统,成功了老本影响最小的温度调理。
关于第二种战略,论文与关系团队协作尝试了多种处置打算。普通来说,传统的云运行驳回在线容错处置打算。例如,它们经过经常使用冗余计算来容忍计算缺点,经过纠删码(EC)和/或三正本技术提供高度牢靠的存储,并经过多门路(双上传链路)战略忍受网络意外。
但是,关于高性能计算运行,目前干流的方法是经常使用离线容错技术。例如,运行程序活期保留审核点,当系统出现缺点时,义务从上一个审核点从新启动。当然,在最后一个审核点和缺点时期之间的一切计算将被摈弃。关于论文的大规模并行训练义务,论文驳回了一种相对务虚且混合的技术战略。
总体上,论文应用经过验证的云存储技术来确保牢靠的数据存储,同时充沛意识到计算和网络或者带来的独自应战。论文与客户启动了深化探讨,并获取了一个关键信息,即底层系统不应在模型训练环节中引入任何不确定性(要点2)。因此,论文关于容错计算只要两种选用:要么口头在线冗余计算,要么预备备用资源以交流缺点节点。思考到GPU的高老本,经常使用备用资源启动容错比在线冗余更经济。因此,论文为每128台主机上的1024个GPU调配了64个备用GPU,散布在8台主机上,确保从这136台主机池中恣意128台主机启动并行训练时具备相反的通讯和性能。
论文的方法:C4D。总之,论文系统的容错架构包括经过纠删码成功牢靠的数据存储,经过双上传链路和多门路通讯确保网络牢靠性,以及经过审核点和冗余处置计算缺点。该系统的**是C4D(C4诊断)子系统,旨在极速检测配件缺点以成功及时的义务重启,如图3所示。
C4D应用了两个关键观察结果(要点-4:(1) 并行训练义务体现出法令且可预测的运转节拍,使论文能够准确识别意外行为;(2) 并行训练中的批量同步并行(BSP)口头模型须要活期同步点。这些同步点被用作测量意外的锚点。
基于上述观察,论文开发了C4D以促成在线缺点检测。图4展现了C4D的关键要素,包括一个增强的群体通讯库(CCL),一个中央C4D主节点,以及作为中介的C4a(C4代理)。论文选用经常使用增强的CCL,由于最先进的CCL,如NCCL [20],缺乏对群体通讯操作启动在线监控的才干。
图3. 容错系统概览
图4. C4D的架构
C4D监控。图5展现了论文增强的四层CCL,相似于当代的CCL。论文对底部三层启动了裁减,以成功监控性能。通讯层跟踪通讯器ID、等级计数和等级调配。操作层监控群体操作类型、算法、数据类型、元素计数以及操作继续时期和计数。传输层搜集衔接的详细信息,如RDMA IP和QP号,以及信息统计数据,包括传输的计数、大小和继续时期。在运转时以低老本和高精度搜集上述信息并非易事。为了准确监控通讯内核的口头形式,论文改良了所无关系的CDUA内核,间接记载它们的开局和成功时期,由于CPU时期戳和CUDA事情对此目的有效或不准确。
C4D剖析。基于上述搜集的信息,论文可以检测到在论文的集群中频繁出现的四种经常出现类型的失误,即通讯挂起、非通讯挂起、通讯迟紧张非通讯缓慢。检测前两种失误类型相对容易,此处不作深化探讨,论文将重点放在识别缓慢综合症实例的更复杂义务上。
图5. 增强型CCL
图6展现了一个说明性的例子。上班者之间的通讯提前被映射到一个二维矩阵中,其中每个元素代表一对上班者之间的提前,由其y坐标(源)和x坐标(目的地)标识。矩阵中的高值有助于识别慢速衔接:单个高值点示意特定的衔接瓶颈,一行高值标明源端存在疑问,一列高值则指向目的地的疑问。
图6. 通讯缓慢的症状
2.2.2 并行训练的可裁减性
并行训练性能取决于单节点计算、数据访问和群体通讯的效率。虽然单节点效率可以经过混合精度[35]和变换器引擎等优化提高,数据访问效率可以经过Alluxio等缓存机制提高,但本文重点关注群体通讯效率,这是训练可裁减性的关键要素。
假设论文把网络带宽视为一种资源,优化群体通讯性能相当于找到一种最佳的资源调配方法。实践上,群体通讯可以看作是上班者之间一系列一对一通讯的汇合,假设蕴含归约操作,还或者触及计算。因此,寻觅最佳资源调配的疑问可以合成为两个疑问。首先,论文须要最小化每个一对一通讯的资源需求。其次,论文须要以最小化总通讯时期的形式将每个一对一通讯映射到网络资源。
第一个疑问并非本文关注的焦点,因此为了完整性,论文在此简明引见。论文的网络实践上是一种分层拓扑,NVLINK形成第一层,不同主机间的RDMA网络形成第二层。此外,论文应用了双上传链路技术,这不只提高了网络牢靠性,还准许参与交流机芯片的基数。显然,关于给定数量的端点和指定的网络拓扑,交流机基数越大,网络直径越小。其次,论文驳回网络拓扑感知的调度技术,确保须要通讯的两个等级在网络中尽或者凑近。
论文的方法:C4P。为应答这一应战,论文引入了C4P(C4性能)系统,该系统旨在缩小不用要的通讯老本。C4P经过以下形式优化并发作业和链路缺点的通讯:(1) 在义务启动时识别并防止缺点链路,(2) 平衡RDMA QPs(即衔接)跨门路以成功负载调配,以及(3) 灵活顺应QP上班负载以照应网络变动和流量抵触。实质上,C4P是一种流量工程技术,旨在经过调理网络内每个数据流的传输门路来最小化网络拥塞。
C4P遵照C4D的软件架构,但存在关键差异,如图7所示。首先,C4P主节点作为多个作业或租户的控制中心,与专一于繁多作业的C4D主节点不同。此外,C4P的CCL可认为通讯中的上班者恳求门路调配,而C4D的CCL搜集监控数据。最后,C4P的主节点调配通讯门路,而C4D的主节点处置缺点检测和诊断。
论文驳回门路探测启动精细化的流量工程。C4P首先隔离并摈弃叶节点与脊节点交流机之间的缺点链路,构建一个肥壮链路网络。C4P主控经过每个叶节点交流机上随机选用的主机口头全网状门路探测,识别并记载牢靠门路。在衔接树立时,CCL向C4P主控动员门路恳求,主控经过指定RDMA衔接的源端口来照应所选门路。主控确保来自同一NIC的流量在左右端口间平衡,制止左端口到右端口的门路,反之亦然。
图7 展现了C4P的上班流程
C4P的部署形式与C4D相似,两者都被嵌入用户镜像中,以便与Kubernetes(K8s)集成。但是,一个清楚的区别是,C4P主节点在系统全局层面运转,提供全局访问,而C4D主节点则表演更部分化的角色,仅限于单个作业范畴。为防止冗余,此处不再重复详细信息。
2.3 论文的成果
2.3.1 设置
如表2所示,论文概述了操作集群的系统性能,从中搜集了C4D的评价数据。另一方面,与C4P关系的评价是在该集群的一个子集上启动的。为了防止集群中其余正在启动的上班的搅扰,并确保论文评价结果的完整性,论文调配了集群的一个特定部分作为受控测试环境。该测试床包括16个节点,装备总共128个GPU。一切节点都间接衔接到8个公用叶交流机,确保论文的测试优惠有一个公用的环境。
该高性能集群内的节点装备有8个NVIDIA H800 GPU和8个BlueField-3 NICs 。每个NIC提供两个物理200Gbps端口,这些端口被绑定以创立一个繁多逻辑Gbps端口。这些NIC集成到一个3级Clos网络[7]中,性能为Fat-Tree拓扑,超订率1:1,确保最佳性能和带宽调配。应用Broadcom的Trident4作为叶交流机和Tomahawk4作为脊交流机,集群能够支持超越10,000个GPU。在单个pod中,形成两级子网,它可以容纳512个GPU,展现了其宽泛的裁减性。
C4D的有效性经过论文的一项实在环球LLM训练上班负载启动评价。该上班所经常使用的模型蕴含1750亿个参数。驳回2个GPU启动散布式训练,该模型从零开局成功一个完整的训练周期通常须要超越一个月的时期。相比之下,C4P的效率经过群体通讯基准测试和三个代表性的言语模型(LM)训练义务启动评价。为了确保通讯基准测试的评价结果公正,论文将其性能为经常使用基于环的算法。测试中触及的模型的详细性能,如并行战略和零优化器级别,将在评价结果展现时详细说明。
2.3.2 结果
2.3.2.1 C4D有效性的评价
论文审查了来自外部客户的一项上班的历史日志,包括其开局和终止时期戳,以及上班因某些要素成功或失败的状况。论文的关键关注点放在了一个须要2个GPU并须要超越一个月时期来成功其模型训练环节的代表性上班上。如表3所示,论文比拟了该上班在部署提出的容错系统之前(2023年6月)和之后(2023年12月)因失误造成的停机时期。数据清楚地标明,C4D的部署造成停机时期清楚缩小,大概缩小了30倍,从31.19%降低到仅1.16%。
在2023年12月,虽然系统诊断依然占据大部分停机时期,但其奉献相比以往缩小了约27倍,略低于平均效率优化水平。C4D的部署清楚放慢了失误检测和缺点组件定位的速度,将照应时期缩短至仅几十秒。但是,转向服务仍需额外几分钟来隔离受影响的节点偏重启作业,标明仍有改良空间。造成停机的第二大要素是审核点后的继续时期。但随着更频繁的审核点驳回,用户如今每10分钟可以保留一次性审核点,因此审核点后的停机时期大幅缩小了33倍。与作业从新初始化关系的老本坚持不变,由于系统中最软弱组件的识别和增强,平均失误率降低了3.33倍,从0.6%降至0.15%。
深化剖析诊断和隔退出销后,显而易见,大少数失误源于GPU缺点,包括GPU ECC失误、NVLink失误和CUDA失误。在2023年6月,这些GPU关系疑问占到了总停机时期的12.53%,约占全体开支的2/3。值得留意的是,到2023年12月,这些GPU关系失误的频率降低了3.2倍,关系时期开支更是大幅缩小了41.8倍。这一清楚改善归功于C4D处置这些特定类型失误的高效性,从而大幅降低了相应的开支。关于C4D仅能部分治理的其余类型失误,仍有清楚改良。这些失误的频率降低了3.4倍,处置它们所破费的时期缩小了16.5倍。这些数据突显了C4D对系统全体性能和牢靠性的踊跃影响。
图8. 经过绑定端口间的平衡流量成功的改良
平衡两个绑定物理端口之间的流量。当流量从形成繁多绑定端口的两个不同物理端口散发时,存在两种流量或者被路由到接纳端同一物理端口的状况,造成接纳端两个物理端口之间的流量不平衡。经过驳回C4P,论文可认为每个物理端口的流量指定公用门路,从而防止由这种不平衡惹起的性能降低。没有C4P,大少数测试案例中的有效busbw低于240 Gbps,远低于网络的理想带宽(约360 Gbps)。但是,启用C4P后,有效busbw凑近峰值360 Gbps,象征着性能优化了50%,展现了C4P在优化网络性能方面的实践优势。
在多个作业间平衡流量。为了展现C4P在缓解多个并发作业间的流量抵触中的有效性,论文启动了一项评价,触及8个同时启动的allreduce基准测试运行。数据显示,一切义务在C4P成功全局流量工程的状况下,性能水平相似,凑近该测试床上单个义务可到达的最大吞吐量。详细而言,这些义务的性能目的在353.86 Gbps至360.57 Gbps之间。相比之下,当未启用C4P时,义务间存在清楚的性能降低和差异。性能最差的义务仅到达171.93 Gbps,而最佳义务到达263.27 Gbps。平均而言,C4P优化了系统总吞吐量70.3%。这一比拟清楚地突显了C4P在带宽应用率和分歧性方面带来的清楚改良。
图 9. 全局义务特色工程的有效性
图10 展现了每个绑定端口接纳到的拥塞通知包(CNP)计数
在发送端,依据网络状况启动照应。如图10所示,每个绑定端口每秒大概接纳15,000个拥塞通知包(CNPs),计数在12,500至17,500之间动摇。CNP的来到会触发数据传输速率的限度。
图11. 链路缺点出现时的负载平衡成果
对灵活链路缺点的容忍度。环球流量工程的有效性依赖于底层网络条件的稳固性。一条缺点的链路或者须要从新路由受影响的流,这或者造成网络内的流量散布不平衡,并否认环球流量工程的有效性。在这种状况下,负载平衡机制将施展作用,调整每个流的负载,从而从新平衡网络流量。为了评价这一机制的有效性,论文在1:1超额订阅的网络中重复了之前的试验,并在试验时期故意停用了一条链路。为了取得义务的即时性能,而不是义务成功后平均值,论文改良了测试基准,以便在每次allreduce操作。
评价结果如图11所示。虽然高频时期戳记载造成数据出现一些动摇,论文仍能观察到启用灵活负载平衡后系统吞吐量的清楚优化。在未激活C4P负载平衡的测试中,给定义务的总线带严惩幅降低,数值在160 Gbps至220 Gbps之间,平均带宽为185.76 Gbps。相反,当启用C4P负载平衡时,观察到的总线带宽清楚提高,范畴在290 Gbps至335 Gbps之间,平均为301.46 Gbps。这一优化代表了训练环节中出现链路失误时62.3%的清楚性能增益。留意,在8个上传链路中存在1个链路失误的状况下,实践理想性能将是原始性能的7/8,即315 Gbps。启用C4P所到达的性能发现与这一理想值十分凑近。
图12. 有无负载平衡状况下交流机端口带宽的比拟
为了展现C4P负载平衡如何优化系统吞吐量,论文搜集了关于流量在每个端口散布的统计数据,如图12所示。在实施C4P流量工程后,一切抢先端口在引入链路失误之前都显示出凑近最优的带宽应用率。但是,链路失误的出现造成不同端口间的吞吐量出现清楚差异。在没有C4P负载平衡的状况下,仅有三个端口的流量有所参与,标明原本指向缺点链路的流量正被从新路由至这些端口。
因此,这些拥挤端口内每个流可用的带宽缩小,同一通讯信道内流的性能也遭到负面影响。结果,其余端口的带宽出现清楚降低。相反,C4P负载平衡灵活调整网络流量的散布,减轻拥挤流的累赘,同时参与经过应用无余门路的流量。这一战略造成端口间的负载愈加平衡,使得之前未充沛应用的端口能够处置更多流量。因此,这一优化措施带来了系统吞吐量的全体优化。
实践上班中的性能优化。为了评价C4P在增强事实环球运行性能方面的成果,论文经常使用三个代表性的训练义务启动了测试:Jobl触及经常使用Megatron框架训练一个GPT模型,结合了TP和DP战略启动散布式训练。该模型蕴含220亿个参数,TP和DP的大小区分设置为8和16。Job2训练一个蕴含70亿参数的Llama模型。关于此义务,经常使用了Deepspeed框架启动散布式训练,并激活了zero优化,训练仅应用了DP。Job3触及训练一个蕴含1750亿参数的另一个GPT模型。该模型也是基于Megatron框架训练,经常使用了TP和PP战略。将TP和PP的大小都性能为8,有效地创立了2个DP组。
图13展现了实践上班中性能优化的状况
性能评价结果如图13所示。从图中可以清楚看出,前两项上班在性能上有了清楚优化。详细来说,Job1的吞吐量参与了15.95%,从74.82优化至86.76样本每秒。雷同,Job2的性能也优化了14.1%,吞吐量从156.59参与到178.65样本每秒。相比之下,Job3的性能优化并不清楚。论文的剖析标明,性能优化的差异与训练步骤中通讯时期的比例亲密关系。关于前两项上班,通讯开支占每次迭代时长的30%以上。但是,Job3设置了较高的梯度累积(GA)值16,这象征着参数降级每16步才出现一次性。这种设置大大降低了相对通讯老本,这也解释了Job3性能优化不清楚的要素。
本文转载自,作者: