一种基于硬件监测自适应分布式机器学习训练加速方法技术

技术编号:37163098 阅读:20 留言:0更新日期:2023-04-06 22:30
本发明专利技术公开了一种基于硬件监测自适应分布式机器学习训练加速方法,首先建立基于参数服务器的分布式神经网络训练系统,并利用工具建立资源探测系统获取操作系统级别的硬件信息以及资源利用情况。其次参数服务器通过性能监测模型得到工作节点的性能参数,参数服务器以收集到的性能参数为依据,预测集群中各节点未来训练走向,选择最优同步时机作为同步标记,使得此时刻进行全局同步所产生的同步时延最小。最后如果工作节点到达了同步标记,则进行全局同步,如果没有,则继续训练本地模型,直至机器学习模型收敛。本发明专利技术有效得减少了各节点的同步等待时间,从而有效缓解了滞后问题,大大提高了机器学习模型训练的性能。大大提高了机器学习模型训练的性能。大大提高了机器学习模型训练的性能。

【技术实现步骤摘要】
一种基于硬件监测自适应分布式机器学习训练加速方法


[0001]本专利技术属于分布式机器学习加速
,具体是一种基于硬件监测自适应分布式机器学习训练加速方法。

技术介绍

[0002]机器学习特别是深度学习,已成为人工智能领域的核心研究内容之一,人工智能应用正在得到飞速发展,例如自动驾驶、人脸识别等。然而,随着机器学习数据集以及深度学习模型规模的不断增加,使用单机训练机器学习模型已经不能适应大数据环境,使用单机通常需要几周或者更久来训练机器学习模型,这需要将传统机器学习分布式化,在多个节点上分散工作量,以加快机器学习的训练速度。
[0003]在分布式机器学习框架中,工作节点和参数服务器之间的通信是必不可少的环节,工作节点会将本轮训练后的机器学习模型传输给参数服务器,参数服务器计算得到全局模型再传输给工作节点。但由于受分布式环境中网络,节点性能差异等因素影响,通信往往会产生不可忽视的时延,所以设计一个高效的通信策略能大大加快分布式集群计算速度。
[0004]整体同步并行通信策略BSP(Bulk Synchronous Parallel)是分布式训练中的主流通信模型。BSP模型中通过同步屏障来限制每个工作节点的迭代次数,当工作节点达到这个同步屏障后,就会暂停训练,等到所有的工作节点都达到同步屏障后,会进行一次全局同步,每个工作节点都发送自己的训练模型到参数服务器,参数服务器计算出新的全局模型后再将该全局模型分发到工作节点中,每个工作节点将用这个新的模型来开始下一轮训练。但由于分布式环境中各个节点性能差异,慢节点往往会拖累这个集群的进度。
[0005]为了解决BSP模型中出现的问题,Dean等人提出了分布式机器学习异步迭代方案(Asynchronous Parallel)。在ASP模型中,每个工作节点都异步训练,完成一轮训练之后就与参数服务器通信交换模型,不用等待别的工作节点,极大利用了工作节点的计算性能。但该方法过度利用了机器学习的容错性,由于ASP模型中各个节点的不可控性,往往会导致快节点和慢节点之间迭代差数过大,最后使得机器学习模型无法收敛。结合BSP模型和ASP模型的特点,Ho等人提出了相应的方法—延迟同步并行方法SSP(Stale Synchronous Parallel)。在SSP模型中,定义了一个延迟参数,表示工作节点之间允许的最大迭代差,当工作节点之间的迭代差小于延迟参数的时候,工作节点会使用异步的形式通信,当达到延迟参数后,工作节点会进入同步等待,直到所有工作节点都完成本轮训练后会进行一次全局同步。但是SSP模型中的延迟参数由开发人员设计且训练过程中不变,根据这个参数选取的同步时机,在动态变化的分布式集群环境中,不一定是最优解。因此如何提高分布式机器学习模型训练的性能是一个迫切需要解决的问题。

技术实现思路

