深度卷积神经网络的分布式训练方法、设备和存储介质技术

技术编号:28225336 阅读:38 留言:0更新日期:2021-04-28 09:58
本发明专利技术涉及深度卷积神经网络的分布式训练方法、设备和存储介质,通过混合采用参数服务器的同步参数更新策略和异步参数更新策略,避免了因木桶效应造成的更新全局参数等待时间过长的问题,缓解了因梯度过时导致的梯度下降过程不稳定,加快了模型的分布式并行训练速度,提高了模型的收敛速度和精度。提高了模型的收敛速度和精度。提高了模型的收敛速度和精度。

【技术实现步骤摘要】
深度卷积神经网络的分布式训练方法、设备和存储介质


[0001]本专利技术涉及深度学习领域,更具体地,涉及深度卷积神经网络的分布式训练方法、设备和存储介质。

技术介绍

[0002]在深度学习中神经网络模型训练的目标是找到使损失函数值达到最小的最优模型参数,而深度卷积神经网络需要训练的参数个数可能达到千万以上。深度卷积神经网络通常采用海量数据进行训练且在每次迭代训练中需对所有参数进行更新,故存在模型训练速度慢的缺点。深度卷积神经网络模型的训练速度的提升主要从以下三方面进行研究:I)对神经网络结构进行改进,以减少训练参数的数量;II)对参数寻优策略进行改进,如随机梯度下降法,以快速找到最佳模型参数;III)分布式并行训练模型,以利用更多的计算资源来加快模型训练。
[0003]异构集群是由多个不同硬件配置的节点构成的分布式计算机集群,每个节点由若干个CPU和GPU等不同计算设备组成。在异构集群中,各节点之间计算资源的不同会导致各节点的模型训练速度存在差异。在深度卷积神经网络模型的分布式并行训练中,由于同步参数更新策略在异构集群中存在较明显的木桶效应问题,而异步参数更新策略在异构集群中存在较严重的梯度过时问题。
[0004]在异构集群中若采用同步参数更新策略,则每次更新全局参数都需要所有工作节点的模型的参数梯度会导致木桶效应的出现,即当计算能力较强的工作节点已完成一次模型训练并将参数梯度发送给参数服务器节点时,计算能力较弱的节点仍在训练模型,参数服务器节点开始更新全局参数的时间取决于集群中模型训练速度最慢的工作节点,这会显著加长更新全局参数的等待时间,同时因模型训练速度较快的工作节点处于空闲状态会造成大量计算资源的浪费。
[0005]在异构集群中若采用异步参数更新策略,则参数服务器节点接收到某工作节点发送过来的参数梯度就立刻开始全局参数的更新,不必等待其它工作节点发送参数梯度,显著减少了更新全局参数的等待时间。但全局参数的更新会出现梯度过时的问题,这会导致梯度下降的过程变得不稳定,因此异步参数更新可能会降低模型的收敛速度和精度。
[0006]现有的技术中,中国专利技术专利CN103391217B公开了“实现异构集群设备同步的方法和异构集群系统”,公开日为2016年08月10日,包括以下步骤:根据第一集群设备的网络接口的数量,第二集群设备将其网络接口配置为多个虚拟网络接口;第二集群设备检测到第一集群设备出现故障时,将第一集群设备的网络接口的配置对应切换至第二集群设备的网络接口;第二集群设备接收网络协议栈发送至其网络接口的数据包,将数据包分发至相应的网络接口进行处理;该专利技术中,使得集群系统中集群设备的网络接口的配置可以同步,从而降低了异构集群系统组建的复杂性,但是存在较明显的木桶效应问题。

技术实现思路

[0007]本专利技术为解决若采用同步参数更新策略,则在异构集群中存在木桶效应问题;若采用异步参数更新策略,则在异构集群中存在梯度过时问题的技术缺陷,提供了深度卷积神经网络的分布式训练方法、设备和存储介质。
[0008]为实现以上专利技术目的,采用的技术方案是:
[0009]深度卷积神经网络的分布式训练方法,包括以下步骤:
[0010]S1:初始化深度卷积神经网络中集群的主节点的所有参数,并广播到各工作节点,再根据各工作节点的数量将所有训练数据均分为若干个训练子集;
[0011]S2:各工作节点读取一个训练子集并根据深度卷积神经网络的初始化参数来训练一个深度卷积神经网络模型;
[0012]S3:各工作节点将各自训练的深度卷积神经网络模型得到的参数梯度和训练时间汇总给集群的主节点;
[0013]S4:集群的主节点根据各工作节点的训练时间将各工作节点划分为不同的子集群;
[0014]S5:根据子集群的个数和训练速度最慢的子集群中的工作节点数量进行判断,来选择子集群的参数服务器节点;
[0015]S6:集群的参数服务器主节点根据各工作节点的参数梯度来更新全局参数,各子集群的参数服务器节点从参数服务器主节点拉取最新的全局参数,而各子集群内各工作节点也从其所属的参数服务器节点拉取最新的全局参数;
[0016]S7:集群的主节点根据新的工作节点数量将所有训练数据均分为与新的工作节点数量等量的训练子集;
[0017]S8:各工作节点读取各自的训练子集并根据最新的全局参数分别执行一次训练;
[0018]S9:各子集群内各工作节点将训练一次深度卷积神经网络模型得到的参数梯度发送给其所属的参数服务器节点,各子集群的参数服务器节点接收到其内所有工作节点的参数梯度后计算子集群的平均参数梯度;
[0019]S10:当子集群的参数服务器节点完成平均参数梯度的计算后,向集群的参数服务器主节点发送该子集群的平均参数梯度g
mean
和当前迭代次数t
x
,参数服务器主节点加权更新全局参数,待全局参数更新后该子集群的参数服务器节点将从参数服务器主节点拉取最新的全局参数,同时该子集群内各工作节点将从该参数服务器节点拉取最新的全局参数;
[0020]S11:集群的参数服务器主节点判断深度卷积神经网络模型是否已收敛,若否,则返回S8,若是,则停止训练,输出最终的深度卷积神经网络模型。
[0021]上述方案中,通过混合采用参数服务器的同步参数更新策略和异步参数更新策略,避免了因木桶效应造成的更新全局参数等待时间过长的问题,缓解了因梯度过时导致的梯度下降过程不稳定,加快了模型的分布式并行训练速度,提高了模型的收敛速度和精度。
[0022]在步骤S4中,包括以下步骤:
[0023]S41:将各工作节点的训练时间取倒数并归一化,由此构造各工作节点的训练速度的差值矩阵;
[0024]S42:采用基于密度的自适应聚类算法DBSCAN对训练速度的差值矩阵进行聚类分
析,将训练速度相近的工作节点聚为一类即划分为一个子集群。
[0025]所述差值矩阵为:
[0026][0027]VD
n,m
代表工作节点n与工作节点m的模型训练速度的差值的绝对值(1≤n,m≤N)。
[0028]自适应聚类算法DBSCAN的参数设置如下:∈

