没有合适的资源?快使用搜索试试~ 我知道了~
657×××SiP-ML:用于机器学习训练的高带宽光网络互连Mehrdad Khani1,Manya Ghobadi1,Mohammad Alizadeh1,Ziyi Zhu2,Madeleine Glick2,KerenBergman2,Amin Vahdat3,Benjamin Klenk4,Eiman Ebrahimi41麻省理工学院2哥伦比亚大学3谷歌4NVIDIA摘要本文提出了光网络互连作为构建具有强缩放特性的高带宽ML训练集群的关键使能器我们的设计称为SiP-ML,使用能够为每个GPU提供每秒数TB带宽的硅光子链路来加速流行DNN模型的训练时间SiP-ML通过混合数据和模型并行性跨GPU划分训练任务,同时确保网络互连上可以有效支持通信我们开发的任务划分和器件布局的方法,考虑的程度和重新配置延迟的光互连。使用真实DNN模型的仿真表明,与最先进的电气网络相比,我们的方法提高了训练时间缩短1.3-9.1倍。CCS概念• 网络→网络架构;网络设计和规划算法;关键词光网络,分布式机器学习,硅光子学,可重构网络ACM参考格式:Mehrdad Khani,Manya Ghobadi,Mohammad Alizadeh,Ziyi Zhu,Madeleine Glick,Keren Bergman,Amin Vahdat,Benjamin Klenk,Eiman Ebrahimi.2021. SiP-ML:用于机器学习训练的高带宽光网络互连 在ACM SIGCOMM 2021会议(SIGCOMM '21),2021年8月23日至27日,虚拟活动,美国。ACM,New York,NY,USA,19页。网址://doi.org/10. 1145/3452296。34729001介绍对更准确的机器学习(ML)模型的需求不断增长自2012年以来,最大的人工智能培训工作中使用的计算量一直在以3.4个月的翻倍时间呈指数级增长[1],比摩尔定律的速度快50大型ML模型的计算需求已经通过ML硬件加速器和专用软件栈的快速发展得到部分满足虽然硬件加速器提供了大量的加速,但今天本作品采用知识共享署名国际4.0许可协议进行许可SIGCOMM©2021版权归所有者/作者所有。ACM ISBN 978-1-4503-8383-7/21/08。网址://doi. org/10. 1145/3452296。3472900任务仍然可能需要数天甚至数周[2NVIDIA DGX [5]等解决方案可以在少量GPU上进行分布式训练(例如,8-我们认为,未来的分布式机器学习训练工作负载可能需要大规模的每个设备几Tbps的带宽,从而迫切需要全新的方法来构建分布式机器学习系统的互连。利用硅光子(SiP)技术[8-这些光学I/O芯片可以直接集成到CPU/GPU/FPGA/ASIC封装中[20],提供比当今技术更高的带宽密度。本文提出了一种端到端的光学解决方案,称为SiP-ML,用于通过利用SiP小芯片来强大地扩展ML工作负载SiP-ML利用ML训练流量模式的可预测性来找到一种并行化策略,以满足手头的opti- cal拓扑的限制。具体而言,我们探索了两种全光架构:(i)SiP-OCS,基于市售开关的光电路开关(OCS)设计;以及(ii)SiP-Ring,通过嵌入SiP接口中的可重新配置的微环谐振器(MRR)[21]实现的无开关环设计[22,23]。这些架构中的每一个都光路交换机太慢而无法重新配置(例如,10 ms [24-我们表明,SiP-ML这些约束,通过采取全光路的程度限制切换互连作为输入参数。为了评估SiP-ML,我们开发了一个详细的分布式神经网络训练模拟器。我们的模拟结果示出以下:(1)对于代表性的自然语言处理和计算机视觉DNN模型,与当今的电网络结构相比,SiP-ML将总训练时间加快了1.3-9.1倍;(2)尽管SiP-Ring的无交换机设计将物理拓扑约束为环,但由于MRR提供的快速可重新配置性,其表现类似于SiP-OCS;(3)具有每GPU带宽B的SiP-ML互连表现得与具有每GPU带宽B / 2的理想的全平分电交换机一样好或更好;(4)当每GPU带宽高时TB级),混合并行策略在达到准确性的时间方面比数据并行性能高出2倍。这项工作不会引起任何道德问题。SIGCOMMM. Khani等人658×100101Transformer ResNet 50 Ideal0的情况。10的情况。010的情况。001#36825;的培训工作[43]。因此,整个系统能够处理更大的全局批处理,同时保持每个工作者的迭代时间相同。人们普遍认为,大批量训练可以减少达到准确度的时间,因为大批量可以产生更好的模型更新,使训练能够以更少的总迭代收敛[44,45]。然而,在DNN训练中增加全局批量大小并不总是转化为提高所有模型的迭代次数[46,47]。作为一个例子,10 1001,000的gpu数量(a) 吞吐量10 1001,000的gpu数量(b) 达到准确度的时间图1比较了两个DNN模型的吞吐量和准确时间:Transformer[48]和ResNet-50 [49]。这些数字来自Nvidia如图1a,增加GPU的数量会增加批量大小,因此图1:当今培训系统中的弱扩展性2背景和动机本节描述设计可扩展ML训练互连的关键概念首先,我们讨论分布式训练的各种并行化策略(第2.1节)。然后,我们描述了弱伸缩和强伸缩,并确定了它们的网络带宽需求(§2.2)。最后,我们介绍了硅光子学作为一种有前途的技术来构建高带宽ML训练互连(§2.3)。2.1企业化战略数据并行性(DP)。一种流行的并行化策略是数据并行化,其中一批训练数据分布在多个工作器上。每个worker都有一个相同的DNN模型副本,但并行地在训练批次的一个子集(称为本地批次)上进行训练。在DP训练中,工作人员需要在每次迭代后传达他们的模型权重更新。这个步骤可以使用各种技术来执行,例如广播[27],参数服务器[28],环所有减少[29-31]和树减少[32]。 模型相似性(MP)。 在这种方法中,DNN模型在不同的工作者之间划分[33,34]。批处理被复制到所有MP worker,DNN模型的不同部分在不同的worker上计算模型并行是一个活跃的研究领域,有各种模型划分的建议[35最近的工作表明,模型并行性可以获得显着的收益;然而,模型并行性的程度仅限于几十个工人[39-42]。混合体细胞学。我们考虑上述并行化的混合战略。我们提出的互连和任务划分算法是专门为支持DP和MP的混合而设计的。此外,我们不对特定的通信模式做任何假设我们的目标是使用智能任务划分和GPU布局算法来支持各种通信模式(详见第3节)。2.2ML作业的弱和强标度为了确定ML系统的带宽要求,我们首先描述两个基本的缩放范例。方法1:弱缩放。 第一种方法是扩展随着工作器数量的增加,数据处理的吞吐量(每秒处理的数据样本的数量)吞吐量扩展的主要技术是保持每个工作线程的本地批大小固定,并随着工作线程的增加而增加全局批大小提高了两种模型的吞吐量(图像/秒)。然而,达到准确度的时间并不以相同的速率缩放,并且在大尺度下开始平稳,如图所示1b. 正如我们在评估中所展示的那样,在1000 GPU规模下减少达到准确度的时间需要比今天的集群高得多的带宽(§4)。方法2:强缩放。 不是减少它的数量-对于迭代,更有效的扩展方法是随着工作器数量的增加而减少迭代时间这种方法被称为强缩放[43]。与弱缩放相比,当系统缩放时,系统在更大的全局批量大小上操作,强缩放通过减少每个工作者的本地批量大小或通过跨工作者划分计算任务来并行化固定批量大小的计算然而,实现强大的可扩展性是具有挑战性的,因为减少迭代时间会导致更频繁的模型更新,因此需要I/O带宽随工作器数量而扩展[47]。此外,由于每个工作者必须执行小粒度计算,因此强扩展可能对网络延迟和计算/网络软件堆栈中的小低效敏感弱缩放和强缩放的带宽要求今天,最常用于缩放分布式训练作业的技术是使用DP策略的弱缩放这种方法很受欢迎,因为随着更多的工人被添加到作业中:(i)每个工人的计算时间保持不变(因为本地批处理是常数);以及(ii)每次迭代时的数据传输大小保持恒定(因为它取决于DNN模型)。1相反,在强缩放方法中,带宽要求增加(通常是超线性的),因为(i)强缩放导致每个工作者的计算时间减少和训练迭代更短,以及(ii)每次迭代交换的数据量保持不变甚至随着规模而增长。2在当今的系统中,MP的程度被限制为每个GPU具有Tbps通信带宽的一个DGX盒[ 51 ]内的8或16个工作器[42,52-54]。2.3用于ML培训的硅光子学满足大规模培训工作负载的高带宽要求的一种简单方法是增加现有电气开关的带宽。然而,SERDES/-分组交换技术的最新趋势1每次迭代中DP中传输的数据量取决于all-reduce算法。使用环缩减实现,每个工作者交换2 M,其中M是DNN模型大小。请注意,随着工作线程数量的增加,每个工作线程的带宽保持不变,但所需的总带宽会增加。2每次迭代中MP中传输的数据量取决于模型划分策略,但通常会随着规模的增加而显著增加,特别是当内核在批处理维度以外的任何维度上进行拆分Thrput(标准化)至Acc.的时间(标准化)SiP-ML:用于机器学习的光网络互连SIGCOMM659DDD×≈D全光拓扑OCS节点1节点2节点n-1节点n计数器顺时针环节点1节点2节点n-1节点 nSiP端口节点TeraPHYGPU(a) SiP-OCS拓扑(b)SiP-Ring拓扑图3:我们为SiP-ML考虑的两种拓扑(a)今天图2:将当今标准电气分组交换容量[55例如,实现具有100个端口的电分组交换机,每个端口具有10 Tbps是极具挑战性的。这是因为交换机中的流量管理器ASIC需要以1000 Tbps的速度处理数据包为了达到1000 Tbps的交换速度,我们需要在每个电气交换机内构建一这是一项具有挑战性的工作。与此同时,Sil icon Photonics chiplets正在取得实质性进展(基本上在管芯上)ASIC。SiP制造工艺的最新进展已经创造了构建具有光学I/O端口的小芯片的机会,该光学I/O端口可以以比电导体高得多的速率传输数据[9- 17,60 - 62 ]。然而,使用SiP接口,可以以10 Tbps/mm带宽(BW)密度构建与电子集成的I/O接口[14,19,20,60,63,64]。这样的集成使构建下一代计算机架构成为可能,这在今天的技术中是根本不可能的在本文中,我们提出了全光互连作为一个有吸引力的解决方案,以建立下一代ML系统。我们认为,机器学习工作负载提供了一个独特的机会来构建特殊的基于电路的互连。虽然传统的数据中心工作负载具有不可预测的行为,但短流量占主导地位,ML工作负载是可预测的,周期性的,并且主要由大型传输组成。重要的是,并行化算法确定电路调度,整个训练在每次迭代中都重复相同的通信模式。这一独特的特性简化了数据中心光学设计多年来一直困扰的控制平面逻辑。3SIP-ML设计在本节中,我们将度和重新配置延迟作为影响所有基于光路的互连的基本因素(§3.1)。然后,我们讨论我们的并行化算法,解释它如何考虑这些因素,为给定的拓扑结构产生合适的并行化策略(§3.2)。最后,我们讨论SiP-ML的控制平面和波长分配(§3.3)。3.1度和重新配置延迟图2示出了当今的ML训练聚类器和SiP-ML之间的差异。最先进的群集具有两个带宽域:(i)Gbps带宽域,其使用常规网络结构和现成的GPU互连数千个服务器;(ii)全对全Tbps带宽域,其紧密连接服务器或DGX内的少数GPU相比之下,SiP-ML集群由分散的GPU组成,每个GPU配备Tbps SiP接口,通过全光网络互连。SiP接口的一个示例是Ayar Labs [64]开发的TeraPHY光学I/O技术,能够承载2 Tbps带宽(80个波长,每个波长承载25 Gbps[65])。一个GPU可以配备几个这样的接口。为了使拓扑结构的选择的角度来看,我们首先介绍两个基本因素影响所有的光电路交换互连。℃下 与分组交换网络不同,基于电路。因此,在任何时间点,每个节点都具有有限数量的活动电路,从而限制了它可以直接通信的节点数量我们称之为节点度。一个有度的拓扑意味着每个节点最多可以同时维持一个回路。根据业务模式,这些电路可以与一个节点建立到其他节点。具有更高度数的拓扑适合于具有高扇出的流量模式,但它们也往往具有更大的布线占用空间。重新配置延迟。重新配置延迟将电路应保持多长时间以实现高占空比的下限[66]。对于具有重新配置等待时间r的拓扑,电路保持时间应当长于例如10r以实现90%的占空比。有各种光学拓扑结构可以实现SiP-ML在频谱的一端是基于开关的互连,诸如基于MEMS的光电路开关互连[24,25,55,67,68]和基于转子的互连[66,69]。在另一端,无开关拓扑,如环[26,70,71],循环图[72],环面[73,74],超立方体[75]和双互连[76在本文中,我们考虑两个拓扑在频谱的两端,如图3所示。SiP-OCS是第一个自然的拓扑选择,因为OCS在今天是商业上可用的[79]。然而,它们的重新配置延迟是10 ms,使它们适合于持续整个训练的电路。图3a示出了我们的SiP-OCS拓扑。SiP-OCS由Q个光开关组成,每个光开关具有N个端口(与GPU的数量相同),其中每个GPU以扁平拓扑连接到每个OCS在SiP-OCS中程度等于开关的数量(Q)。作为一种替代,极端的设计点,我们还研究了完全删除开关元件的可能性,并评估了一个极简主义的,无开关的拓扑结构称为SiP环的性能。与SiP-OCS相比,SiP-Ring可重新配置波长{{服务器GPU GPU GPUGPU GPUGPU顺时针环TeraPHYTeraPHYTeraPHYGPUGPUGPUGPUOCSOCSOCSTeraPHYGPUTeraPHYGPUTeraPHYTeraPHYGPUGPUTbps域名Gbps域Tbps域{SIGCOMMM. Khani等人660D×DDDD以实现逻辑丰富的拓扑。使用嵌入在SiP端口[22,23]中的微环谐振器(MRR)[21]进行重新配置MRR用作光谱滤波器以选择和转发波长,并且它们使得能够跨环的非重叠段重用波长(附录中的图13a示出了示例)。 我们的实验表明,MRR可以在25 µ s内在不同波长之间切换(§4.4)。 我们在附录A.1中更详细地讨论了SiP环设计。3.2度感知的企业化策略DNN可以被视为操作(ops)的有向非循环图(DAG)为了并行化DNN训练任务,我们需要决定哪个GPU负责运行每个操作(或每个操作的一部分作为一个简单的例子,为了在N个GPU上使用DP训练全局批量大小为b的模型,我们将每个op分解为N个并行子op,每个子op对大小为b/N的本地批量进行操作(这被称为样本维度上的分裂[38]),并且我们将一个子op映射到每个GPU。一般来说,MP遵循类似的步骤:首先将每个操作划分为并行操作,然后放置子操作。然而,分区和放置决策并不像DP中那样简单我们的并行化算法将以下内容作为输入:(i)为了最小化每个操作的运行时间,希望将操作拆分为更小的计算片段。有很多方法可以拆分操作;例如,2D卷积可以在高度,宽度和通道维度上拆分[38]。但是,在拆分操作时,我们必须注意不要影响GPU利用率。GPU(和其他ML加速器)在内部将操作分发到大量核心上。如果我们将一个op分割得太细,它将没有足够的计算强度来有效地利用内核,因此,我们不会从分割中减少运行时间。因此,我们选择计算时间τ的最小量,并将操作拆分为大小接近τ的子操作。我们还将每个操作的最大分区数限制在k(MP度),因为分裂超过可用并行工作器的最大数量结果是一个平衡的计算图,其顶点是子操作,如图4(b)所示,用于我们的运行示例。拆分维度的正确选择取决于操作的类型例如,在具有多个输出通道的图像上的2D卷积的情况下,如果我们在输入的高度和宽度维度上划分op,则没有子op需要知道整个输入图像。但是如果我们把行动分散到DNN计算图,G在操作(节点)和=(V,E),其中V是输出通道维度,每个子操作都需要输入的副本图像,导致广播通信模式,E是数据依赖关系(边)的集合(ii)由b表示的全局批量大小;(iii)参数k,表示使用MP划分模型的GPU的数量;(iv)参数l,表示使用DP划分数据的GPU的数量;以及(v)光网络拓扑的物理度约束,由表示。我们的算法找到了一种混合MP-DP策略,该策略具有用于N=klGPU的k路模型并行性和l路数据并行性,使得训练迭代时间最小化,同时满足度约束(即,每个GPU与不多于其它GPU通信)。我们假设所有GPU都是相同的。该算法的核心确定DNN计算在k个GPU上的MP放置。具体来说,我们首先将GPU分成l个组,每组k个GPU,并且我们在组之间均等地划分全局批处理(即,每个小组负责对于大小为B/1的局部批量训练数据)。然后,我们计算一个跨k个设备的MP放置我们在每组中重复相同的放置以产生最终的混合MP-DP策略。图图4示出了我们的跨8个GPU的并行化算法中的关键步骤,其中k=4路MP,l=2路DP,并且度约束=3。在本节的剩余部分中,我们将其作为一个运行示例。(i) 分区。DNN训练包括COM的连续阶段,插补,如计算图中的数据依赖性所指示的例如,图4(a)中的曲线图具有4个顺序op,示出为不同颜色的矩形每个矩形的大小表示运算的计算时间最小化训练时间的关键是在计算的每个阶段平衡设备之间的计算负载,以最大限度地提高并行性。请注意,平衡每个阶段的计算与平衡每个设备上的总负载不同顺序相关的操作不能并行运行,因此将它们放置在同一设备上与将它们放置在不同设备上相比对运行时间没有影响,即使它增加了设备上的总负载头顶我们为每个操作选择最有效的维度由于我们总是均匀地分割op,所以子op倾向于与它们的后代通信相同量的数据(图4(b)中每个阶段的子op之间的边缘承载大致相同量的流量)。(ii) 安置接下来,我们将GPU设备分配给平衡图我们的布局目标是最大限度地减少总运行时间,同时尊重所需的光互连的通信度约束。每个GPU具有两种类型的通信:(i)它必须与其MP组中的一些GPU通信(取决于操作布局);(ii)给定混合DP-MP策略,存在1个MP组需要通过DP同步它们的参数。因此,每个GPU必须与其他1MP组中的其对应方通信以执行全归约操作,从而跨DP分区同步模型参数。我们使用ring-allreduce [29,30]算法来完成这一步。这需要MP组中的对应GPU之间的环形通信模式,这需要每个GPU向另一组中的一个GPU发送数据。因此,GPU最多可以与其自身MP组内的其他GPU进行通信,以满足总体度约束。现在,我们提出了一个启发式算法,用于将OP放置在MP组内,以最大限度地减少运行时间,并对通信程度进行约束。虽然该问题可以被写为非线性问题(ILP),但是考虑到平衡计算图的规模(例如,对于Transformer DNN模型超过20K个子操作算法1提供了伪代码。我们算法的关键策略是将GPU设备映射到度量空间,并将度约束转换为该空间中的距离约束。我们选择GPU设备的任意排序,并放置操作以保持最大通信距离为1/2;即,设备i和j仅在以下情况下才被允许通信(i − j)mod k ≤ k。这种约束导致稀疏的对角线流量SiP-ML:用于机器学习的光网络互连SIGCOMM661了GPU3一一BCD0C1D0的b0C2C3D1GPU2GPU1第0个GPU7GPU6GPU5GPU4GPU3GPU2GPU1GPU0(a)计算图(b)平衡计算图时间(c)MP放置(d)最终DP-MP放置时间←←←←←←←←←−C2D1C1D0的1了c0C3a0b0C2D1C1D0的1了c0C3a0级b0的C2D1C1D0的1了c0C3图4:SiP-ML的并行化策略示例满足最大范围约束集合的算法1然后我们重新分配带沟通度约束的任务布局1:输入:平衡计算图g_in、计算量τ、度约束τ、local_batchsizeb/l、mp_degreek2:输出:放置了操作的任务图g_out3:用于g_in.topological_sort()中的操作do4:用于par_ops_map[op]中的子操作do5:far_id最远sub_op8:range_hi far_id +far_id9:sub_op.device get_earliest_avail(avail_times,range_lo,range_hi,sub_op.size_size)10:cand_startpredecessor的最晚结束时间11:开始最大值(cand_start,avail_time[sub_op.device])12:结束开始+子操作持续时间13:avail_time[sub_op.device]结束十四日:端15:结束16:g_out ←add_network_ops(g_out)矩阵的零点在距离主对角线1/4距离之外,满足通信度约束。该算法从平衡计算图的拓扑排序开始(如图1所4(b)对于我们的例子),这样每个子操作出现在排序列表中的依赖项之后。它将子操作按此排序顺序放置,保证当放置子操作时,其所有依赖项都已放置。对于每个子操作,该算法首先计算一组放置候选。这些是可以放置子操作而不违反上述距离约束的设备我们计算x的所有父节点的这些范围的交集,以确定其放置候选。然后,我们在这些候选设备中选择最早的可用设备来放置x,并且一旦其依赖性完成,我们就在该设备上调度op。如果在这一步中出现平局,我们选择具有最小索引的GPU3请注意,由于我们将子操作按其依赖性顺序放置,因此跟踪每个操作何时可以在每个设备上调度如果子操作x的所有父操作的可行范围的交集为空,即,父节点之间的最大距离大于1,我们将父节点重新定位到更小的设备范围内,使得x的放置变得可行。为此,我们将x放置在GPU上3该属性有助于在环形拓扑中实现波长重用(§A.1)。违反约束的其余父设备进入满足距离约束的最近设备x。由于这可能会在x的父代和祖代之间创建距离冲突,因此我们继续此向后过程,直到所有先前放置的op满足与其父代的距离约束然后,我们从第一个定位的op重新开始如果由于重新分配而发生任何违规行为,我们将重新安置子操作。重复此我们把收敛性证明留给以后的工作。图4(c)显示了我们运行示例的MP放置,=2。请注意此布局的两个属性:(i)每个GPU根据需要与最多2个其他GPU通信,以及(ii)每个操作的子操作在4个GPU之间平衡良好事实上,唯一不完全平衡的操作是C,但是4个子操作 在不违反通信度约束的情况下,不能将该op中的一个放置在所有4个GPU上,因为无论GPU opB驻留在哪个GPU上,都需要与其他3个GPU通信把这些都放在一起。图4(d)示出了我们的示例的最终混合MP-DP布局。如前所述,它是简单地通过在l=2个GPU组中复制MP放置来创建的至于通信模式,每个GPU最多与MP=其MP组中的2个其他GPU,以及DP全归约步骤所需的环形拓扑例如图4(d)中,GPU 1必须与GPU 2和3进行MP通信,与GPU 5进行DP通信。 我们的并行化算法将MP和DP(k和l)的度作为输入,但优化这些参数以找到最小化给定数量GPU的训练时间的组合是微不足道的,如附录4.2所述。3.3电路调度鉴于我们的SiP-OCS拓扑仅在训练作业开始时重新配置其电路一次,因此其控制平面逻辑很简单。在这种情况下,主要任务是计算由并行化算法产生的总流量矩阵,然后将电路分配给必须通信的每对GPU,以使最大传输时间最小化。对于每个训练任务,我们使用一次简单的ILP运行来确定电路分配(详见第A.2节)。SiP-Ring拓扑结构的控制平面更加灵活,因为电路可以在训练期间重新配置。因此,我们的控制器需要定期估计流量并重新调度因此,每个GPUSIGCOMMM. Khani等人662×≈·−··×·中央控制器使用NVIDIA但是,此API是为管理目的而设计的,没有针对延迟进行优化。我们相信,通过进一步的工程设计,获得低于100微秒的计数器应该是可行我们的实验证实,在过去100µs内观察到的流量矩阵是对未来100µs内通信需求的良好估计。使用流量矩阵,我们可以求解ILP(见§A.1),以实现环形拓扑上的最佳波长调度。然而,解决一个ILP是太慢的短时间尺度电路调度。因此,我们提出了一种快速的,近似的波长调度算法,解决了最小成本流路由问题调度波长。附录A.1详细描述了该出租。请注意,虽然我们目前建议测量动态电路建立的流量矩阵,但利用训练工作负载的可预测性是我们留给未来工作的自然步骤支持多个作业。我们预计SiP-ML集群将通常用于同时运行多个作业每个作业将在专用于该作业的GPU子集使用SiP-OCS支持多个作业不需要对我们的设计进行任何更改,只是我们在作业到达时分配可用GPU的子集,并相应地在布局算法中设置GPU的总数。当一个作业完成时,我们释放它的GPU和光学电路。SiP-Ring遵循类似的逻辑,但理想情况下,我们更倾向于将每个作业分配给环上相邻GPU的连续块随着工作的到来和离开,戒指空间的碎片化可能使这一点很难在任何时候实现一种解决方案是使用标准OCS将GPU接口分配到环上的任意可扩展性考虑。 虽然我们目前的SiP版本-OCS假设每个OCS都有足够的端口连接到平面拓扑中的每个GPU,更现实的设置是使用分层Clos[80]或BCube [81]等平面设计来扩展SiP-OCS。我们的SiP-Ring拓扑可以使用Theia [72]和SlimFly [82]进行扩展,另一种扩展SiP-Ring的方法是考虑2D环,其中我们有K个水平环,每个环上有N个然后,我们将来自K个不同水平环的每K个GPU连接到单个 垂 直 环 上 。 因 此 , 总 共 将 有 K+N 个 环 , 连 接 NK 个GPU。每个GPU都可以直接访问一个垂直环和一个水平环,并且必须在两者之间划分其SiP接口。根据互连的垂直带宽要求,可以调整该比率4评价在本节中,我们通过将SiP-ML与其他网络互连进行比较来量化其性能我们的结果显示:(i)对于三个代表性的DNN模型(Transformer、ResNet和Megatron),SiP-ML将训练时间加快了1.39.1与代表当今ML集群的分层电网络结构相比。这是因为SiP-ML消除了带宽瓶颈,并支持当今结构无法有效支持的混合DP/MP并行化策略(ii) 虽然SiP-RingSiP-Ring使用MRR和我们的并行化算法确保大多数通信发生在环上的邻近节点之间)。(iii) 具有每GPU带宽B的SiP-ML互连与具有每GPU带宽B/2的理想全平分电开关一样好或更好地执行。例如,给定1024个GPU和B=8 Tbps,SiP-ML的动态拓扑提供至少4 Tbps平均而言,每对需要通信的GPU之间的带宽。(iv) 当每GPU带宽高时(例如,每秒兆兆位数量级),混合并行策略在达到精确度的时间方面比数据并行性能高出2倍4.1方法设置为了评估SiP-ML,我们实现了一个详细的模拟器,称为RostAM,以模拟连接到数千个GPU的几个基线网络架构 我们的模拟器是1万行C++代码,可以在https://github上在线获得。com/MLNetwork/roadmap. 饭桶。 我们在§4.2中讨论了模拟器的细节。在我们的评估中,我们将平衡计算图的计算量τ设置为10 µs(§3.2)。比较。我们考虑以下网络架构:Elect-Flat:一种理想的电气开关,可扩展到任何数量的GPU,N,用于任何每GPU带宽B;即,每一GPU可在发送和接收两个方向上以总带宽B此基线具有零重新配置延迟。对于任何一对(B,N),没有网络可以比这个基线更快地通信。在实践中,它可以用全对分带宽拓扑来近似,例如对于相对小的B值的胖树(例如,100十个节点),具有大B。请注意,没有任何电气网络能够比这个平坦的电气基线表现得更好,因为它提供了全平分带宽。Elect-Cluster:一个分层的电子网络结构,代表-代表了今天每台服务器托管八个GPU,与内部高速电子交换机连接,提供每GPU带宽B,通常为每秒太比特。服务器与较慢的电气结构连接,每个服务器提供400 Gbps带宽(除非另有说明)。在实践中,服务器可以被认为是具有内部NVSwitch [83]互连的DGX [ 5 ]盒,通过标准数据中心网络结构(例如,胖树)。SiP-Ring:用于SiP-ML的基于环的互连,如第3.1节。 每个GPU都有W个不同的波长,它可以动态分配与环上16个最近的邻居(在两个方向上)进行通信。我们假设每个波长承载25 Gbps的带宽,为每个GPU提供B=W25 Gbps的最大带宽与SiP-OCS不同,这种拓扑结构可快速重新配置,重新配置延迟为25 µ s(§4.4)。除非另有说明,我们按照§3.3中的描述每100µs估计一次流量。SiP-OCS:用于SiP-ML的光电路交换互连如第3.1节所述,具有Q个OCS交换机,每个交换机具有N个端口(与GPU的数量相同)。每个GPU具有Q个光链路(每个光链路具有B/Q的带宽),每个光链路到每个OCS。每个GPU可以最多同时与D=Q个其他GPU通信。为了研究D的影响,我们改变了SiP-ML:用于机器学习的光网络互连SIGCOMM6637选择群集200 Gbps选择群集400 Gbps选择平面(DP)选择平面SiP-OCS SiP-Ring10981016104542 72 82 92102112122 13每GPU带宽(Gbps)(a) ResNet501002 72 82 9210211212213每GPU带宽(Gbps)(b) Transformer1032 72 82 92102112122 13每GPU带宽(Gbps)(c) 威震天图5:带宽B对总训练时间(精度时间)的影响(N=1024个GPU)。DP对于Megatron来说是不可行的,因为它占用了大量的内存。互连,使用默认值16。 由于与DNN模型的典型训练迭代时间(20 ms)相比,OCS重新配置延迟太长<,因此我们计算每个工作负载的最佳on-shot电路计划,如§3.3所述。为了评估具有快速重新配置的光交换机的潜在好处[55,71],我们还评估了降低重新配置延迟和允许在每次训练迭代中进行多次重新配置4训练工作量。 我们考虑ResNet、Transformer和Mega-tron,这三个具有代表性的DNN模型广泛应用于计算机视觉和自然语言处理应用中。ResNet [84]是一个具有2500万个参数的图像分类 模 型 。 Trans-former 是 指 具 有 3.5 亿 个 参 数 的 通 用Transformer。Megatron[52]是GPT模型[85]的变体,有180亿个参数。我们专注于时间准确性作为我们的主要指标。我们通过将单个训练迭代的时间(通过我们的模拟器获得)乘以达到目标精度所需的训练迭代次数来确定达到精度的时间我们使用先前工作中报告的数字,用于给定批量大小下这些模型所需的训练迭代对于ResNet和Transformer,Shallue etal. [86]报告一系列批量大小的训练迭代次数。 因此,对于这些模型,我们优化了批量大小,以找到每个网络配置中最低的准确时间。对于Megatron,我们使用批量大小为1024和240,000的训练迭代,遵循[50,87]。请注意,我们报告了Megatron的总预训练时间,这比典型的微调任务需要更多的训练迭代但是我们报告的相对改进将适用于微调模型,因为我们直接减少了迭代时间。ResNet和Transformer适合典型的GPU因此,将它们并行化的主要原因是为了加快训练。Mega- tron不能安装在一个GPU上,因此不能仅使用DP进行训练;需要MP将其拆分到多个GPU内存中。4.2模拟器RostAM中端到端模拟的整体流程如下。4在极端情况下,完全消除重新配置延迟将使SiP-OCS等同于理想的Elect-Flat架构。侧写 我们首先需要分析模型中每个操作的平均GPU和CPU计算时间、峰值内存大小和输入/输出数据大小,以及其数据依赖性。每个计算操作通常具有一个或多个输入/输出数据阵列分析不同输入/输出张量形状上的操作有助于预测在不同输入/输出张量维度中划分每个操作的速度我们开始在一个合理的批处理大小范围内进行分析,通常从1个样本/迭代开始,一直持续到GPU内存耗尽分析步骤独立于模拟器,可以使用任何方便的分析工具。此外,沿着样品尺寸以外的尺寸(例如,2D卷积中的高度和宽度在任何维度中没有分析数据的情况下,我们假设在该维度中分裂的总数和每个分裂的计算时间之间存在线性根据拆分的维度,RostAM在放置阶段添加所需的新数据依赖关系除了操作配置文件之外,我们还需要知道所需的迭代次数,以实现作为全局批处理函数的一定级别的模型该配置文件取决于DNN模型和训练数据集[46]。RostAM可以在布局阶段将后两种配置文件结合起来,以得出最佳的混合并行化策略。在本文中,我们分析了所有型号的NVIDIA Tesla V100GPU与32 GB的内存。安置我们的方法来探索混合并行的空间,Lelism技术将以下各项作为输入:(1)GPU的数量,(2)每个GPU可用的带宽,(3)如上所述的DNN模型的图形简档,以及(4)提供作为(全局)批量大小的函数的所需训练迭代次数的曲线。我们在一系列全局批量大小配置中搜索所有可能的混合并行化,并使用放置算法(例如,算法1(§3))。然后,我们估计每个配置为了估计网络的效果我们最终选择了所有这些并行化策略中最快的。关于这一程序,有两点值得注意。首先,我们的任务并行化考虑的策略之一是常规DP。然而,正如我们的研究结果所示(见4.3节),在许多情况下,DP并不是大规模培训的最佳策略二是时间到达时间(分钟)SIGCOMMM. Khani等人664≈××D一千零二十256641641degreeMPeeDP一百一千一万每GPU带宽(Gbps)(a) ResNet50一千零二十256641641一百一千一万每GPU带宽(Gbps)(b) Transformer分析. 我们首先考虑Elect-Flat架构。回想一下,Elect-Flat具有理想的性能。在B的每个值处,它为每个GPU提供其全部接口带宽,而不管通信模式如何。因此,Elect-Flat的训练时间是任何其他网络的下限。图5显示,在Elect-Flat上增加B可以改善所有模型的训练时间,但Transformer和Megatron的改善要比ResNet 50大得多。ResNet50对网络带宽不太敏感,原因有二。首先,它是一个比其他更小的模型,因此需要更少图6:MP程度之间的最佳混合权衡和DP在不同的每节点带宽为1024 GPU。在此过程中为配置计算的带宽仅是估计值;在我们的实际模拟中,GPU由于电路重新配置)。因此,我们的模拟器需要一个运行时阶段,以更精确地跟踪动态决策对操作调度的影响- 是的 我们的运行时模拟器依赖于三个主要组成部分-组件:GPU、互连和执行会话。一旦在DNN图中满足它们的依赖性,互连可以是电互连或光互连。我们目前的实现包括SiP-Ring、SiP-OCS、电气和全网状互连。RostAM对启动到GPU上的每个操作的延迟以及在GPU上运行的操作的最小完成时间进行因此,我们运行计算图的速度有一个下限,这取决于它的关键路径长度。在我们的实验中,我们将启动延迟和最小完成时间设置为1微秒此外,RostAM尽可能地将通信和4.3结果图5比较了我们的三个DNN模型在不同网络架构上使用1024个GPU我们将每个GPU的带宽B在128-8192 Gbps之间变化,并将Elect-Flat、Elect-Cluster与两个服务器间带宽值(200Gbps或400 Gbps)、SiP-OCS和SiP-Ring进行比较。对于每个B值和每个网络架构,我们使用算法1(§3.2)来搜索最佳并行化策略,如§4.2所述。为了在平等的基础上比较不同的架构,我们通过去除度约束来运行电气网络的算法1。然后,我们将我
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 批量文件重命名神器:HaoZipRename使用技巧
- 简洁注册登录界面设计与代码实现
- 掌握Python字符串处理与正则表达式技巧
- YOLOv5模块改进 - C3与RFAConv融合增强空间特征
- 基于EasyX的C语言打字小游戏开发教程
- 前端项目作业资源包:完整可复现的开发经验分享
- 三菱PLC与组态王实现加热炉温度智能控制
- 使用Go语言通过Consul实现Prometheus监控服务自动注册
- 深入解析Python进程与线程的并发机制
- 小波神经网络均衡算法:MATLAB仿真及信道模型对比
- PHP 8.3 中文版官方手册(CHM格式)
- SSM框架+Layuimini的酒店管理系统开发教程
- 基于SpringBoot和Vue的招聘平台完整设计与实现教程
- 移动商品推荐系统:APP设计与实现
- JAVA代码生成器:一站式后台系统快速搭建解决方案
- JSP驾校预约管理系统设计与SSM框架结合案例解析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功