一种面向分布式机器学习的云计算资源调度方法技术

技术编号:19240235 阅读:27 留言:0更新日期:2018-10-24 03:51
本发明专利技术涉及一种面向分布式机器学习的云计算资源调度方法。通过历史数据建立迭代次数与模型质量提升间的模型,在线预测资源分配对模型质量提升的影响,制定资源分配策略,以达到在云计算平台运行的多个并发执行的模型训练任务的整体性能最大化的效果,从而提高资源利用率,快速适应任务和负载的动态变化。

【技术实现步骤摘要】
一种面向分布式机器学习的云计算资源调度方法
本专利技术涉及一种云计算资源调度方法,尤其涉及一种面向分布式机器学习的云计算资源调度方法,属于软件

技术介绍
机器学习是当前越来越重要的大规模数据分析技术,广泛应用于在线搜索、市场营销、医疗保健和信息安全等领域。机器学习包括训练和推理等两个阶段,训练阶段从训练数据集构建机器学习模型,推理阶段使用该模型对新输入进行预测。机器学习模型是输入到输出映射的近似函数,模型训练通常需要基于大规模数据集,经过多次迭代计算,直到收敛。模型训练是探索性过程,通过反复训练调整超参数和模型结构,生成最终模型。该过程在开始时生成一个低质量的模型,并通过迭代训练改进模型的质量,随着数据量的增长,更多迭代的完成,训练与优化的成本会不断增加。由于机器学习的训练需要较高的时间和资源开销,机器学习工程师更倾向于在短时间内使用较好的模型来进行初步验证和测试。随着大数据时代的到来,机器学习复杂度和数据量增长速度远远超过硬件发展速度,小规模集群已无法满足机器学习的物理资源需求。云计算平台可以用来为多租户提供共享物理资源,以高效执行多个分布式机器学习模型的训练,云计算资源调度成为提高机器学习执行效率与云计算资源利用率的关键技术。云计算资源调度方法主要分为以下几类:在大规模机器学习框架方面,MLlib(X.Meng,J.K.Bradley,etal.MLlib:MachineLearninginApacheSpark.CoRR,2015.),TensorFlow(M.Abadi,P.Barham,etal.TensorFlow:ASystemforLarge-scaleMachineLearning.USENIXOSDI,2016.),MXNet(T.Chen,M.Li,etal.MXNet:AFlexibleandEfficientMachineLearningLibraryforHeterogeneousDistributedSystems.CoRR,2015.),CNTK(F.SeideandA.Agarwal.CNTK:Microsoft’sOpen-SourceDeep-LearningToolkit.KDD,2016.)优化了模型训练过程中多维矩阵操作的计算资源分配,加快了训练过程,减少了任务同步的开销;在机器学习模型优化方面,文献(E.R.Sparks,A.Talwalkar,etal.AutomatingModelSearchforLargeScaleMachineLearning.ACMSoCC,2015.)使用规划算法发现超参数,并自动排除错误的测试,以加速模型的搜索过程;在任务执行资源使用和运行时间方面,Ernest(S.Venkataraman,Z.Yang,M.Franklin,etal.Ernest:EfficientPerformancePredictionforLarge-ScaleAdvancedAnalytics.USENIXNSDI,2016.)基于大规模数据分析的内部计算和通信结构预测任务执行情况;CherryPick(O.Alipourfard,H.H.Liu,etal.CherryPick:AdaptivelyUnearthingtheBestCloudConfigurationsforBigDataAnalytics.USENIXNSDI,2017.)使用贝叶斯优化改进云配置选择的过程;在集群资源调度方面,文献(A.Ghodsi,M.Zaharia,etal.DominantResourceFairness:FairAllocationofMultipleResourceTypes.USENIXNSDI,2011.)主要关注资源公平、工作优先级、集群利用率或资源优化;在基于SLA的资源调度方面,Morpheus(S.A.Jyothi,C.Curino,etal.Morpheus:towardsautomatedSLOsforenterpriseclusters.USENIXOSDI,2016.)基于完成作业的最后期限调度批处理作业,Jockey(A.D.Ferguson,P.Bodik,etal.Jockey:GuaranteedJobLatencyinDataParallelClusters.ACMEuroSys,2012.)将离线预测和动态资源分配结合,以确保批处理查询满足延迟的SLA,同时减少对共享集群的其他工作的影响。以上方法主要存在以下问题:首先,对任务执行进行离线分析,当用户调试或调整模型时,计算结构很可能经常发生变化,并且会带来巨大的开销;其次,资源调度关注于资源利用率以及单个任务的执行情况,但忽略了模型训练的整体任务完成质量。
技术实现思路
本专利技术的目的:面向云计算环境下分布式机器学习模型训练,提出一种云计算资源调度方法,在最大化多个模型的整体质量提升的前提下,提高云计算平台的物理资源利用率。本专利技术的原理:机器学习模型训练任务是反复迭代的过程,随着迭代次数增加,模型训练的收益逐渐减小,因此,分配更多的资源给那些可能获得更高收益的任务,可以提高整体的模型训练性能和资源利用率。本专利技术通过历史数据建立迭代次数与模型质量提升间的关联模型以在线预测资源分配对模型质量提升的影响,进而制定资源分配策略以达到在云计算平台运行的多个并发执行的模型训练任务的整体性能最大化的效果,从而提高资源利用率,快速适应任务和负载的动态变化。本专利技术技术解决方案:一种面向分布式机器学习的云计算资源调度方法,其特点在于实现步骤如下:第一步,在线资源调度策略的制定和实施,每隔T时间执行一次,预测机器学习在将来的T时间内执行迭代次数为:iter=(T×r)/(c×S),其中,c是由算法复杂度所决定的常数,S是每次迭代处理的数据量,r是分配的单位资源;第二步,每个机器学习任务j在t时刻分配资源aj,定义收益损失函数为:Lossj(aj,t)=,其中,k为到t时刻的迭代次数,,b,c为常数,可以通过历史迭代次数以及损失函数值计算求解;第四步,为每个任务j分配单位资源r,预测资源分配后得到的收益损失值变化为:,将该资源分配给收益损失值变化最大的任务j,更新aj=aj+r;第五步,在满足条件:,表示任务j分配资源aj总和不大于资源池中可分配资源的总量C下,重复第四步,从而达到,即在云计算平台并发执行的J个任务在将来T时间内的收益损失减少量最大化。本专利技术与现有技术相比具有如下优点:(1)通过历史数据建立迭代次数与模型质量提升间的关联模型,能够在线预测资源分配对模型质量提升的影响;(2)能够从整体上考虑在云计算平台运行的多个并发执行的模型训练任务的性能,提高资源利用率,快速适应任务和负载的动态变化。附图说明图1为云计算调度框架。具体实施方式以下结合具体实施例和附图对本专利技术进行详细说明,如图1所示,本专利技术实施例方法流程:建立资源调度框架如图1所示,调度器用来协调共享云计算资源的多个机器学习模型训练作业的资源分配。作业驱动程序包含迭代训练逻辑,为每个迭代生成任务,并跟踪作业的整体进度。调度器与并发执行作业的驱动程序进行通信,跟踪作业进度并定期更新资源分配。在每个调度阶段的开始阶段,本文档来自技高网
...

