没有合适的资源?快使用搜索试试~ 我知道了~
567通过竞争性GPU资源共享支持多任务联合Yongbo Yu,Fuxun Yu,ZiruiXu乔治梅森大学{yyu25,fyu2,zxu21}@gmu.edu王迪,张明佳微软{wangdi,minjiaz}@microsoft.com昂立杜克大学duke.edu摘要Shawn Bray,刘马里兰大学{shawnb2,ccliu}@umbc.edu乡陈乔治梅森大学xchen26@gmu.edu随着认知应用复杂性的增加,联邦学习(FL)涉及到复合学习任务。例如,自动驾驶系统同时托管多个任务(例如,检测、分类等)并期望FL保持终身的情报参与。然而,我们的分析表明,当在GPU上为多个训练任务部署复合FL模型时,会出现一些问题:(1)由于不同任务非IID学习任务联盟任务A任务B任务C任务D策略一:多模式学习工作负载,现有的GPU调度方法缺乏有效的资源分配;(2)因此,现有的FL方案只关注异构数据分布,而不关注运行时计算,实际上无法实现最优同步联邦。 为了解决这些问题,我们提出了一个全栈FL优化方案,以解决多任务训练的设备内GPU调度和设备间FL协调。具体而言,我们的工作说明了该研究领域的两个关键见解:(1)竞争性资源共享有利于并行模型执行,提出的“虚拟资源”概念可 以 有 效 地 描 述 和 指 导 实 际 的 任 务 资 源 利 用 和 分 配 。(2) FL可以通过考虑体系结构级别的协调来进一步改进。我们的实验表明,FL吞吐量可以显着提升。CCS概念• 计算方法学→并行算法。关键词联邦学习;多任务学习; GPU资源分配ACM参考格式:Yongbo Yu,et al..2022年 通过竞争性GPU资源共享支持多任务联合学习。在Web Conference 2022(WWW '22 Companion)的配套程序中,2022年4月25日至29日,虚拟活动,法国里昂。ACM,美国纽约州纽约市,5页。https://doi.org/10.1145/3487553。 3524859本作品采用知识共享署名国际协议(Creative Commons AttributionInternational)授权4.0许可证。WWW©2022版权归所有者/作者所有。ACM ISBN978-1-4503-9130-6/22/04。https://doi.org/10.1145/3487553.3524859图1:多任务联合学习1引言联合学习(FL)是一种分布式训练方法,允许多个计算设备联合训练认知任务,而无需共享私有数据[4]。随着智能应用在日益复杂的场景中的广泛部署,FL成为及时收集个体计算资源和维护智能参与的必要技术。与此同时,这些应用程序的复杂性也变得越来越复杂. 如图1:每个设备(例如,自动驾驶系统)可以承载不同的FL任务(例如,检测、分类等) [1];每个任务都涉及特定的深度神经网络模型(DNN)或部分结构;并且高度偏差的数据量被分配给每个任务进行训练。尽管一些异构FL方法已经解决了关于异构模型协调和跨唯一设备的参数匹配的联邦收敛的算法挑战[1],但是每个任务的实际不平衡训练工作量可能会导致每个设备中的计算架构以GPU作为主要的FL计算单元,已经存在一些现 有 的 并 行 方 法 ( 例 如 , CUDA MPS [7] , CUDA MPS[2]),以协调并行模型训练的资源分配。然而,面对多任务FL场景中相当大的工作负载不平衡和动态性,这些方法缺乏足够的管理粒度,并且通常遭受相当大的并行竞争和资源利用不足。因此,不同于传统的FL作品,这项工作深入到GPU架构的水平与特定的调度问题的多任务FL部署和重新检查FL协调问题。具体来说,我们关注两个主要挑战:(1)如何揭开多任务模型训练的实际资源利用率和并行竞争的神秘面纱,从而指导GPU调度?(2)如何通过考虑架构级GPU调度来重新发明FL方案?Node#1更大的训练数据集会带来更多的训练周期。Node#2资源自适应GPU计算策略二:多分支节点#3* 多分支结构缺乏一定的工作负载调度的灵活性,将不专门讨论在这项工作中。568一BCCB一..i、jj=0百分百WWWYongbo Yu,et al.百分百分离A BC局部训练其权重Wi,j以追求最小精度百分之五十0%的百分比百分百(a) 时态调度在每个全局同步周期中,将不同任务之间的丢失,并将单个任务的模型彼此百分之五十Volta GPU控制器最后一次:min .J Loss(D0,j,W0,j),0%无菌{W0}Jj=0(b) 空间调度,jj=0融合:W{第k次循环}=J|D0, j|W{k-1th cycle}。(一)百分之五十0%的百分比(c) 竞争共享空间调度流式多处理器在FL中,本地计算工作负载任务模型大小Mi,j和分配的批量大小Bi,j。通过调整GPU中的Oi,j和相应的资源分配图2:时间和空间GPU调度方案通过应对这些挑战,我们提出了一个全栈多任务CUDA MPS控制资源资源资源Jk=0 |D0,k|一BC一 BCi、j569○○○FL优化方案,它解决了设备内GPU利用竞争性资源共享方案进行调度;以及设备FL协调与真实GPU运行时同步-是的。实验表明,该算法可以大大提高GPU的性能资源利用率,进而提高整体设备内训练吞吐量为2.16× 2.38×,设备间FL坐标为在复杂的多任务FL场景中,吞吐量提高了2.53×2.80×2初步报告为了实现多任务FL的最佳性能,我们需要协调两个计算方面:(a)设备内GPU调度和利用率。 由于异构模型的并行性,这就需要一种资源分配方法来分配最优的资源,以实现GPU上多任务的最优部署,并获得最大的瞬时吞吐量。(b)设备间FL协调,其期望集群中的所有设备执行同步参数融合,并且每个设备可以充分利用全局同步周期来训练尽可能多的数据。GPU资源分配和调度:在将上述多任务FL部署到各个设备中时,主要计算单元-GPU面临着托管多个训练模型的复杂调度问题。目前,存在两种主要的资源分配和调度方案:2(a)将GPU资源隔离为用于各个任务的顺序时间片(例如,round robin [8])。 每个任务在其时间片内占用整个GPU资源,而不干扰其他任务[3]. 图中的空间调度。 2(b)通过将流式多处理器(SM)的子集分配给各个任务作为独立的处理线程来并行处理多个GPU任务[5]。最新的GPU并行技术仍然在这些方案中,例如NVIDIA多实例GPU(GPU)[2],多进程服务(MPS)[7]。虽然空间调度更倾向于其并行性,但任务之间存在竞争性资源共享 它用于描述单个GPU内并发任务之间的复杂交互,例如来自不同训练模型的相似计算操作符之间的资源争用,或由于资源分配不足而导致的资源利用不足。然而,它仍然是一个新兴的设计考虑。因此,如何将其去神秘化,实现资源的最优配置,并将其纳入到大规模的外语学习中,是我们的主要研究动机。Multi-Task FL涉及到很多因素:联合集群中的J个设备有I个任务,第i个任务对应特定的DNN模型结构,第j个设备上有Di,j的数据集每个模型期望通过并行实现最大吞吐量每个周期的多任务部署,并提高整体FL速度。3设备内GPU调度有竞争力的资源共享在这一部分中,我们分析了竞争性资源共享机制,nism和识别特定的计算问题,从而提出一种多任务专用GPU调度方法,3.1竞争资源共享分析空间调度的基线示例:图。2(b)表示a完全隔离的空间资源分配方法,这是通过最近的GPU调度技术实现的(即,MPS)。它为每个模型分配一组专用的硬件SM(表示为一系列运算符)来执行并行计算,如图所示31. 然而,这种独占资源分配缺乏一定的灵活性,因为模型中的一些小运营商将不会完全占用所分配的资源,从而导致一定的利用不足。空间资源共享:我们可以通过使具有互补大小的并行模型的运算符共享某些资源来提高GPU利用率,而不是独占资源分配,如图所示32. 在运行时GPU调度中,这是通过为各个模型分配资源预算来完成的因此,由于物理SM的重叠分配,整体资源分配可能超过100%。然而,通过分配资源预算,物理资源分配动态尚未得到很好的研究,因为模型可能会竞争共享资源。过多的竞争开销:当我们通过在图中进行更多的重叠资源分配来增加共享资源时。 3、任务模型对资源的竞争更加激烈,导致资源竞争和相当大的争用开销。这是我们分析的主要研究重点。极端争用扼杀竞争:资源争用问题不仅会导致开销。这里,当存在大运营商时,难以实现互补资源分配,因此调度机制被推回到如图1B所示的时间调度。3. 因此,除了互补性运营商之外,还需要特别关注此类情况,这进一步增加了竞争性资源共享的分析复杂性。5703.2竞争资源共享与虚拟资源基于上述分析,本文提出了一种新的GPU多任务计算资源分配的设想--“虚拟资源“管理,以指导最优运行时配置。571BNReLUReLUConv[a]池100%份额∼×∗∗∗目标2:最大|Dj|iP 1,..,派岛Oj支持多任务联合学习与竞争GPU资源共享WWWDNN算子task-A task-B竞争资源共享争用延迟虚拟资源利用率较高光竞争0 50 100 150 0 50 100 150严格竞争顺序执行转化率[d]0 50100150050100-5ms150时间0%100%200%图3:竞争GPU资源共享与多任务DNN训练虚拟资源的定义:如上所述,当调度运行时资源分配时,资源预算被应用于每个任务模型。但是,由于总体预算超过了100%的实物资源,内在的分配机制没有得到很好的研究。因此,我们将这种资源预算的概念扩展到虚拟资源,以说明竞争的组成程度。如图 3(右侧),虚拟资源是(0% 100%)(任务的I)之间的数字。例如,当部署两个任务模型时,虚拟资源可能高达200%。找到一个最佳的虚拟资源可以管理一个适当的并行资源竞争和共享的最佳吞吐量。多任务资源优化分配的虚拟资源规范:为了管理复杂多任务模型的竞争资源共享,需要明确基于虚拟资源的实际竞争资源共享性能。因此,我们提出了一种基于一系列任务模型的虚拟资源R分配和相应任务模型的工作负载O来估计GPU吞吐量P的机器学习方法。此外,还需要识别不同任务模型Mi的计算因素Fi[10],例如计算特性(FLOPS)和存储器访问。然后我们将这些因子与批次大小Bi表示第i个任务模型请注意通过对竞争性资源共享的分析,揭示了利用虚拟资源进行多任务模型训练并通过建立虚拟资源与吞吐量之间的关系,实现了GPU多任务的最优调度。4设备间多任务联合学习协调在设备内虚拟资源管理的基础上,进一步将其引入到设备间FL集群中,并从GPU调度的角度重新考虑FL协调协调设计动机:我们的目标是当多任务模型在每个设备上并行时,在每个同步周期中充分利用每个设备,同时最大化整体GPU吞吐量以加快整体FL训练速度。我们使用Eq实现第一个目标2通过调整不同任务的数据量比例D与不同任务的工作量比例O之间的不匹配。对于第二个目标,我们根据批量大小对工作负载的影响来调整资源分配,以获得最大的吞吐量。和可通过以下目标制定目标更大的批量大小可以使任务模型具有更大的.Objetive1:min。I.J|Di|-Oi,(三)在一个实施例中,将虚拟资源分配(由Fi Bi表示)和虚拟资源分配(对于Mi的Ri)作为机器学习的输入。 由于每个任务模型在共享资源时都要与其他模型竞争,因此在估计任务模型的吞吐量P时,需要考虑并行任务模型之间的共同影响。因此,我们将不同任务模型之间的Fi Bi和Ri组合起来作为最终输入。 因此,我们构建了一个多输入多输出的预测机器学习模型,并将其公式化如下:P1,..., P i=Pre((F1<$B1,R1),(F2<$B2,R2),.,(Fi ∈Bi,Ri))。 ( 二更)我们分析了广泛的多任务训练案例,以适应预测模型的参数。我们分别记录将虚拟资源分配R1更改为Ri和将批量大小B1更改为Bi时的相应吞吐量,并将其用作监督信息来训练预测模型[9]。因此,竞争和分享的实际构成可以有效地在图中说明3.具体地说,对于第一个目标,我们可以利用D和O之间的关系来理解它的原理。当一个任务模型的数据量D较大时,我们通过增加批量大小来提高其工作负载,使该任务模型占用更多的资源,从而使该任务模型在每个同步周期内消耗相应更多的数据量相反,当一个任务模型具有较小的D时,我们减少它的工作量,以便更多的资源可以被其他具有较大D的任务模型占用。因此,实现多任务FL协调的协同调度可以转化为利用工作负载调整和资源分配来满足上述两个目标。多任务FL协调:由于不同模型组合的资源分配不同,以及不同任务之间的数据不平衡,因此多任务协调问题很难解决,因此我们采用贪婪优化方法来找到最佳的批量大小和资源分配。 我们首先搜索每个任务的最优工作量O,并且O可以由FB表示。因此,我们可以搜索批量B来优化第二个目标。这时间-25毫秒时间-10毫秒时间转化率[c]竞争②③普T④物理资源①转化率[b]40ms30ms30ms①无份额③60%份额②20%股份操作员或整体工作量较大,因此任务模型可以在并行部署中占用更多的资源我们把工作量572××××WWWYongbo Yu,et al.简体中文3210D121+ V16+R101 R18+M 3+S 2R50+V16+M3(a)吞吐量3210D121+ V16+R101 R18+M 3+S 2R50+V16+M3(b) 公平交易3210D121+ V16+R101 R18+M 3+S 2R50+V16+M3(a)平均吞吐量3210D121+ V16+R101 R18+M 3+S 2R50+V16+M3(b) 平均公平性图5:器械间平均吞吐量图4:设备内多任务GPU吞吐量目标只有一个变量B,我们可以以封闭形式求解每个任务的B然后,我们使用最优批量大小作为输入之一,使用等式搜索最优资源分配2以最大化设备内吞吐量。使用这种两步贪婪调度方法,我们可以快速找到最佳的批量大小和资源分配,以实现FL协调。使用所提出的方法,我们实现了设备间的多任务FL协调与现实的GPU运行时同步,同时提高设备内的整体吞吐量。5实验评价实验设置:我们使用以下DNN模型构建各种多任务FL场景:VGG16 ( V16 ) , ResNet18 ( R18 ) , ResNet50 ( R50 ) ,ResNet101(R101)MobileNet_v3(M3),ShuffleNet_v2(S2)DensNet121(D121)。模型的选择具有丰富的多样性,涵盖不同的计算和内存要求,并具有独特的模型深度与运营商的数量。我们评估了三种多任务设置。D121+V16+R101是一个计算量较大的重多任务训练。R18+M3+S2更轻,因为M3和S2通常部署在移动设备上。R50+V16+M3是一种混合型,这种组合中每项任务的要求都不同。为简单起见,我们对所有组合评估相同的批量(128)我们在CIFAR10数据集上评估多任务训练,并使用NVIDIA Titan VGPU。基线和基线:我们考虑三种基线策略。(1)临时:默认的黑盒CUDA调度器;(2)完全隔离:使用MPS将专用SM平均分配给每个进程;(3) 完全共享:每个任务可以竞争并利用所有SM(MPS默认)。我们使用两个指标来评估性能:原始吞吐量T和公平吞吐量Tf1。所有方法的吞吐量被归一化以显示相对加速比。总体加速:与所有三种设置的时间顺序训练基线相比,我们的资源分配方法可以持续产生2.16至2.38的加速。 虽然空间隔离和完全共享的解决方案也比时间基线产生一定的加速,但其加速比远小于我们。同时,我们的方法实现了更高的公平性加速。这是因为它更容易为小1原始吞吐量是所有模型的训练吞吐量(img/s)的直接总和,而公平吞吐量是每个模型单独运行时的独立吞吐量的归一化吞吐量度量。 通过这种标准化,我们以公平的重要性对待每个模型的加速/减速。在联合学习同步周期中模型通过资源分配获取GPU资源。否则,如完全共享,大模型会占用资源很长时间,从而影响小模型的吞吐量。设备间多任务FL协调:我们使用一个FL系统,该系统有多个设备,每个设备有三个任务,这些任务具有不同的模型结构和不平衡的数据量。我们考虑相同的基线策略,并为这些基线方法分配相同的批量(128)。我们给出了所有设备在一个同步周期内的平均吞吐量和公平吞吐量,结果如图所示。五、从图5、我们可以发现,与基线方法相比,加速2.53至2.80更有趣的是,我们在设备间实现了更快的加速,而不是设备内加速。这是因为批量大小和资源分配的联合优化允许我们的方法在整个同步周期,但基线方法不能充分利用,导致工作负载和数据量之间6结论在这项工作中,我们提出了一个全栈多任务FL优化方案,它解决了设备内GPU调度与一个新的竞争性资源共享方案;和设备间多任务FL协调与现实的GPU运行时同步。实验结果表明,该算法可以大大提高GPU资源利用率,提高整体训练吞吐量。引用[1] Mehdi Salehi Heydar Abadet al. 2020. 跨 异 构 蜂 窝 网 络 的 分 层 联 邦 学 习ICASSP IEEE InternationalConference on Acoustics , Speech and SignalProcessing会议论文集。IEEE,8866[2] 英 伟 达 公 司 2021 年 NVIDIA 多 实 例 GPU 用 户 指 南 。 https://docs.nvidia 。com/datacenter/tesla/mig-user-guide/[3] Shinpei Katoet al. 2011. TimeGraph : 用 于 实 时 多 任务 环 境 的 GPU 调 度 。在USENIX ATC的会议记录中。17比30[4] TianLi et al. 2020年。联邦学习:挑战、方法和未来方向。IEEE信号处理杂志3(2020),50[5] Yun Lianget al. 2014.高效的GPU时空多任务处理。IEEETransactions on Paralleland Distributed Systems 26,3(2014),748-760.[6] Brendan McMahanet al. 2016.联邦优化:分布式机器学习,用于设备上的智能。arXiv预印本arXiv:1610.02527(2016)。[7] 英伟达2021.多进程服务。https://docs.nvidia.com/deploy/pdf/CUDA_Multi_Process_Service_Overview.pdf[8] Rasmus V Rasmussenet al. 2008. 循 环 赛 - 调 查 。 EuropeanJournal ofOperational Research 188,3(2008),617-636.[9] XiangyuUkidave et al. 2016年。Mystic:使用机器学习对基于GPU的云服务器进行预测调度2016年IEEE国际并行与分布式处理研讨会(IPDPS)。IEEE,353时间完全隔离完全共享我们1111.79 1.81.82一点1.752.242.122.062.26时间完全隔离1.72.652.041.93一点1 1完全分享我们的2.592.771.71一点七五12.162.232.381.71.851.65 1.871.73一点111加速比2.592.532.81.631.76一点八五一点1.63一点111加速比加速比加速比573支持多任务联合学习与竞争GPU资源共享WWW[10] Gingfung Yeunget al. 2021. Horus:深度学习系统中并行与分布式学报Systems33,1(2021),88-100.
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- IPQ4019 QSDK开源代码资源包发布
- 高频组电赛必备:掌握数字频率合成模块要点
- ThinkPHP开发的仿微博系统功能解析
- 掌握Objective-C并发编程:NSOperation与NSOperationQueue精讲
- Navicat160 Premium 安装教程与说明
- SpringBoot+Vue开发的休闲娱乐票务代理平台
- 数据库课程设计:实现与优化方法探讨
- 电赛高频模块攻略:掌握移相网络的关键技术
- PHP简易简历系统教程与源码分享
- Java聊天室程序设计:实现用户互动与服务器监控
- Bootstrap后台管理页面模板(纯前端实现)
- 校园订餐系统项目源码解析:深入Spring框架核心原理
- 探索Spring核心原理的JavaWeb校园管理系统源码
- ios苹果APP从开发到上架的完整流程指南
- 深入理解Spring核心原理与源码解析
- 掌握Python函数与模块使用技巧
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功