邻域的距离阈值设置为0.3~0.7,∈

邻域的距离阈值的样本数阈值设置为3~7,距离度量采用欧式距离,最近邻算法使用KD树,停止建子树的叶子节点数量阈值设置为20~40。
[0029]∈

邻域的距离阈值设置为0.5,∈

邻域的距离阈值的样本数阈值设置为5,停止建子树的叶子节点数量阈值设置为30。
[0030]在步骤S5中,子集群的个数为M,工作节点数量为K;
[0031]若K≥M+1,则从训练速度最慢的子集群中根据工作节点的训练速度的升序排列选择M个节点作为M个子集群的参数服务器节点;
[0032]若K=M,则从训练速度最慢的子集群中根据工作节点本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.深度卷积神经网络的分布式训练方法,其特征在于,包括以下步骤:S1:初始化深度卷积神经网络中集群的主节点的所有参数,并广播到各工作节点,再根据各工作节点的数量将所有训练数据均分为若干个训练子集;S2:各工作节点读取一个训练子集并根据深度卷积神经网络的初始化参数来训练一个深度卷积神经网络模型;S3:各工作节点将各自训练的深度卷积神经网络模型得到的参数梯度和训练时间汇总给集群的主节点;S4:集群的主节点根据各工作节点的训练时间将各工作节点划分为不同的子集群;S5:根据子集群的个数和训练速度最慢的子集群中的工作节点数量进行判断,来选择子集群的参数服务器节点;S6:集群的参数服务器主节点根据各工作节点的参数梯度来更新全局参数,各子集群的参数服务器节点从参数服务器主节点拉取最新的全局参数,而各子集群内各工作节点也从其所属的参数服务器节点拉取最新的全局参数;S7:集群的主节点根据新的工作节点数量将所有训练数据均分为与新的工作节点数量等量的训练子集;S8:各工作节点读取各自的训练子集并根据最新的全局参数分别执行一次训练;S9:各子集群内各工作节点将训练一次深度卷积神经网络模型得到的参数梯度发送给其所属的参数服务器节点,各子集群的参数服务器节点接收到其内所有工作节点的参数梯度后计算子集群的平均参数梯度;S10:当子集群的参数服务器节点完成平均参数梯度的计算后,向集群的参数服务器主节点发送该子集群的平均参数梯度g
mean
和当前迭代次数t
x
,参数服务器主节点加权更新全局参数,待全局参数更新后该子集群的参数服务器节点将从参数服务器主节点拉取最新的全局参数,同时该子集群内各工作节点将从该参数服务器节点拉取最新的全局参数;S11:集群的参数服务器主节点判断深度卷积神经网络模型是否已收敛,若否,则返回S8,若是,则停止训练,输出最终的深度卷积神经网络模型。2.根据权利要求1所述的深度卷积神经网络的分布式训练方法,其特征在于,在步骤S4中,包括以下步骤:S41:将各工作节点的训练时间取倒数并归一化,由此构造各工作节点的训练速度的差值矩阵;S42:采用基于密度的自适应聚类算法DBSCAN对训练速度的差值矩阵进行聚类分析,将训练速度相近的工作节点聚为一类即划分为一个子集群。3.根据权利要求2所述的深度卷积神经网络的分布式训练方法,其特征在于,所述差值矩阵为:VD
n,m
代表工作节点n与工作节点m的模型训练速度的差值的绝对值(1≤n,m≤N)。4.根据权利要求2所述的深度卷积神经网络的分布式训练方法,其特征在于,自适应聚类算法DBSCAN的参数设置如下:∈

邻域的距离阈值设置为0.3~0.7,∈

【专利技术属性】
技术研发人员:万烂军龚坤张根李泓洋李长云肖满生谭永新
申请(专利权)人:湖南工业大学
类型:发明
国别省市:

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

1