【技术保护点】
1.一种面向分布式机器学习的云计算资源调度方法方法,其特征在于实现步骤如下:第一步,预测机器学习在将来的T时间内执行迭代次数为:f(r)=ar,其中,r是分配给任务的资源数量,a=T/(c×S),S是每次迭代处理的数据量,c根据历史监测数据求解得到的常量,T是资源调整的周期;第二步,计算收益损失:Loss(r) =,其中,f(r)为迭代次数,, b, c为常数,可以通过历史迭代次数以及损失函数值计算得到;第三步,预测资源分配后得到的收益损失值变化为:,其中,aj为任务j分配的资源数量;第四步,将单位资源r分配给收益损失值变化最大的任务j,更新aj= aj + r,其中,aj为任务j分配的资源数量;第五步,在满足条件:,表示任务j分配资源aj总和不大于资源池中可分配资源的总量C下,重复第四步,从而达到,即在云计算平台并发执行的J个任务在将来T时间内的收益损失减少量最大化;第六步,根据以上计算结果,为每个任务分配资源。

【技术特征摘要】
1.一种面向分布式机器学习的云计算资源调度方法方法,其特征在于实现步骤如下:第一步,预测机器学习在将来的T时间内执行迭代次数为:f(r)=ar,其中,r是分配给任务的资源数量,a=T/(c×S),S是每次迭代处理的数据量,c根据历史监测数据求解得到的常量,T是资源调整的周期;第二步,计算收益损失:Loss(r)=,其中,f(r)为迭代次数,,b,c为常数,可以通过历史迭代次数以及损失函数值计算得到;第三...

【专利技术属性】
技术研发人员:周红卫刘延新李亚琼李守超吴昊
申请(专利权)人:江苏润和软件股份有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1