[0006]本专利技术提出了一种基于硬件监测自适应分布式机器学习训练加速方法,要解决的
技术问题是:在异构分布式集群中,如何减小集群性能差异对分布式机器学习模型训练带来的同步等待问题,在保证一定准确率的前提下,解决滞后问题,提高模型训练的整体性能。
[0007]在基于迭代式训练的分布式机器学习模型中,各计算节点不断地训练本地模型,得到本地计算结果后提交到参数服务器更新,随后从参数服务器获取最新的全局参数后进入下一轮迭代。传统的分布式机器学习模型训练时,选定的同步时机不能适应动态变化的分布式环境,往往不是最优时机,例如SSP中的延迟阈值。本专利技术解决其技术问题采用的方案是:本专利技术首先通过性能监控模块实现计算节点性能参数的实时获取,其次根据性能参数对预测出集群未来训练走向,选择最优的同步时机来进行全局同步。
[0008]具体步骤如下:
[0009]步骤1:建立基于参数服务器的分布式神经网络训练系统。
[0010]所述的分布式神经网络训练系统,共有两类节点,分别为工作节点与参数服务器,工作节点用于根据本地数据集训练机器学习模型,参数服务器用于接受各个工作节点的本地模型,然后聚合得到新的全局模型再发送给工作节点。参数服务器与工作节点间采用点对点的方式进行通信。
[0011]步骤2:建立资源探测系统。
[0012]利用开源工具Ganglia建立资源探测系统。该系统可获取操作系统级别的硬件信息,部署在工作节点上用于实时获取各节点的资源利用情况。
[0013]步骤3:参数服务器通过性能监测模型,得到工作节点相应的性能参数。
[0014]步骤4:参数服务器以收集到的性能参数为依据,计算出各个工作节点训练一轮本地模型所需要的时间比值,根据这个时间比值预测出分布式集群未来训练走向,选择最优同步时机作为同步标记,使得此时刻进行全局同步所产生的同步时延最小。
[0015]步骤5:如果工作节点到达了同步标记,则进行全局同步,发送自己的本地模型到参数服务器,等待参数服务器收集所有工作节点的本地模型后计算得到新的全局模型,然后接收从参数服务器发送的全局模型。如果没有到达同步标记,则继续训练本地模型。
[0016]步骤6:重复步骤3至步骤5,直至机器学习模型收敛。
[0017]本专利技术的有益效果:本专利技术采用参数服务器与资源探测系统实现,首先以参数服务器作为主节点,其余节点作为工作节点进行机器学习训练为实现架构对分布式系统内的节点进行划分。随后在该分布式系统内部署资源探测系统与任务调度系统训练机器学习模型。本专利技术通过使用基于Ganglia的资源探测系统,实时监测各工作节点性能情况,并预测出集群未来训练时间,选取最优同步时机,有效得减少了各节点的同步等待时间,从而有效缓解了滞后问题,大大提高了模型训练的性能。
附图说明
[0018]图1是本专利技术的训练流程图;
[0019]图2是一个基于Caffe的分布式机器学习框架;
[0020]图3是现有技术三个节点完成同步的示意图;
[0021]图4是本专利技术节点完成同步的示意图;
[0022]图5是几种同步通信策略的性能对比。
具体实施方式
[0023]下面结合附图和具体实施步骤对本专利技术做了进一步的说明,一种基于硬件监测自适应分布式机器学习训练加速方法整体流程如图1所示,包括如下步骤:
[0024]步骤1:建立基于参数服务器的分布式神经网络训练系统。所述的分布式神经网络训练系统,共有两类节点,分别为工作节点与参数服务器,工作节点用于根据本地数据集计算机器学习模型,参数服务器用于接受各个工作节点的本地模型然后聚合得到新的全局模型再发送给工作节点。参数服务器与工作节点间采用点对点的方式进行通信。
[0025]如图2所示,本专利技术采用多线程的方式实现参数服务器,参数服务器上每个通信线程对应一个计算节点,用于维持参数服务器与计算节点之间的通信;同时,参数服务器上专门设置了一个参数聚合线程作为参数更新管理器,用于处理全局模型参数的更新,并将聚合得到的新的全局参数通过通信线程传输给工作节点。工作节点中设立多个计算进程来进行本地模型的计算。...

【技术保护点】

【技术特征摘要】
1.一种基于硬件监测自适应分布式机器学习训练加速方法,其特征在于,包括如下具体步骤:步骤1:建立基于参数服务器的分布式神经网络训练系统;步骤2:建立资源探测系统,获取操作系统级别的硬件信息,部署在工作节点上用于实时获取各工作节点的资源利用情况;步骤3:参数服务器通过性能监测模型,得到工作节点相应的性能参数;步骤4:参数服务器以收集到的性能参数为依据,计算出各个工作节点训练一轮本地模型的时间比值,根据这个时间比值预测出分布式集群未来训练走向,选择最优同步时机作为同步标记,使得此时刻进行全局同步所产生的同步时延最小;步骤5:如果工作节点到达了同步标记,则进行全局同步;如果没有到达同步标记,则继续训练本地模型;步骤6:重复步骤3至步骤5,直至机器学习模型收敛。2.根据权利要求1所述的一种基于硬件监测自适应分布式机器学习训练加速方法,其特征在于,步骤1中所述的分布式神经网络训练系统,共有两类节点,分别为工作节点与参数服务器;工作节点用于根据本地数据集训练机器学习模型,参数服务器用于接受各个工作节点的本地模型,然后聚合得到新的全局模型再发送给工作节点。3.根据权利要求2所述的一种基于...

【专利技术属性】
技术研发人员:徐沛然薛梅婷任永坚张纪林曾艳袁俊峰
申请(专利权)人:杭州电子科技大学
类型:发明
国别省市:

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

1