分布式机器学习参数更新方法技术

技术编号:39752215 阅读:7 留言:0更新日期:2023-12-17 23:50
本公开提供分布式机器学习参数更新方法

【技术实现步骤摘要】
分布式机器学习参数更新方法、装置及介质


[0001]本公开至少涉及机器学习
,尤其涉及一种分布式机器学习参数更新方法

服务节点

工作节点

分布式机器学习系统以及计算机可读存储介质


技术介绍

[0002]目前的模型参数分布式训练,在梯度或参数等信息的传输过程中,常采用
BSP(
批量同步并行,
Bulk Synchronous Parallel)

ASP(
异步并行,
Asynchronous Parallel)
两种通信模式
。BSP
模式中当全部工作节点发送梯度或参数等信息到参数服务器后,参数服务器才进行一次参数更新
。ASP
模式中当一个工作节点将梯度或参数等信息传回参数服务器时,参数服务器随即进行一次参数更新

[0003]在
BSP
模式中,由于各工作节点的性能差异会导致节点间同步等待时间较长,参数服务器因等待慢节点上传参数而延长训练时间,影响集群资源利用率


ASP
模式中,如果某些节点比其他节点慢很多,会导致快节点和慢节点之间迭代差数过大,影响模型收敛,破坏学习性能

此外,在分布式训练过程中,参数服务器与各个工作节点之间需要频繁地对梯度或参数等信息进行通信,随着集群规模和数据规模的增大,通信开销容易成为性能瓶颈

因此如何提高机器学习模型分布式训练的性能是一个迫切需要解决的问题


技术实现思路

[0004]本公开所要解决的技术问题是针对现有技术的上述不足,提供一种分布式机器学习参数更新方法

服务节点

工作节点

分布式机器学习系统以及计算机可读存储介质,以解决如何提高机器学习模型分布式训练的性能的问题

[0005]第一方面,本公开提供一种分布式机器学习参数更新方法,所述方法应用于服务节点

工作节点

或包括服务节点和多个工作节点的分布式机器学习系统,且包括:
[0006]在模型训练第一阶段,各工作节点各自每完成一次本地模型训练后,各工作节点与服务节点协作更新第一模型参数,直至达到模型训练第一阶段结束条件,获得各工作节点的同步周期和自身差异更新参数;
[0007]在模型训练第二阶段,各工作节点在每个同步周期内各自根据自身差异更新参数完成若干次本地模型训练后,各工作节点与服务节点协作更新第二模型参数,直至达到模型训练第二阶段结束条件,获得最终训练模型

[0008]第二方面,本公开提供一种服务节点,包括:
[0009]全局训练第一模块,用于在模型训练第一阶段,在各工作节点各自每完成一次本地模型训练后,与各工作节点协作更新第一模型参数,直至达到模型训练第一阶段结束条件,获得各工作节点的同步周期和自身差异更新参数;
[0010]全局训练第二模块,与全局训练第一模块连接,用于在模型训练第二阶段,在各工作节点在每个同步周期内各自根据自身差异更新参数完成若干次本地模型训练后,与各工作节点协作更新第二模型参数,直至达到模型训练第二阶段结束条件,获得最终训练模型

[0011]第三方面,本公开提供一种工作节点,包括:
[0012]本地训练第一模块,用于在模型训练第一阶段,每完成一次本地模型训练后,与其余工作节点和服务节点协作更新第一模型参数,直至达到模型训练第一阶段结束条件,获得与其余工作节点共同的同步周期和自身差异更新参数;
[0013]本地训练第二模块,与本地训练第一模块连接,用于在模型训练第二阶段,在每个同步周期内根据自身差异更新参数完成若干次本地模型训练后,与其余工作节点和服务节点协作更新第二模型参数,直至达到模型训练第二阶段结束条件,获得最终训练模型

[0014]第四方面,本公开提供一种分布式机器学习系统,包括服务节点和多个工作节点,且包括:
[0015]模型训练第一模块,用于在模型训练第一阶段,各工作节点各自每完成一次本地模型训练后,各工作节点与服务节点更新第一模型参数,直至达到模型训练第一阶段结束条件,获得各工作节点的同步周期和自身差异更新参数;
[0016]模型训练第二模块,与模型训练第一模块连接,用于在模型训练第二阶段,各工作节点在每个同步周期内各自根据自身差异更新参数完成若干次本地模型训练后,各工作节点与服务节点更新第二模型参数,直至达到模型训练第二阶段结束条件,获得最终训练模型

[0017]第五方面,本公开提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序被处理器运行时,实现如上所述的分布式机器学习参数更新方法

[0018]本公开提供分布式机器学习参数更新方法

服务节点

工作节点

分布式机器学习系统以及计算机可读存储介质,通过将机器学习的模型训练过程分为第一阶段和第二阶段,在第一阶段根据各工作节点每次完成本地模型训练的实际表现,获得用于第二阶段各工作节点进行本地模型训练的自身差异更新参数和用于控制第二阶段各工作节点同步模型参数的同步周期,通过第一阶段掌握各工作节点的性能差异,制定第二阶段的同步控制机制,在第二阶段,利用同步周期同时同步各工作节点各自进行若干次本地模型训练后的参数更新,减少服务节点的等待时长,减少各工作节点与服务节点之间通信的频繁度,提高了资源利用率,降低了通信开销,利用差异更新参数控制各工作节点在同一个同步周期内的本地模型训练次数,以减少各工作节点之间的迭代差,提高模型收敛性能

