分布式训练方法、梯度通信方法、装置及电子设备与流程

文档序号:33722943发布日期:2023-04-05 23:14阅读:41来源:国知局
分布式训练方法、梯度通信方法、装置及电子设备与流程

本公开涉及人工智能领域,尤其涉及深度学习。


背景技术:

1、随着深度神经网络(deep neural networks,dnns)的规模及训练数据集的日趋变大,在dnns中引入了分布式训练框架,利用多个计算节点进行分布式训练,以减少深度神经网络的训练时间。

2、在分布式训练框架中,每个计算节点具有相同的模型副本,然后每次迭代读取数据集中不同批次的数据来训练本地的模型参数,并在每次更新模型参数之前,所有计算节点都需要进行通信,以实现不同计算节点之间的梯度同步。但是,当计算节点的梯度为稀疏梯度时,稀疏梯度中只有部分梯度数据为有效值,其余数据均为无效值,此时若依然按照稠密梯度的通信方式传输稀疏梯度,则会传输稀疏梯度中包括无效值的所有数据,从而会产生大量的无用通信,消耗了大量的通信资源,进而影响深度神经网络分布式训练的通信性能。


技术实现思路

1、本公开提供了一种用于深度神经网络的分布式训练方法、梯度通信方法、装置、设备以及存储介质。

2、根据本公开的一方面,提供了一种梯度通信方法,应用于深度神经网络的分布式训练框架中,所述分布式训练框架包括多个计算节点,所述方法由每个计算节点执行,所述方法包括:利用第一通信方式,与其他计算节点交换各自的有效参数,其中,所述有效参数为所述计算节点对应稀疏梯度中有效梯度的行数,所述有效梯度为所述计算节点对应稀疏梯度中有效部分的梯度数据;基于所有计算节点的有效参数,确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式,其中,所述有效行参数是表示所述稀疏梯度与所述有效梯度映射关系的数组;利用所述第二通信方式,与其他计算节点交换各自的有效行参数和有效梯度。

3、根据本公开的另一方面,提供了一种分布式训练方法,应用于深度神经网络的分布式训练框架中,所述分布式训练框架包括多个计算节点,所述方法由每个计算节点执行,所述方法包括:利用第一通信方式,与其他计算节点交换各自的有效参数,其中,所述有效参数为所述计算节点对应稀疏梯度中有效梯度的行数,所述有效梯度为所述计算节点对应稀疏梯度中有效部分的梯度数据;基于所有计算节点的有效参数,确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式,其中,所述有效行参数是表示所述稀疏梯度与所述有效梯度映射关系的数组;利用所述第二通信方式,与其他计算节点交换各自的有效行参数和有效梯度,得到所有计算节点的有效行参数和汇聚后的有效梯度;基于所有计算节点的有效行参数和所述汇聚后的有效梯度,确定目标稀疏梯度;基于所述目标稀疏梯度对所述深度神经网络的网络参数进行更新。

4、根据本公开的另一方面,提供了一种分布式训练装置,包括:第一通信模块,用于利用第一通信方式,与其他计算节点交换各自的有效参数,其中,所述有效参数为所述计算节点对应稀疏梯度中有效梯度的行数,所述有效梯度为所述计算节点对应稀疏梯度中有效部分的梯度数据;第一确定模块,用于基于所有计算节点的有效参数,确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式,其中,所述有效行参数是表示所述稀疏梯度与所述有效梯度映射关系的数组;第二通信模块,用于利用所述第二通信方式,与其他计算节点交换各自的有效行参数和有效梯度,得到所有计算节点的有效行参数和汇聚后的有效梯度;第二确定模块,用于基于所有计算节点的有效行参数和所述汇聚后的有效梯度,确定目标稀疏梯度;参数更新模块,用于基于所述目标稀疏梯度对所述深度神经网络的网络参数进行更新。

5、根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少 个处理器执行,以使所述至少一个处理器能够执行本公开的梯度通信方法和分布式训练方法。

6、根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本公开的梯度通信方法和分布式训练方法。

7、根据本公开的另一方面,提供了一种计算机程序产品,所述计算机程序被处理器执行时实现本公开的梯度通信方法和分布式训练方法。

8、本公开相比于现有技术具备以下有益效果:

9、通过不同阶段向其他计算节点交换有效参数、有效行参数和有效梯度,并根据所有计算节点的有效参数确定与其他计算节点交换有效行参数和有效梯度的通信方式,从而确保每个阶段均采用最佳的集合通信方式与其他计算节点交换数据,进而使得仅需与其他节点交换有效数据,节约了通信资源,提升了深度神经网络分布式训练的通信性能。

10、应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。



技术特征:

1.一种梯度通信方法,应用于深度神经网络的分布式训练框架中,所述分布式训练框架包括多个计算节点,所述方法由每个计算节点执行,所述方法包括:

2.如权利要求1所述的方法,其中,所述利用第一通信方式,与其他计算节点交换各自的有效参数之前,还包括确定所述有效参数;

3.如权利要求1所述的方法,其中,所述基于所有计算节点的有效参数,确定向所述其他计算节点发送有效行参数和有效梯度的第二通信方式,包括:

4.如权利要求1所述的方法,其中,还包括:

5.一种分布式训练方法,应用于深度神经网络的分布式训练框架中,所述分布式训练框架包括多个计算节点,所述方法由每个计算节点执行,所述方法包括:

6.如权利要求5所述的方法,其中,所述利用第一通信方式,与其他计算节点交换各自的有效参数之前,还包括确定所述有效参数;

7.如权利要求5所述的方法,其中,所述基于所有计算节点的有效参数,确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式,包括:

8.如权利要求7所述的方法,其中,还包括:

9.如权利要求5至7中任一项所述的方法,其中,还包括:

10.一种分布式训练装置,包括:

11.如权利要求10所述的装置,还用于:

12.如权利要求10所述的装置,其中,第一确定模块,具体用于:

13.如权利要求10所述的装置,还用于:

14.如权利要求10至13中任一项所述的装置,还用于:

15.一种电子设备,包括:

16.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行权利要求1-9中任一项所述的方法。

17.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现权利要求1-9中任一项所述的方法。


技术总结
本公开公开了一种分布式训练方法、梯度通信方法、装置及电子设备,涉及人工智能领域,尤其涉及深度学习领域。具体实现方案为:利用第一通信方式,与其他计算节点交换各自的有效参数,其中,有效参数为计算节点对应稀疏梯度中有效梯度的行数,有效梯度为计算节点对应稀疏梯度中有效部分的梯度数据;基于所有计算节点的有效参数,确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式,其中,有效行参数是表示稀疏梯度与有效梯度映射关系的数组;利用第二通信方式,与其他计算节点交换各自的有效行参数和有效梯度。本公开实施例节约了通信资源,提升了深度神经网络分布式训练的通信性能。

技术研发人员:沈亮,于佃海
受保护的技术使用者:北京百度网讯科技有限公司
技术研发日:
技术公布日:2024/1/12
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1