本发明属于分布式深度学习作业性能保证
技术领域:
,具体涉及一种基于无服务器计算的分布式深度学习性能保证方法,在提供可预测训练性能的同时最小化在无服务器计算函数上的训练成本花销。
背景技术:
:无服务器计算是一种无需用户管理基础设施的新型云计算模型,用户不需要过多考虑服务器配置问题,计算资源仅作为一种服务而不再以物理硬件的形式出现。利用无服务器计算平台训练分布式深度神经网络(distributeddeepneuralnetwork,ddnn)模型正成为一种有潜力的范例,因为它允许用户将复杂的模型训练分解为多个无服务器计算函数并行完成,而无需管理虚拟机(virtualmachine,vm)或服务器。然而,云服务商为了有效地管理资源,对每种无服务器计算函数资源的使用进行了限制,这对无服务器计算函数资源的合理的配置带来了挑战。无服务器计算函数资源的不合理配置(资源配置不足或资源配置过多),会导致无服务器计算平台上的ddnn训练工作负载性能不可预测、高昂的训练成本花销。技术实现要素:为了解决上述问题,本发明的目的是提供一种基于无服务器计算的分布式深度学习性能保证方法即基于无服务器计算的ddnn训练性能预测以及最小化训练成本花销的无服务器计算函数资源配置方法,该方法包括:步骤1:提交ddnn训练负载到无服务器计算平台预运行20~50次迭代,针对预运行结果,得到ddnn目标训练性能to、训练周期数量e、ddnn模型的模型大小dm、训练数据集大小dt、训练数据集数量nt、局部批次大小bl、全局批次大小bg、训练速率参数α1和β1的9个模型参数及无服务器计算函数的单价p、内存配置粒度mstep、最小可配置内存mmin、最大可配置内存mmax、参数服务器带宽bp、无服务器计算函数与存储桶之间可用网络带宽无服务器计算函数与参数服务器之间的固定网络带宽无服务器计算函数与参数服务器之间的可用的网络带宽的数个系统相应参数;步骤2:根据步骤1所获取的9个模型参数及无服务器计算函数与存储桶之间可用网络带宽及无服务器计算函数与参数服务器之间的可用的网络带宽参数,建立关于ddnn训练负载的性能即训练时间预测模型t,用于预测ddnn模型的训练性能;其中,预测模型t如下所示:其中,t表示预测的ddnn训练负载的训练性能,m、n是要求解的变量,分别表示无服务器计算函数的内存配置值、数量配置值。步骤3:根据步骤1所获取的无服务器计算函数的单价p、内存配置粒度mstep、最小可配置内存mmin、最大可配置内存mmax参数,建立ddnn训练成本花销最小化的数学优化问题;具体如下所示:s.t.t≤to,其中,c表示ddnn训练成本花销,m表示无服务器计算函数内存大小,n表示配置的无服务器计算函数数量,p表示无服务器计算函数单价,单位为gb·秒,t表示ddnn性能预测模型在配置n个分配m内存的无服务器计算函数下的性能预测值;模型中的变量是m和n,为该最小化数学问题需要求解的变量;第一个约束条件中,to表示ddnn目标训练性能,单位为秒;第二个约束条件表示,m的上限为mmax,以mstep的大小作为内存配置粒度,表示正整数,j为正整数来确保内存分配m在规定范围内即mstep~mmax;第三个约束条件中,n表示配置的函数数量,表示正整数。步骤4:利用目标训练性能和参数服务器带宽的约束条件,计算无服务器计算函数数量配置的上下界,以及步骤1中所获取的最大、最小可配置内存,遍历区间内所有函数资源配置方案,输出既能保证ddnn训练性能目标,又能最小化训练成本花销的无服务器计算函数资源配置方案;具体为:依据目标训练时间约束即t≤to,解该不等式得出无服务器计算函数数量的上界nupper,依据无服务器计算函数的数据传输带宽约束即其中bp表示无服务器计算函数和参数服务器之间可用的网络带宽,解该不等式求出配置无服务器计算函数数量的下界nlower,在无服务器计算函数数量可配置范围[nlower,nupper]、无服务器计算函数内存可配置范围[mmin,mmax],遍历所有候选无服务器计算函数资源配置方案,输出既能保证ddnn训练性能目标,又能减少训练成本花销的无服务器计算函数资源配置方案即函数内存m,函数数量n。本发明解决了基于无服务器计算平台的ddnn训练性能不可预测问题、无服务器计算函数的资源配置问题、以及ddnn训练成本最小化问题。本发明以数学建模的方式,为基于无服务计算的ddnn训练负载提供可预测的性能,利用无服务器计算函数资源,提供更科学合理的无服务器计算函数资源配置,能在保证ddnn目标性能的前提下,降低用户的ddnn训练成本花销。附图说明图1为基于无服务器计算的ddnn训练参数服务器框架(基于awslambda)图;图2为根据本发明实施方式的保证ddnn训练性能的无服务器计算函数资源配置系统的架构图;图3为本发明流程图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。本发明设计并实现了一个高效率的无服务器计算函数资源配置框架λdnn,来保证无服务器计算平台的ddnn训练负载的性能并最小化训练成本花销。如图1所示,本发明使用具有足够资源的vm实例作为参数服务器。具体而言,训练数据集最初存储在分布式存储中(例如,amazons3存储桶)。当开始训练ddnn模型时,数据被均匀地划分并分配给所提供的无服务器计算函数。对于每次迭代,无服务器计算函数首先计算模型梯度并将其推送给参数服务器进行聚合,当参数服务器收到所有工作节点上传的模型梯度,就更新模型参数。最后,无服务器计算函数从参数服务器中拉取更新的模型参数,以进行下一个训练迭代。如图1所示,基于无服务器计算的ddnn训练可分为训练数据加载过程和模型训练过程。每个无服务器计算函数(即工作节点)首先从分布式存储中获取训练数据样本。然后,这些无服务器计算函数基于一个局部批次大小的数据样本计算模型梯度,并将计算出的模型梯度推送到参数服务器,参数服务器汇总所有无服务器计算函数的梯度。最后,无服务器计算函数从参数服务器拉取更新过的模型参数以完成一个训练迭代。通常,ddnn模型训练需要进行多次迭代(用k表示)才能使损失函数收敛到目标值,因此,对于无服务器计算函数来讲,计算梯度、推送梯度、拉取参数需要重复k次,而推送梯度、拉取参数可以统一理解为工作节点与参数服务器进行通信的过程。通过以上分析,可以通过把从s3存储桶下载训练数据的数据加载时间tload、k次迭代的模型梯度的计算时间tcomp、模型参数和梯度的通信时间tcomm相加,得出ddnn训练性能(即训练时间)t可以表示为:t=tload k·(tcomp tcomm)(1)训练迭代次数k可表示为:其中,nt表示训练数据样本数量,e表示训练周期数量(其中一个训练周期表示整个数据集的一次完整遍历),bg表示全局批次大小。为了实现快速收敛,无服务器计算函数(工作节点)与参数服务器之间的数据通信遵循在工业界机器学习集群中得到广泛的应用整体同步并行(bulksynchronousparallel,bsp)协议。本发明假设训练数据被均匀地划分到所配置的无服务器计算函数,即对于使用n个无服务器计算函数来训练dt大小的训练数据集,每个无服务器计算函数需要处理的训练数据集大小为dt/n。因此对一个无服务器计算函数来说,训练数据的加载时间tload可以表示为:其中,表示无服务器计算函数与存储桶之间的可用网络带宽。dt为训练数据集的大小,n为配置的无服务器计算函数数量。理想情况下使用bsp协议的无服务器计算函数具有相同的训练速率(即训练数据样本的处理速率,用r表示,单位为样本数量/秒)。因此,计算时间tcomp可以表示为:其中,bl表示无服务器计算函数训练时的局部批次大小。每次迭代的数据通信时间tcomm包含了无服务器计算函数上传(推送)模型梯度到参数服务器和从参数服务器下载(拉取)模型参数的网络传输时间,模型参数的大小为dm,模型梯度的大小与之相同,由此模型参数和梯度的通信时间tcomm可以表示为:这里表示一个无服务器计算函数和参数服务器之间可用的网络带宽。无服务器计算函数的cpu资源与分配给无服务器计算函数的内存大小成比例,因此,计算时间tcomp与无服务器计算函数内存大小m高度相关(即成比例)。单个无服务器计算函数的训练速率可以表示为:r=α1·m β1(6)这里的α1和β1是作业相关参数,在预运行阶段获取。一个无服务器计算函数和参数服务器之间可用的网络带宽与无服务器计算函数的内存分配大小无关,对每一个无服务器计算函数来说,受参数服务器带宽bp/n限制,在参数服务器的网络带宽成为瓶颈之前,无服务器计算函数与参数服务器之间的可用网络带宽不受无服务器计算函数内存分配和无服务器计算函数数量影响,由此无服务器计算函数与参数服务器之间可用带宽可以表示为:将公式(2)至公式(7)代入公式(1)可得ddnn训练性能关于函数内存m和函数数量n的分析模型。即在上述建立的ddnn训练性能模型的基础上,进一步提出无服务器计算资源配置优化问题定义最小化无服务器计算函数资源配置的成本花销,如下所示:其中,p表示无服务器计算函数单价(gb·秒),to表示ddnn目标训练时间(秒)。公式(9)定义了目标是使ddnn训练的成本花销最小化,受制于三个约束条件。第一个约束条件中,to表示ddnn目标训练性能(单位为秒);第二个约束条件表示,m的上限为mmax,以mstep的大小作为内存配置粒度,表示正整数,j为正整数来确保内存分配m在规定范围内即mstep~mmax;第三个约束条件中,n表示配置的函数数量,表示正整数。依据目标训练时间约束即t≤to,依据无服务器计算函数的数据传输带宽约束即求出无服务器计算函数数量可配置范围[nlower,nupper],依据无服务器计算函数内存可配置范围[mmin,mmax],遍历所有候选无服务器计算函数资源配置方案,输出既能保证ddnn训练性能目标,又能减少训练成本花销的无服务器计算函数资源配置方案,即函数内存配置m,函数数量配置n。由此,图2详细展示了保证ddnn训练性能的无服务器计算函数资源配置系统λdnn,首先提交ddnn训练负载(即ddnn模型和训练数据集)和目标训练时间到λdnn预运行模块,运行该ddnn模型,利用特定参数获取模块获得作业相关参数和系统相关参数,性能预测器使用性能模型来预测ddnn训练时间,函数资源配置器在资源上下界内遍历所有可配置资源项,资源来确定低成本花销的无服务器计算函数资源配置计划。在确定了高效率的资源配置计划后,函数控制器最终使用无服务器计算平台的命令行工具创建相应数量的函数并配置相应内存。该处理流程如图3所示。实施例为了验证本发明的可行性和准确性,本发明在awslambda平台的amazonus-east-1区域根据图1建立了一个基于无服务器计算的训练集群。具体而言,使用一个m5.1argeec2实例(配备2个vcpu,8gb内存)作为参数服务器,并使用awslambda函数作为工作节点。通过在us-east-1区域创建一个用于存储训练数据集的s3存储桶。使用netperf工具和boto3sdk来测量bp、参数服务器节点的网络带宽bp为1.2gbps,无服务器计算函数与ec2实例之间的不受内存分配影响的固定网络带宽为84mbps。ddnn训练负载和数据集:选择四种典型ddnn模型作为训练负载,其中包括(1)基于bsds500数据集训练的用于超分辨率图像重建的espcn模型,(2)基于imdb数据集训练的用于文本分类的1dcnn模型,(3)基于cifar10数据集训练的用于图像分类的mobilenet模型,以及(4)基于cifar10数据集训练的用于图像分类的resnet50模型。通过使用单个无服务器计算函数进行训练负载预运行20~50次迭代,能够获得关键的模型依赖的参数,如表1所示:表1四种典型ddnn训练负载的说明ddnn模型名称espcn1dcnnmobilenetresnet50训练数据集名称bsds500imdbcifar10cifar10训练样本大小(mb)128.741.1148148训练样本数量50015,00050,00050,000ddnn模型人小(mb)0.3421898评估基准与评估指标:λdnn将与以下两种资源配置策略进行比较:(1)naive配置策略,它为ddnn训练工作负载随机选择无服务器计算函数数量,并总是为无服务器计算函数配置最大的内存;(2)经过修改的siren(modifiedsiren),它利用drl方法选择无服务器计算函数的数量和内存大小以实现可预测的性能,同时最大程度地降低ddnn训练的成本花销,使用modifiedsiren是因为原始的siren旨在给定的训练预算下,减少ddnn训练时间。实验关注两个关键指标:ddnn训练时间和每个资源配置计划下的训练成本花销。所有实验重复训练ddnn模型三次,并用标准差误差棒来进一步表明实验结果。如表2所示,随着无服务器计算函数内存增加到3,008mb,λdnn的性能模型可以较准确地预测ddnn训练时间,预测误差为0.98%~6.0%。表2λdnn对1dcnn模型、resnet50模型的训练时间预测进一步实验固定函数内存分配为3,008mb,更改配置的函数数量(4~12)并检查λdnn预测的espcn和mobilenet的训练性能。如表3所示,随着所配置的函数数量的增加,λdnn可以较准确地预测ddnn训练性能,其预测误差为0.20%~10.27%。表3λdnn对espcn模型、mobilenet模型的训练时间预测在λdnn、naive、modifiedsiren三种不同资源配置策略下,使用1dcnn模型及resnet50模型来评估ddnn训练性能的可预测性具体而言,在表4中的1dcnn的目标时间为90秒的情况下,naive策略总是分配最大的内存大小(即3,008mb)并随机地配置10个无服务器计算函数,对应的这种资源配置计划下的训练时间为53.6秒;这与modifiedsiren策略获得的资源配置计划(2,624,8)(即2,624mb内存和8个无服务器计算函数)几乎相同。尽管λdnn资源配置计划下的模型训练最大时间(即86.2秒),但它能提供最少的无服务器计算函数资源(1,088,10)同时在目标训练时间之前完成训练。表4λdnn对espcn模型、mobilenet模型的训练时间预测λdnn总是能在ddnn训练中实现无服务器计算函数资源配置和使用的最低训练成本花销。具体而言,与naive和modifiedsiren资源配置策略相比,λdnn可以分别节约高达19.7%和57.9%的训练成本花销。表4显示,naive策略的训练成本花销最高,由于随机配置无服务器计算函数数量,它在目标训练时间为90秒的情况下过度配置无服务器计算函数资源(3,008,10)但却在目标训练时间为210秒的情况下资源配置不足(3,008,1)。例如,尽管naive的策略在目标训练时间为90秒的情况下可以节约38.7%的训练时间,但其训练成本花销却比λdnn高出57.9%。由此验证了本发明所提出的基于无服务器计算的ddnn训练预测性能模型的可靠性、λdnn资源配置策略的有效性及高性价比。本发明的实施方式还能够提供一种保证ddnn训练性能的无服务器计算函数资源配置系统,所述系统包括:ddnn训练负载预运行模块,提交ddnn模型到无服务器计算平台中预运行20~50次迭代;ddnn训练负载特定参数获取模块,获取构建ddnn训练性能预测模型和ddnn训练成本花销模型相关参数;ddnn训练性能预测模块,建立ddnn训练性能预测模型用以预测ddnn训练性能;函数资源资源配置模块λdnn,基于ddnn训练成本花销模型,为基于无服务器计算的ddnn训练负载提供既能满足用户的ddnn训练性能目标又能最小化ddnn训练成本花销的无服务器计算函数资源配置方案。用户只需将深度学习负载以及目标训练性能提交到该资源配置系统,便可以自动完成无服务器计算函数资源配置,并且该资源配置方案既能够保证深度学习负载的目标训练性能,又能最小化用户的ddnn训练成本花销。当前第1页1 2 3 
技术特征:1.一种基于无服务器计算的分布式深度学习性能保证方法,其特征在于,该方法包括以下具体步骤:
步骤1:提交ddnn训练负载到无服务器计算系统预运行20~50次迭代,针对预运行结果,得到ddnn目标训练性能to、训练周期数量e、ddnn模型的模型大小dm、训练数据集大小dt、训练数据集数量nt、局部批次大小bl、全局批次大小bg、训练速率参数α1和β1的9个模型参数及无服务器计算函数的单价p、内存配置粒度mstep、最小可配置内存mmin、最大可配置内存mmax、参数服务器带宽bp、无服务器计算函数与存储桶之间可用网络带宽无服务器计算函数与参数服务器之间的固定网络带宽无服务器计算函数与参数服务器之间的可用的网络带宽的8个系统参数;
步骤2:根据步骤1所获取的9个模型参数及无服务器计算函数与存储桶之间可用网络带宽及无服务器计算函数与参数服务器之间的可用的网络带宽参数,建立关于ddnn训练负载的性能即训练时间预测模型t,用于预测ddnn模型的训练性能;
步骤3:根据步骤1所获取的无服务器计算函数的单价p、内存配置粒度mstep、最小可配置内存mmin、最大可配置内存mmax参数,建立ddnn训练成本花销最小化的数学优化问题;
步骤4:利用目标训练性能和参数服务器带宽的约束条件,计算无服务器计算函数数量配置的上下界,以及步骤1中所获取的最大、最小可配置内存,遍历区间内所有函数资源配置方案,输出既能保证ddnn训练性能目标,又能最小化训练成本花销的无服务器计算函数资源配置方案。
2.根据权利要求1所述的分布式深度学习性能保证方法,其特征在于,所述时间预测模型t具体如下所示:
其中,t表示预测的ddnn训练负载的训练性能,m、n是要求解的变量,分别表示无服务器计算函数的内存配置值、数量配置值。
3.根据权利要求1所述的分布式深度学习性能保证方法,其特征在于,所述步骤3具体如下所示:
s.t.t≤to,
其中,c表示ddnn训练成本花销,m表示无服务器计算函数内存大小,n表示配置的无服务器计算函数数量,p表示无服务器计算函数单价,单位为gb·秒,t表示ddnn性能预测模型在配置n个分配m内存的无服务器计算函数下的性能预测值;模型中的变量是m和n,为该最小化数学问题需要求解的变量;第一个约束条件中,to表示ddnn目标训练性能,单位为秒;第二个约束条件表示,m的上限为mmax,以mstep的大小作为内存配置粒度,表示正整数,j为正整数来确保内存分配m在规定范围内即mstep~mmax;第三个约束条件中,n表示配置的函数数量,表示正整数。
4.根据权利要求1所述的分布式深度学习性能保证方法,其特征在于,所述步骤4具体为:依据目标训练时间约束即t≤to,解该不等式得出无服务器计算函数数量的上界nupper,依据无服务器计算函数的数据传输带宽约束即其中bp表示无服务器计算函数和参数服务器之间可用的网络带宽,解该不等式求出配置无服务器计算函数数量的下界nlower,在无服务器计算函数数量可配置范围[nlower,nupper]、无服务器计算函数内存可配置范围[mmin,mmax],遍历所有候选无服务器计算函数资源配置方案,输出既能保证ddnn训练性能目标,又能减少训练成本花销的无服务器计算函数资源配置方案即函数内存m,函数数量n。
技术总结本发明公开了一种基于无服务器计算的分布式深度学习性能保证方法,包括一个分布式深度神经网络(Distributed Deep Neural Network,DDNN)训练性能预测模型以及一个无服务器计算函数资源配置方法。具体包括提交DDNN作业预运行;获取DDNN作业相关参数;收集无服务器计算函数相关特征参数;设计了一种基于所述获取DDNN作业相关参数和无服务器计算系统相关特征参数的训练性能预测模型;本发明设计并实现一种简单且有效的基于无服务器计算函数资源配置策略λDNN,解决基于无服务器计算的DDNN训练中的性能预测问题,在保证DDNN训练性能的前提下最小化DDNN训练成本花销。
技术研发人员:徐飞;秦伊玲
受保护的技术使用者:华东师范大学
技术研发日:2021.04.28
技术公布日:2021.08.03