附图说明
[0019]图1是本公开实施例的一种分布式机器学习参数更新方法的流程图;
[0020]图2是本公开实施例的另一种分布式机器学习参数更新方法的流程图;
[0021]图3是本公开实施例的一种分布式机器学习参数更新方法第一阶段的流程图;
[0022]图4是本公开实施例的一种分布式机器学习参数更新方法第二阶段的流程图;
[0023]图5是本公开实施例的一种分布式机器学习参数更新方法的交互图;
[0024]图6是本公开实施例的一种服务节点的结构示意图;
[0025]图7是本公开实施例的一种工作节点的结构示意图;
[0026]图8是本公开实施例的一种分布式机器学习系统的结构示意图

具体实施方式
[0027]为使本领域技术人员更好地理解本公开的技术方案,下面将结合附图对本公开实施方式作进一步地详细描述

[0028]可以理解的是,此处描述的具体实施例和附图仅仅用于解释本公开,而非对本公开的限定

[0029]可以理解的是,在不冲本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种分布式机器学习参数更新方法,其特征在于,所述方法应用于服务节点

工作节点

或包括服务节点和多个工作节点的分布式机器学习系统,且包括:在模型训练第一阶段,各工作节点各自每完成一次本地模型训练后,各工作节点与服务节点协作更新第一模型参数,直至达到模型训练第一阶段结束条件,获得各工作节点的同步周期和自身差异更新参数;在模型训练第二阶段,各工作节点在每个同步周期内各自根据自身差异更新参数完成若干次本地模型训练后,各工作节点与服务节点协作更新第二模型参数,直至达到模型训练第二阶段结束条件,获得最终训练模型
。2.
根据权利要求1所述的方法,其特征在于,各工作节点各自每完成一次本地模型训练后,各工作节点与服务节点协作更新第一模型参数,直至达到模型训练第一阶段结束条件,获得各工作节点的同步周期和自身差异更新参数,具体包括:各工作节点各自根据每次来自服务节点的更新后全局模型参数完成一次本地模型训练,获得本次自身的本地模型参数和本地训练时间参数后,向服务节点发送本次自身的本地模型参数和本地训练时间参数,服务节点接收来自各工作节点本次各自的本地模型参数和本地训练时间参数;服务节点根据各工作节点每次的本地模型参数更新一次全局模型参数后,向各工作节点发送本次的更新后全局模型参数,各工作节点各自接收来自服务节点本次的更新后全局模型参数;直至更新全局模型参数达到
N
次,服务节点根据各工作节点的
N
次本地训练时间参数计算各工作节点的同步周期和各自的差异更新参数后,向各工作节点发送同步周期和各自的差异更新参数,各工作节点各自接收来自服务节点的同步周期和自身差异更新参数
。3.
根据权利要求2所述的方法,其特征在于,各工作节点各自根据每次来自服务节点的更新后全局模型参数完成一次本地模型训练,获得本次自身的本地模型参数和本地训练时间参数,具体包括:各工作节点各自判断自身当前本地模型训练次数
t
i
<N
后,根据自身的本地模型训练数据和来自服务节点本次的更新后全局模型参数
w
k
,基于小批量随机梯度下降算法完成自身当前第
t
i
次本地模型训练,以获得第一阶段本次自身的本地模型参数为以及本次自身的本地训练时间参数包括前向传播时间和反向传播时间其中
r
表示学习率,是反向传播计算梯度,并记录
t
i

t
i
+1。4.
根据权利要求3所述的方法,其特征在于,服务节点根据各工作节点每次的本地模型参数更新一次全局模型参数,具体包括:服务节点根据来自全部
M
个工作节点的本次的聚合得到本次的更新后全局模型参数为并记录全局模型更新次数
k

k+1。5.
根据权利要求4所述的方法,其特征在于,直至更新全局模型参数达到
N
次,服务节点根据各工作节点的
N
次本地训练时间参数计算各工作节点的同步周期和各自的差异更新参数,具体包括:
直至服务节点判断
k

N
,服务节点计算各工作节点各自
N
次训练的平均计算时间获得各工作节点共同的同步周期其中
T
为预设的同步周期阈值,计算各工作节点各自
N
次训练的平均反向传播时间获得各工作节点各自的差异更新参数获得各工作节点各自的差异更新参数其中
α
是一个大于1的整数常量
。6.
根据权利要求1‑5任一项所述的方法,其特征在于,各工作节点在每个同步周期内各自根据自身差异更新参数完成若干次本地模型训练后,各工作节点与服务节点协作更新第二模型参数,直至达到模型训练第二阶段结束条件,获得最终训练模型,具体包括:各工作节点各自将每个同步周期来自服务节点的更新后全局模型参数作为每个同步周期的初始模型,根据自身差异更新参数对每个同步周期的初始模型完成若干次本地模型训练,获得本同步周期自身的本地模型参数后,向服务节点发送本同步周期自身的本地模型参数,服务节点接收来自各工作节点本同步周期各自的本地模型参数;服务节点根据各工作节点每个同步周期的本地模型参数更新一次全局模型参数后,向各工作节点发送本同步周期的更新后全局模型参数,各工作节点各自接收来自服务节点本同步周期的更新后全局模型参数;直至服务节点判断当前达到...

【专利技术属性】
技术研发人员:贺鸣郭熹秦守浩马瑞涛程新洲
申请(专利权)人:中国联合网络通信集团有限公司
类型:发明
国别省市:

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

1