【技术实现步骤摘要】
一种分布式训练方法、梯度通信方法、装置以及计算设备
[0001]本专利技术涉及数据处理
,具体涉及一种深度神经网络的分布式训练方法、梯度通信方法、装置以及计算设备。
技术介绍
[0002]随着深度神经网络(deep neural networks,DNNs)的规模及训练数据集的日趋变大,导致其训练需要巨大的算能、存储空间、通信带宽和功耗。当前主流DNNs训练平台基于分布式多节点系统,利用并行计算特点,大大加速训练进程。然而,频繁的梯度交换通信增加了传输带宽压力,导致平台扩展能力低和通信时间长等问题。因此,通信时间成为分布式训练发展瓶颈。
[0003]梯度压缩作为很有潜力的方法,通过降低通信量来加速分布式训练,其主要有梯度量化和梯度稀疏两种策略。梯度量化通过降低梯度数据位宽,实现梯度数据压缩。梯度稀疏则通过相关评判方法选出重要梯度先进行参数更新,其余不重要梯度也称延迟梯度(或延时梯度),在本地与上次迭代留下的延迟梯度相累加,且不进行参数更新。
[0004]然而,在高稀疏率情况下,一方面,由于梯度信息的缺失 ...
【技术保护点】
【技术特征摘要】
1.一种梯度通信方法,应用于深度神经网络的分布式训练框架中,所述分布式计算框架包括多个计算节点,并在每个计算节点上执行如下步骤:在每个迭代步中,从训练数据集中获取训练数据子集,计算所述深度神经网络的网络参数在所述训练数据子集上的梯度,作为本地梯度;采用稀疏通信和密集通信交替的方式,与其他计算节点交换彼此的本地梯度,其中,稀疏通信是指对本地梯度进行稀疏化处理后与其他计算节点进行梯度交换的通信方式,密集通信是指未对本地梯度进行稀疏化处理直接与其他计算节点进行梯度交换的通信方式,在稀疏通信方式下,与其他计算节点交换彼此的重要梯度,重要梯度是梯度值大于预设阈值的本地梯度,在密集通信方式下,与其他计算节点交换彼此的全部本地梯度。2.如权利要求1所述的方法,其中,所述稀疏通信和密集通信交替的方式包括:执行预定次数的稀疏通信后,执行一次密集通信。3.如权利要求1或2所述的方法,其中,在与其他计算节点交换彼此的重要梯度的步骤之前,还包括:对所述深度神经网络的每一网络层,从该网络层对应的本地梯度中按照梯度值从大到小的顺序,选取预定数目个本地梯度作为重要梯度。4.如权利要求1至3中任一所述的方法,其中,所述与其他计算节点交换彼此的重要梯度,包括:对所述深度神经网络的每一网络层,基于该网络层的重要梯度,对该网络层的梯度张量进行稀疏化处理,形成稀疏梯度张量,其中所述梯度张量为该网络层的所有本地梯度构成的张量;对所述稀疏梯度张量进行编码后,发送到其他计算节点。5.如权利要求4所述的方法,所述对该网络层的梯度张量进行稀疏化处理,包括:将所述梯度张量中除重要梯度之外的本地梯度置零。6.如权利要求4或5所述的方法,其中,所述编码为游程编码。7.如权利要求1至6中任一项所述的方法,其中,在与其他计算节点交换彼此的本地梯度的步骤之前,还包括:将本地梯度更新为本地梯度与上一次迭代的延迟梯度之和。8.如权利要求1至7中任一项所述的方法,其中,在与其他计算节点交换彼此的全部本地梯度的步骤之前,还包括:将本次迭代的延迟梯度置零。9.如权利要求1至8中任一项所述所述的方法,其中,在与其他计算节点交换彼此的重要梯度的步骤之前,还包括:将除了重要梯度之外的本地梯度存储为本次迭代的延迟梯度。10.如权利要求1至9中任一项所述的方法,其中,所述与其他计算节点交换彼此的本地梯度,包括:采用All-reduce的方式与其他计算节点进行通信,交换彼此的本地梯度。11.一种分布式训练方法,应用于深度神经网络的分布式训练框架中,所述分布式计算框架包括多个计算节点,并在每个计算节点上执行如下步骤:在每个迭代步中,从训练数据集中获取批量训练数据子集,计算所述深度神经网络的网络参数在所述训练数据子集上的梯度,作为本地梯度;采用稀疏通信和密集通信交替的方式,与其他计算节点交换彼此的本地梯度,其中,稀疏通信是指对本地梯度进行稀疏化处理后与其他计算节点进行梯度交换的通信方式,密集通信是指未对本地梯度进行稀疏化处理直接与其他计算节点进行梯度交换的通信方式,在
稀疏通信方式下,与其他计算节点交换彼此的重要梯度,重要梯度是梯度值大于预设阈值的本地梯度,在密集通信方式下,与其他计算节点交换彼此的全部本地梯度;计算所有计算节点在当前迭代步中所交换的本地梯度的梯度平均值,基于所述梯度平均值对所述深度神经网络的网络参数进行更新。12.如权利要求11所述的方法,其中,在与其他计算节点交换彼此的本地梯度的步骤之前...
【专利技术属性】
技术研发人员:陈世达,刘强,韩亮,焦阳,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。