CN115906982B - 分布式训练方法、梯度通信方法、装置及电子设备 - Google Patents
分布式训练方法、梯度通信方法、装置及电子设备 Download PDFInfo
- Publication number
- CN115906982B CN115906982B CN202211426391.4A CN202211426391A CN115906982B CN 115906982 B CN115906982 B CN 115906982B CN 202211426391 A CN202211426391 A CN 202211426391A CN 115906982 B CN115906982 B CN 115906982B
- Authority
- CN
- China
- Prior art keywords
- effective
- parameters
- computing nodes
- gradients
- gradient
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004891 communication Methods 0.000 title claims abstract description 197
- 238000000034 method Methods 0.000 title claims abstract description 87
- 238000012549 training Methods 0.000 title claims abstract description 84
- 238000013528 artificial neural network Methods 0.000 claims abstract description 40
- 238000013507 mapping Methods 0.000 claims abstract description 16
- 238000003491 array Methods 0.000 claims abstract description 10
- 238000004590 computer program Methods 0.000 claims description 11
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 238000013135 deep learning Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 33
- 230000009467 reduction Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000009825 accumulation Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开公开了一种分布式训练方法、梯度通信方法、装置及电子设备,涉及人工智能领域,尤其涉及深度学习领域。具体实现方案为:利用第一通信方式,与其他计算节点交换各自的有效参数,其中,有效参数为计算节点对应稀疏梯度中有效梯度的行数,有效梯度为计算节点对应稀疏梯度中有效部分的梯度数据;基于所有计算节点的有效参数,确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式,其中,有效行参数是表示稀疏梯度与有效梯度映射关系的数组;利用第二通信方式,与其他计算节点交换各自的有效行参数和有效梯度。本公开实施例节约了通信资源,提升了深度神经网络分布式训练的通信性能。
Description
技术领域
本公开涉及人工智能领域,尤其涉及深度学习技术领域。
背景技术
随着深度神经网络(deep neural networks,DNNs)的规模及训练数据集的日趋变大,在DNNs中引入了分布式训练框架,利用多个计算节点进行分布式训练,以减少深度神经网络的训练时间。
在分布式训练框架中,每个计算节点具有相同的模型副本,然后每次迭代读取数据集中不同批次的数据来训练本地的模型参数,并在每次更新模型参数之前,所有计算节点都需要进行通信,以实现不同计算节点之间的梯度同步。但是,当计算节点的梯度为稀疏梯度时,稀疏梯度中只有部分梯度数据为有效值,其余数据均为无效值,此时若依然按照稠密梯度的通信方式传输稀疏梯度,则会传输稀疏梯度中包括无效值的所有数据,从而会产生大量的无用通信,消耗了大量的通信资源,进而影响深度神经网络分布式训练的通信性能。
发明内容
本公开提供了一种用于深度神经网络的分布式训练方法、梯度通信方法、装置、设备以及存储介质。
根据本公开的一方面,提供了一种梯度通信方法,应用于深度神经网络的分布式训练框架中,所述分布式训练框架包括多个计算节点,所述方法由每个计算节点执行,所述方法包括:利用第一通信方式,与其他计算节点交换各自的有效参数,其中,所述有效参数为所述计算节点对应稀疏梯度中有效梯度的行数,所述有效梯度为所述计算节点对应稀疏梯度中有效部分的梯度数据;基于所有计算节点的有效参数,确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式,其中,所述有效行参数是表示所述稀疏梯度与所述有效梯度映射关系的数组;利用所述第二通信方式,与其他计算节点交换各自的有效行参数和有效梯度。
根据本公开的另一方面,提供了一种分布式训练方法,应用于深度神经网络的分布式训练框架中,所述分布式训练框架包括多个计算节点,所述方法由每个计算节点执行,所述方法包括:利用第一通信方式,与其他计算节点交换各自的有效参数,其中,所述有效参数为所述计算节点对应稀疏梯度中有效梯度的行数,所述有效梯度为所述计算节点对应稀疏梯度中有效部分的梯度数据;基于所有计算节点的有效参数,确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式,其中,所述有效行参数是表示所述稀疏梯度与所述有效梯度映射关系的数组;利用所述第二通信方式,与其他计算节点交换各自的有效行参数和有效梯度,得到所有计算节点的有效行参数和汇聚后的有效梯度;基于所有计算节点的有效行参数和所述汇聚后的有效梯度,确定目标稀疏梯度;基于所述目标稀疏梯度对所述深度神经网络的网络参数进行更新。
根据本公开的另一方面,提供了一种分布式训练装置,包括:第一通信模块,用于利用第一通信方式,与其他计算节点交换各自的有效参数,其中,所述有效参数为所述计算节点对应稀疏梯度中有效梯度的行数,所述有效梯度为所述计算节点对应稀疏梯度中有效部分的梯度数据;第一确定模块,用于基于所有计算节点的有效参数,确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式,其中,所述有效行参数是表示所述稀疏梯度与所述有效梯度映射关系的数组;第二通信模块,用于利用所述第二通信方式,与其他计算节点交换各自的有效行参数和有效梯度,得到所有计算节点的有效行参数和汇聚后的有效梯度;第二确定模块,用于基于所有计算节点的有效行参数和所述汇聚后的有效梯度,确定目标稀疏梯度;参数更新模块,用于基于所述目标稀疏梯度对所述深度神经网络的网络参数进行更新。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少 个处理器执行,以使所述至少一个处理器能够执行本公开的梯度通信方法和分布式训练方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本公开的梯度通信方法和分布式训练方法。
根据本公开的另一方面,提供了一种计算机程序产品,所述计算机程序被处理器执行时实现本公开的梯度通信方法和分布式训练方法。
本公开相比于现有技术具备以下有益效果:
通过不同阶段向其他计算节点交换有效参数、有效行参数和有效梯度,并根据所有计算节点的有效参数确定与其他计算节点交换有效行参数和有效梯度的通信方式,从而确保每个阶段均采用最佳的集合通信方式与其他计算节点交换数据,进而使得仅需与其他节点交换有效数据,节约了通信资源,提升了深度神经网络分布式训练的通信性能。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开实施例提供的一种稠密梯度的结构示意图;
图2是根据本公开实施例提供的一种稀疏梯度的结构示意图;
图3是根据本公开实施例提供的一种梯度通信方法的流程示意图;
图4是根据本公开实施例提供的一种allreduce通信的示意图;
图5是根据本公开实施例提供的一种allgather通信的示意图;
图6是根据本公开实施例提供的一种broadcast通信的示意图;
图7是根据本公开实施例提供的一种梯度通信方法的流程示意图;
图8是根据本公开实施例提供的一种梯度通信方法的流程示意图;
图9是根据本公开实施例提出的一种稀疏梯度的三元组表示的示意图;
图10是根据本公开实施例提供的一种梯度通信方法的流程示意图;
图11是根据本公开实施例提供的一种分布式训练方法的流程示意图;
图12是根据本公开实施例提供的一种分布式训练方法的流程示意图;
图13是根据本公开实施例提供的一种分布式训练方法的流程示意图;
图14是根据本公开实施例提供的一种分布式训练方法的流程示意图;
图15是根据本公开实施例提供的一种分布式训练方法的流程示意图;
图16是根据本公开实施例提供的一种分布式训练装置的结构示意图;
图17是用来实现本公开实施例的神经网络的训练方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
其中,深度神经网络的分布式训练方法包括:
(1)计算节点在每个训练步骤中,从训练数据集中获取一训练数据子集;
(2)计算深度神经网络的网络参数(权重、偏置等)在训练数据子集上的梯度,通常,在一个计算节点上计算出的梯度,又称为该计算节点的本地梯度;
(3)与其他计算节点进行通信,交换彼此的本地梯度;
(4)基于所有计算节点的本地梯度进行汇聚得到目标梯度,基于对深度神经网络的网络参数进行更新。
重复步骤(1)~(5),直到深度神经网络模型收敛或者对网络参数的迭代次数达到预设次数时,停止训练。
在上述分布式训练方法中,每个计算节点计算出的本地梯度可以是稠密梯度,也可以是稀疏梯度。其中,当上述计算节点的本地梯度为稠密梯度时,稠密梯度中均为有效值,以及在该计算节点进行网络参数更新时,该计算节点根据稠密梯度对网络参数进行更新。图1为本公开实施例提供的稠密梯度的结构示意图。如图1所示,稠密梯度的维度是[5,8]总共40个元素,稠密梯度中均为有效值(灰色表示对应的数值有效)。
其中,当上述计算节点的本地梯度为稀疏梯度时,稀疏梯度只有部分是有效值,其余大部分均是无效值,或者大部分梯度值为0,以及在该计算节点进行网络参数更新时,该计算节点仅根据稀疏梯度中的有效值对网络参数进行更新。图2为本公开的实施例提供的稀疏梯度的结构示意图。如图2所示,计算节点的稀疏梯度对应的维度是相同的,即稀疏梯度中每行所包括的数据个数是相同,稀疏梯度的维度是[5,8]总共40个数据,稀疏梯度中只有2行有效值(灰色表示对应的数值有效,白色表示对应的数值无效部分),基于此,该计算节点仅需要将16个有效值发送至其它计算节点,若此时依然按照稠密梯度的通信方式将稀疏梯度的所有值发送至其他计算节点,则会传输稀疏梯度中包括无效值的所有数据,从而会产生大量的无用通信,消耗了大量的通信资源,进而影响深度神经网络分布式训练的通信性能。
下面参考附图描述本公开实施例的分布式训练方法、梯度通信方法、装置及电子设备。
图3是根据本公开第一实施例的示意图。
如图3所示,该梯度通信方法的可以包括:
步骤301,利用第一通信方式,与其他计算节点交换各自的有效参数。
其中,需要说明的是,上述梯度通信方法应用于深度神经网络的分布式训练框架中,分布式训练框架包括多个计算节点,该梯度通信方法由每个计算节点执行。
以及,上述梯度通信方法的执行主体为分布式训练装置,该分布式训练装置可以由软件和/或硬件的方式实现,该实施例中的分布式训练装置可以配置在电子设备中。
其中,本示例实施例中电子设备可以包括终端设备和服务器等设备,该实施例对电子设备不作限定。
本公开实施例中,上述有效参数为计算节点对应稀疏梯度中有效梯度的行数,上述有效梯度为计算节点对应稀疏梯度中有效部分的梯度数据。示例的,假设计算节点的的稀疏矩阵如图2所示,则该计算节点对应的有效梯度为计算节点对应稀疏梯度中有效部分的梯度数据,也即是图2中灰色部分对应的数据,有效参数为该灰色部分数据对应的的行数,也即是该计算节点对应的有效参数为2。
本公开实施例中,上述分布式训练框架中有多个计算节点,基于此需要通过多个计算节点的集合通信方法与其他计算节点交换各自的有效参数。其中,集合通信方法可以包括allreduce通信,allgather通信,broadcast通信。
其中,allreduce通信属于多对多的通信,具有多个数据发送者,多个数据接收者,在分布式训练框架内的每个计算节点均将所有计算节点的数据进行相同的数据规约操作,每个计算节点均得到相同的数据规约结果。其中,数据规约操作可以为求累加和。以及,数据规约操作是对所有计算节点的数据进行规约,基于此,allreduce通信中需要不同计算节点的数据大小相同,否则不能进行数据规约操作。图4为本公开的实施例提供的allreduce通信的示意图。如图4所示,深度神经网络的分布式训练框架中有4个计算节点GPU0、GPU1、GPU2、GPU3,对应的数据分别为A、B、C、D,其中allreduce通信中的数据规约操作为求累加和,则通过allreduce通信每个计算节点将所有计算节点的数据进行求累加和操作,均得到所有计算节点的数据的累加和,即GPU0、GPU1、GPU2、GPU3中均得到A+B+C+D的结果。
以及,allgather通信属于多对多的通信,具有多个数据发送者,多个数据接收者,在分布式训练框架内可以把所有计算节点的数据均汇聚到每个计算节点上。以及,汇聚操作是对所有计算节点的数据进行拼接,基于此,allgather通信中需要不同计算节点的数据大小相同,否则不能进行汇聚操作。图5为本公开的实施例提供的allgather通信的示意图。如图5所示,深度神经网络的分布式训练框架中有4个计算节点GPU0、GPU1、GPU2、GPU3,对应的数据分别为A、B、C、D,则通过AllGather通信将计算节点GPU0、GPU1、GPU2、GPU3的数据均汇聚到每个计算节点上,即GPU0、GPU1、GPU2、GPU3中均得到汇聚后的A、B、C、D。
其中,broadcast通信属于1对多的通信,具有一个数据发送者,多个数据接收者,在分布式训练框架内的每个计算节点可以在该框架内把自身计算节点的数据广播到其他计算节点上。图6为本公开的实施例提供的broadcast通信的示意图。如图6所示,深度神经网络的分布式训练框架中有4个计算节点GPU0、GPU1、GPU2、GPU3,GPU0对应的数据分别为A,则计算节点GPU0通过broadcast通信将该计算节点的数据A广播到其他计算节点GPU1、GPU2、GPU3上,即GPU0、GPU1、GPU2、GPU3中均得到GPU0的数据A。
本公开实施例中,每个计算节点对应的有效参数所占空间的大小相同(如,1字节),基于此,每个计算节点向其他计算节点发送有效参数所需的通信资源相同(如,8bit(比特)),步骤301仅需交换各自的有效参数,不需要进行数据规约操作,且步骤301需要通过多次broadcast通信才能与其他计算节点完成有效参数的交换,由此上述第一通信方式可以为allgather通信。
步骤302、基于所有计算节点的有效参数,确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式。
本公开的实施例中,上述有效行参数是表示稀疏梯度与有效梯度映射关系的数组。示例的,假设有效行参数为[1,3],则该有效行参数表示有效梯度对应稀疏梯度中的第一行和第3行。
本公开的实施例中,上述有效参数为计算节点对应稀疏梯度中有效梯度的行数,由此所有计算节点的有效参数可能相同,也可能不同。
本公开的实施例中,当所有计算节点的有效参数相同时,所有计算节点对应稀疏梯度中有效梯度的行数相同,也即是所有计算节点对应的有效行参数中的数据元素个数相同,所有计算节点对应的稀疏梯度中的有效数据的个数相同,即每个计算节点对应的有效行参数和有效梯度所占空间的大小相同;当所有计算节点的有效参数不相同时,所有计算节点对应稀疏梯度中有效梯度的行数不相同,也即是所有计算节点对应的有效行参数中的数据元素个数不相同,所有计算节点对应的稀疏梯度中的有效数据的个数不相同,即每个计算节点对应的有效行参数和有效梯度所占空间的大小不相同。
基于此,如果在不知道有效参数的情况下,计算节点无法知道交换有效行参数和有效梯度所需的数据大小,由此计算节点无法直接与其他计算节点交换有效行参数和有效梯度,因此需要先传有效参数,然后根据有效参数确对所有计算节点的有效参数进行比较,基于得到的比较结果确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式。
步骤303、利用第二通信方式,与其他计算节点交换各自的有效行参数和有效梯度。
其中,有效行参数是表示稀疏梯度与有效梯度映射关系的数组,有效梯度为计算节点对应稀疏梯度中有效部分的梯度数据,基于此,通过步骤303可以利用第二通信方式,与其他计算节点交换有效行参数和有效数据,以使得仅需与其他节点交换有效行参数和有效数据,无需交换稀疏梯度,节约了通信资源。
本公开实施例中,可以通过不同阶段向其他计算节点交换有效行参数和有效梯度,并根据所有计算节点的有效参数和有效梯度确定对应阶段的通信方式,以确保每个阶段均采用最佳的集合通信方式与其他计算节点进行交换梯度数据,从而使得仅需与其他节点交换有效数据,节约了通信资源,提升了深度神经网络分布式训练的通信性能。
图7是根据本公开第二实施例的示意图。该实施例对图3实施例的进一步细化或者优化。
如图7所示,该梯度通信方法可以包括:
步骤701、利用第一通信方式,与其他计算节点交换各自的有效参数。
其中,有效参数为计算节点对应稀疏梯度中有效梯度的行数,有效梯度为计算节点对应稀疏梯度中有效部分的梯度数据。
其中,关于步骤701的具体实现方式,可参见本公开实施例的相关描述,此处不再赘述。
步骤702、判断所有计算节点的有效参数是否相同。
本公开实施例中,判断所有计算节点的有效参数是否相同,即判断所有计算节点对应稀疏梯度中有效梯度的行数是否相同,也即是判断所有计算节点对应的稀疏梯度中的有效数据的个数是否相同。
步骤703、若所有计算节点的有效参数相同,则确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式为第一通信方式。
本公开的实施例中,若所有计算节点的有效参数相同,则所有计算节点对应稀疏梯度中有效梯度的行数相同,也即是所有计算节点对应的有效行参数中的数据元素个数相同,所有计算节点对应的稀疏梯度中的有效数据的个数相同,即每个计算节点对应的有效行参数和有效梯度所占空间的大小相同。同时,与其他计算节点交换各自的有效行参数和有效梯度,不需要进行数据规约,由此不考虑allreduce通信。而通过broadcast通信需要进行多次广播交换彼此的有效行参数和有效梯度,比通过allgather通信交换彼此的有效行参数和有效梯度的时间长,基于此可以从上述集合通信方法中确定第二通信方式与第一通信方式相同均为allgather通信。
步骤704、若所有计算节点的有效参数不相同,则确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式为第三通信方式。
本公开的实施例中,若所有计算节点的有效参数不相同,则所有计算节点对应稀疏梯度中有效梯度的行数不相同,也即是所有计算节点对应的稀疏梯度中的有效数据的个数不相同,即每个计算节点对应的有效梯度所占空间的大小不相同。而AllReduce通信和AllGather通信需要不同计算节点的数据大小相同,基于此,可以从上述集合通信方法中确定第二通信方式为第三通信方式,第三通信方式为broadcast通信。
步骤705、利用第二通信方式,与其他计算节点交换各自的有效行参数和有效梯度。
其中,关于步骤705的具体实现方式,可参见本公开实施例的相关描述,此处不再赘述。
本公开实施例中,根据所有计算节点的有效参数是否相同,确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式,以确定交换有效行参数和有效梯度的最佳通信方式,从而使得可以利用最佳通信方式与其他节点交换有效行参数和有效数据,节约了通信资源。
图8是根据本公开第三实施例的示意图。
如图8所示,该梯度通信方法可以包括:
步骤801、确定计算节点中参数的稀疏梯度。
本公开实施中,计算节点可以基于反向传输确定计算节点中参数对应的稀疏梯度。
步骤802、利用三元组对稀疏梯度进行表示。
本公开的实施例中,上述三元组为<有效行参数,行数,有效梯度>,有效行参数是表示稀疏梯度与有效梯度映射关系的数组,行数表示稀疏梯度中的总行数,有效梯度为计算节点对应稀疏梯度中有效部分的梯度数据。
图9为本公开实施例提出的稀疏梯度的三元组表示的示意图。如图9所示,稀疏梯度共有5行数据,其中第1行和第3行有数据,其他部分均为0(灰色表示对应有数值,白色表示对应的数值为0),基于此,得到该稀疏梯度对应的三元组表示如图9所示。
步骤803、基于三元组中有效行参数的数据元素个数,确定有效参数。
示例的,假设有效行参数为[1,3],说明该有效行参数中的数据元素个数为2,即计算节点对应稀疏梯度中有效梯度的行数为2,则对应的有效参数为2。
步骤804、利用第一通信方式,与其他计算节点交换各自的有效参数。
步骤805、基于所有计算节点的有效参数,确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式。
步骤806、利用第二通信方式,与其他计算节点交换各自的有效行参数和有效梯度。
其中,关于步骤804~步骤806的具体实现方式,可参见本公开实施例的相关描述,此处不再赘述。
本实施例中,可以利用三元组对稀疏梯度进行表示,得到稀疏梯度对应的有效参数、有效行参数和有效梯度,从而使得后续可以利用有效参数确定与其他计算节点交换有效行参数和有效梯度的通信方式。
图10是根据本公开第四实施例的示意图。
如图10所示,该梯度通信方法可以包括:
步骤1001、利用第一通信方式,与其他计算节点交换各自的有效参数。
本公开实施例中,有效参数为计算节点对应稀疏梯度中有效梯度的行数,有效梯度为计算节点对应稀疏梯度中有效部分的梯度数据。
其中,关于步骤1001的具体实现方式,可参见本公开实施例的相关描述,此处不再赘述。
步骤1002、基于所有计算节点的有效参数,确定存储所有计算节点的有效行参数和有效梯度所需的存储空间。
本公开实施例中,所有计算节点的稀疏梯度对应的维度是相同的,即稀疏梯度中每行所包括的数据个数是相同,基于此通过所有计算节点的有效参数可以确定稀疏梯度中的有效行参数和有效梯度所需的存储空间,以便计算节点可以提前确定存储有效行参数和有效梯度的存储空间。
步骤1003、基于所有计算节点的有效参数,确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式。
本公开实施例中,有效行参数是表示稀疏梯度与有效梯度映射关系的数组。
步骤1004、利用第二通信方式,与其他计算节点交换各自的有效行参数和有效梯度。
其中,关于步骤1003~步骤1004的具体实现方式,可参见本公开实施例的相关描述,此处不再赘述。
步骤1005、利用存储空间存储所有计算节点的有效行参数和有效梯度。
本实施例中,通过上述步骤可以利用所有计算节点的有效参数,确定存储所有计算节点的有效行参数和有效梯度所需的存储空间,从而使得计算节点仅需存储所有节点的有效数据,而不需要存储所有节点的稀疏梯度,节约了存储资源。
图11是根据本公开第五实施例的示意图。
如图11所示,该分布式训练方法可以包括:
步骤1101、利用第一通信方式,与其他计算节点交换各自的有效参数。
本公开实施例中,该分布式训练方法应用于深度神经网络的分布式训练框架中,分布式训练框架中包括多个计算节点,上述分布式训练方法由每个计算节点执行。
以及,上述分布式训练方法的执行主体为分布式训练装置,该分布式训练装置可以由软件和/或硬件的方式实现,该实施例中的分布式训练装置可以配置在电子设备中。
其中,本示例实施例中电子设备可以包括终端设备和服务器等设备,该实施例对电子设备不作限定。
本公开实施例中,有效参数为计算节点对应稀疏梯度中有效梯度的行数,有效梯度为计算节点对应稀疏梯度中有效部分的梯度数据。
步骤1102、基于所有计算节点的有效参数,确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式。
本公开实施例中,有效行参数是表示稀疏梯度与有效梯度映射关系的数组。
步骤1103、利用第二通信方式,与其他计算节点交换各自的有效行参数和有效梯度,得到所有计算节点的有效行参数和汇聚后的有效梯度。
本公开的实施例中,上述汇聚后的有效梯度具体可以为所有计算节点的有效梯度进行拼接得到。
其中,关于上述步骤1101~步骤1103的详细介绍可以参考上述实施例中的相关介绍,本实施例在此不做赘述。
步骤1104、基于所有计算节点的有效行参数和汇聚后的有效梯度,确定目标稀疏梯度。
步骤1105、基于目标稀疏梯度对深度神经网络的网络参数进行更新。
本实施例中,通过不同阶段向其他计算节点交换有效参数、有效行参数和有效梯度,并根据所有计算节点的有效参数确定与其他计算节点交换有效行参数和有效梯度的通信方式,从而确保每个阶段均采用最佳的集合通信方式与其他计算节点交换数据,进而使得仅需与其他节点交换有效数据,节约了通信资源,提升了深度神经网络分布式训练的通信性能。
图12是根据本公开第六实施例的示意图。
如图12所示,该分布式训练方法可以包括:
步骤1201、利用第一通信方式,与其他计算节点交换各自的有效参数。
本公开实施例中,有效参数为计算节点对应稀疏梯度中有效梯度的行数,有效梯度为计算节点对应稀疏梯度中有效部分的梯度数据。
步骤1202、判断所有计算节点的有效参数是否相同。
步骤1203、若所有计算节点的有效参数相同,则确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式为第一通信方式。
步骤1204、若所有计算节点的有效参数不相同,则确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式为第三通信方式。
步骤1205、利用第二通信方式,与其他计算节点交换各自的有效行参数和有效梯度,得到所有计算节点的有效行参数和汇聚后的有效梯度。
步骤1206、基于所有计算节点的有效行参数和汇聚后的有效梯度,确定目标稀疏梯度。
步骤1207、基于目标稀疏梯度对深度神经网络的网络参数进行更新。
其中,关于上述步骤1201~步骤1207的详细介绍可以参考上述实施例中的相关介绍,本实施例在此不做赘述。
本实施例中,根据所有计算节点的有效参数是否相同,确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式,以确定交换有效行参数和有效梯度的最佳通信方式,从而使得可以利用最佳通信方式与其他节点交换有效行参数和有效数据,节约了通信资源。
图13是根据本公开第七实施例的示意图。
如图13所示,该分布式训练方法可以包括:
步骤1301、确定计算节点中参数的稀疏梯度。
步骤1302、利用三元组对稀疏梯度进行表示。
本公开的实施例中,上述三元组为<有效行参数,行数,有效梯度>,有效行参数是表示稀疏梯度与有效梯度映射关系的数组,行数表示稀疏梯度中的总行数,有效梯度为计算节点对应稀疏梯度中有效部分的梯度数据。
步骤1303、基于三元组中有效行参数的数据元素个数,确定有效参数。
步骤1304、利用第一通信方式,与其他计算节点交换各自的有效参数。
步骤1305、基于所有计算节点的有效参数,确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式。
步骤1306、利用第二通信方式,与其他计算节点交换各自的有效行参数和有效梯度,得到所有计算节点的有效行参数和汇聚后的有效梯度。
步骤1307、基于所有计算节点的有效行参数和汇聚后的有效梯度,确定目标稀疏梯度。
步骤1308、基于目标稀疏梯度对深度神经网络的网络参数进行更新。
其中,关于上述步骤1301~步骤1308的详细介绍可以参考上述实施例中的相关介绍,本实施例在此不做赘述。
本实施例中,可以利用三元组对稀疏梯度进行表示,得到稀疏梯度对应的有效参数、有效行参数和有效梯度,从而使得后续可以利用有效参数确定与其他计算节点交换有效行参数和有效梯度的通信方式。
图14是根据本公开第八实施例的示意图。
如图14所示,该分布式训练方法可以包括:
步骤1401、利用第一通信方式,与其他计算节点交换各自的有效参数。
本公开实施例中,该分布式训练方法应用于深度神经网络的分布式训练框架中,分布式训练框架中包括多个计算节点,上述分布式训练方法由每个计算节点执行。
本公开实施例中,有效参数为计算节点对应稀疏梯度中有效梯度的行数,有效梯度为计算节点对应稀疏梯度中有效部分的梯度数据。
步骤1402、基于所有计算节点的有效参数,确定存储所有计算节点的有效行参数和有效梯度所需的存储空间。
本公开实施例中,有效行参数是表示稀疏梯度与有效梯度映射关系的数组。
步骤1403、基于所有计算节点的有效参数,确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式。
步骤1404、利用第二通信方式,与其他计算节点交换各自的有效行参数和有效梯度,得到所有计算节点的有效行参数和汇聚后的有效梯度。
本公开的实施例中,上述汇聚后的有效梯度具体可以为所有计算节点的有效梯度进行拼接得到。
步骤1405、利用存储空间存储所有计算节点的有效行参数和有效梯度。
步骤1406、基于所有计算节点的有效行参数和汇聚后的有效梯度,确定目标稀疏梯度。
步骤1407、基于目标稀疏梯度对深度神经网络的网络参数进行更新。
其中,关于上述步骤1401~步骤1407的详细介绍可以参考上述实施例中的相关介绍,本实施例在此不做赘述。
本实施例中,通过上述步骤可以利用所有计算节点的有效参数,确定存储所有计算节点的有效行参数和有效梯度所需的存储空间,从而使得计算节点仅需存储所有节点的有效数据,而不需要存储所有节点的稀疏梯度,节约了存储资源。
图15是根据本公开第九实施例的示意图。
如图15所示,该分布式训练方法可以包括:
步骤1501、利用第一通信方式,与其他计算节点交换各自的有效参数。
本公开实施例中,有效参数为计算节点对应稀疏梯度中有效梯度的行数,有效梯度为计算节点对应稀疏梯度中有效部分的梯度数据。
步骤1502、基于所有计算节点的有效参数,确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式。
本公开实施例中,有效行参数是表示稀疏梯度与有效梯度映射关系的数组。
步骤1503、利用第二通信方式,与其他计算节点交换各自的有效行参数和有效梯度,得到所有计算节点的有效行参数和汇聚后的有效梯度。
步骤1504、基于所有计算节点的有效行参数和汇聚后的有效梯度,确定目标稀疏梯度。
步骤1505、基于目标稀疏梯度对深度神经网络的网络参数进行更新。
步骤1506、当深度神经网络收敛,或者,对网络参数的迭代次数达到预设次数时,停止训练。
本实施例中,可以通过不同阶段向其他计算节点交换有效参数、有效行参数和有效梯度,并根据所有计算节点的有效参数确定与其他计算节点交换有效行参数和有效梯度的通信方式,从而确保每个阶段均采用最佳的集合通信方式与其他计算节点交换数据,进而使得仅需与其他节点交换有效数据,节约了通信资源,提升了深度神经网络分布式训练的通信性能。
图16是根据本公开第十实施例的示意图。
如图16所示,该分布式训练装置160可以包括:第一通信模块1601、第一确定模块1602、第二通信模块1603、第二确定模块1604、参数更新模块1605,其中:
第一通信模块1601、用于利用第一通信方式,与其他计算节点交换各自的有效参数,其中,有效参数为计算节点对应稀疏梯度中有效梯度的行数,有效梯度为计算节点对应稀疏梯度中有效部分的梯度数据;
第一确定模块1602、用于基于所有计算节点的有效参数,确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式,其中,有效行参数是表示稀疏梯度与有效梯度映射关系的数组;
第二通信模块1603,用于利用第二通信方式,与其他计算节点交换各自的有效行参数和有效梯度,得到所有计算节点的有效行参数和汇聚后的有效梯度;
第二确定模块1604,用于基于所有计算节点的有效行参数和汇聚后的有效梯度,确定目标稀疏梯度;
参数更新模块1605,用于基于目标稀疏梯度对深度神经网络的网络参数进行更新。
其中,需要说明的是,前述对分布式训练方法实施例的解释说明也适用于本实施例,本实施例对此不再赘述。
本公开实施例的分布式训练装置,通过不同阶段向其他计算节点交换有效行参数和有效梯度,并根据所有计算节点的有效行参数和有效梯度确定对应阶段的通信方式,以确保每个阶段均采用最佳的集合通信方式与其他计算节点进行交换梯度数据,从而使得仅需与其他节点交换有效数据,并利用交换数据更新网络参数,节约了通信资源,提升了深度神经网络分布式训练的通信性能。
在本公开的一个实施例中,上述分布式训练装置还用于:
确定计算节点的稀疏梯度;
利用三元组对稀疏梯度进行表示,其中,三元组为<有效行参数,行数,有效梯度>,行数表示稀疏梯度中的总行数;
基于有效行参数中的数据元素个数,确定有效参数。
在本公开的一个实施例中,第一确定模块1602,具体用于:
判断所有计算节点的有效参数是否相同;
若所有计算节点的有效参数相同,则确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式为第一通信方式;
若所有计算节点的有效参数不相同,则确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式为第三通信方式。
在本公开的一个实施例中,上述装置还用于:
基于所有计算节点的有效参数,确定存储所有计算节点的有效行参数和有效梯度所需的存储空间。
在本公开的一个实施例中,上述装置还用于:
当深度神经网络收敛,或者,对网络参数的迭代次数达到预设次数时,停止训练。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图17示出了可以用来实施本公开的实施例的示例电子设备1700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图17所示,设备1700包括计算单元1701,其可以根据存储在只读存储器(ROM)1702中的计算机程序或者从存储单元1708加载到随机访问存储器(RAM)1703中的计算机程序,来执行各种适当的动作和处理。在RAM 1703中,还可存储设备1700操作所需的各种程序和数据。计算单元1701、ROM 1702以及RAM 1703通过总线1704彼此相连。输入/输出(I/O)接口1705也连接至总线1704。
设备1700中的多个部件连接至I/O接口1705,包括:输入单元1706,例如键盘、鼠标等;输出单元1707,例如各种类型的显示器、扬声器等;存储单元1708,例如磁盘、光盘等;以及通信单元1709,例如网卡、调制解调器、无线通信收发机等。通信单元1709允许设备1700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1701执行上文所描述的各个方法和处理,例如方法XXX。例如,在一些实施例中,方法XXX可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1702和/或通信单元1709而被载入和/或安装到设备1700上。当计算机程序加载到RAM1703并由计算单元1701执行时,可以执行上文描述的方法XXX的一个或多个步骤。备选地,在其他实施例中,计算单元1701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法XXX。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (14)
1.一种梯度通信方法,应用于深度神经网络的分布式训练框架中,所述分布式训练框架包括多个计算节点,所述方法由每个计算节点执行,所述方法包括:
利用第一通信方式,与其他计算节点交换各自的有效参数,其中,所述有效参数为所述计算节点对应稀疏梯度中有效梯度的行数,所述有效梯度为所述计算节点对应稀疏梯度中有效部分的梯度数据;
基于所有计算节点的有效参数,确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式,其中,所述有效行参数是表示所述稀疏梯度与所述有效梯度映射关系的数组;
利用所述第二通信方式,与其他计算节点交换各自的有效行参数和有效梯度;
其中,所述基于所有计算节点的有效参数,确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式,包括:
判断所述所有计算节点的有效参数是否相同;
若所述所有计算节点的有效参数相同,则确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式为所述第一通信方式;
若所述所有计算节点的有效参数不相同,则确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式为第三通信方式。
2.如权利要求1所述的方法,其中,所述利用第一通信方式,与其他计算节点交换各自的有效参数之前,还包括确定所述有效参数;
所述确定所述有效参数,包括:
确定所述计算节点的稀疏梯度;
利用三元组对所述稀疏梯度进行表示,其中,所述三元组为<有效行参数,行数,有效梯度>,所述行数表示所述稀疏梯度中的总行数;
基于所述有效行参数中的数据元素个数,确定所述有效参数。
3.如权利要求1所述的方法,其中,还包括:
基于所述所有计算节点的有效参数,确定存储所述所有计算节点的有效行参数和有效梯度所需的存储空间。
4.一种分布式训练方法,应用于深度神经网络的分布式训练框架中,所述分布式训练框架包括多个计算节点,所述方法由每个计算节点执行,所述方法包括:
利用第一通信方式,与其他计算节点交换各自的有效参数,其中,所述有效参数为所述计算节点对应稀疏梯度中有效梯度的行数,所述有效梯度为所述计算节点对应稀疏梯度中有效部分的梯度数据;
基于所有计算节点的有效参数,确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式,其中,所述有效行参数是表示所述稀疏梯度与所述有效梯度映射关系的数组;
利用所述第二通信方式,与其他计算节点交换各自的有效行参数和有效梯度,得到所有计算节点的有效行参数和汇聚后的有效梯度;
基于所有计算节点的有效行参数和所述汇聚后的有效梯度,确定目标稀疏梯度;
基于所述目标稀疏梯度对所述深度神经网络的网络参数进行更新;
其中,所述基于所有计算节点的有效参数,确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式,包括:
判断所述所有计算节点的有效参数是否相同;
若所述所有计算节点的有效参数相同,则确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式为所述第一通信方式;
若所述所有计算节点的有效参数不相同,则确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式为第三通信方式。
5.如权利要求4所述的方法,其中,所述利用第一通信方式,与其他计算节点交换各自的有效参数之前,还包括确定所述有效参数;
所述确定所述有效参数,包括:
确定所述计算节点的稀疏梯度;
利用三元组对所述稀疏梯度进行表示,其中,所述三元组为<有效行参数,行数,有效梯度>,所述行数表示所述稀疏梯度中的总行数;
基于所述有效行参数中的数据元素个数,确定所述有效参数。
6.如权利要求4所述的方法,其中,还包括:
基于所述所有计算节点的有效参数,确定存储所述所有计算节点的有效行参数和有效梯度所需的存储空间。
7.如权利要求4至5中任一项所述的方法,其中,还包括:
当所述深度神经网络收敛,或者,对所述网络参数的迭代次数达到预设次数时,停止训练。
8.一种分布式训练装置,包括:
第一通信模块,用于利用第一通信方式,与其他计算节点交换各自的有效参数,其中,所述有效参数为所述计算节点对应稀疏梯度中有效梯度的行数,所述有效梯度为所述计算节点对应稀疏梯度中有效部分的梯度数据;
第一确定模块,用于基于所有计算节点的有效参数,确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式,其中,所述有效行参数是表示所述稀疏梯度与所述有效梯度映射关系的数组;
第二通信模块,用于利用所述第二通信方式,与其他计算节点交换各自的有效行参数和有效梯度,得到所有计算节点的有效行参数和汇聚后的有效梯度;
第二确定模块,用于基于所有计算节点的有效行参数和所述汇聚后的有效梯度,确定目标稀疏梯度;
参数更新模块,用于基于所述目标稀疏梯度对深度神经网络的网络参数进行更新;
其中,第一确定模块,具体用于:
判断所述所有计算节点的有效参数是否相同;
若所述所有计算节点的有效参数相同,则确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式为所述第一通信方式;
若所述所有计算节点的有效参数不相同,则确定与其他计算节点交换各自的有效行参数和有效梯度的第二通信方式为第三通信方式。
9.如权利要求8所述的装置,还用于:
确定所述计算节点的稀疏梯度;
利用三元组对所述稀疏梯度进行表示,其中,所述三元组为<有效行参数,行数,有效梯度>,所述行数表示所述稀疏梯度中的总行数;
基于所述有效行参数中的数据元素个数,确定所述有效参数。
10.如权利要求8所述的装置,还用于:
基于所述所有计算节点的有效参数,确定存储所述所有计算节点的有效行参数和有效梯度所需的存储空间。
11.如权利要求8至10中任一项所述的装置,还用于:
当所述深度神经网络收敛,或者,对所述网络参数的迭代次数达到预设次数时,停止训练。
12.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
13.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行权利要求1-7中任一项所述的方法。
14.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211426391.4A CN115906982B (zh) | 2022-11-15 | 2022-11-15 | 分布式训练方法、梯度通信方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211426391.4A CN115906982B (zh) | 2022-11-15 | 2022-11-15 | 分布式训练方法、梯度通信方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115906982A CN115906982A (zh) | 2023-04-04 |
CN115906982B true CN115906982B (zh) | 2023-10-24 |
Family
ID=86480764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211426391.4A Active CN115906982B (zh) | 2022-11-15 | 2022-11-15 | 分布式训练方法、梯度通信方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115906982B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108287763A (zh) * | 2018-01-29 | 2018-07-17 | 中兴飞流信息科技有限公司 | 参数交换方法、工作节点以及参数服务器系统 |
CN112862088A (zh) * | 2021-01-18 | 2021-05-28 | 中山大学 | 一种基于流水线环形参数通信的分布式深度学习方法 |
CN113452655A (zh) * | 2020-03-25 | 2021-09-28 | 阿里巴巴集团控股有限公司 | 一种分布式训练方法、梯度通信方法、装置以及计算设备 |
WO2021238274A1 (zh) * | 2020-05-28 | 2021-12-02 | 浪潮电子信息产业股份有限公司 | 一种分布式深度学习的梯度信息更新方法及相关装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180075347A1 (en) * | 2016-09-15 | 2018-03-15 | Microsoft Technology Licensing, Llc | Efficient training of neural networks |
US11501160B2 (en) * | 2019-03-28 | 2022-11-15 | International Business Machines Corporation | Cloud computing data compression for allreduce in deep learning |
CN111461290B (zh) * | 2020-03-11 | 2023-09-22 | 北京百度网讯科技有限公司 | 模型参数更新方法及装置 |
-
2022
- 2022-11-15 CN CN202211426391.4A patent/CN115906982B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108287763A (zh) * | 2018-01-29 | 2018-07-17 | 中兴飞流信息科技有限公司 | 参数交换方法、工作节点以及参数服务器系统 |
CN113452655A (zh) * | 2020-03-25 | 2021-09-28 | 阿里巴巴集团控股有限公司 | 一种分布式训练方法、梯度通信方法、装置以及计算设备 |
WO2021238274A1 (zh) * | 2020-05-28 | 2021-12-02 | 浪潮电子信息产业股份有限公司 | 一种分布式深度学习的梯度信息更新方法及相关装置 |
CN112862088A (zh) * | 2021-01-18 | 2021-05-28 | 中山大学 | 一种基于流水线环形参数通信的分布式深度学习方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115906982A (zh) | 2023-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112561078B (zh) | 分布式的模型训练方法及相关装置 | |
CN105471760A (zh) | 一种路由方法、负载均衡的装置及数据通信系统 | |
CN114253979B (zh) | 一种报文处理方法、装置及电子设备 | |
CN114065864B (zh) | 联邦学习方法、联邦学习装置、电子设备以及存储介质 | |
CN111126613A (zh) | 用于深度学习的方法、设备和计算机程序产品 | |
CN115965205A (zh) | 云边端协同资源优化方法、装置、电子设备及存储介质 | |
CN114742000B (zh) | 基于FPGA集群的SoC芯片验证系统、验证方法、装置 | |
CN113037489B (zh) | 数据处理方法、装置、设备和存储介质 | |
CN115906982B (zh) | 分布式训练方法、梯度通信方法、装置及电子设备 | |
CN115514718B (zh) | 基于数据传输系统的数据交互方法、控制层、设备 | |
CN116567077A (zh) | 裸金属指令发送方法、装置、设备及存储介质 | |
EP4178170A1 (en) | Method and apparatus for updating instance configuration, storage medium, and program product | |
CN115484233A (zh) | 数通芯片中链路聚合报文的转发方法、装置、设备及介质 | |
CN114626523A (zh) | 训练深度学习模型的方法、装置、设备以及存储介质 | |
CN114579311A (zh) | 执行分布式计算任务的方法、装置、设备以及存储介质 | |
CN113778645A (zh) | 基于边缘计算的任务调度方法、装置、设备及存储介质 | |
CN115965070B (zh) | 计算图处理方法、装置、设备、存储介质以及程序产品 | |
CN116306407B (zh) | 片上网络noc的验证方法、装置、设备和存储介质 | |
CN112989250B (zh) | 一种Web服务响应方法、装置及电子设备 | |
EP3992794A2 (en) | Method and apparatus for acquiring information | |
EP4036861A2 (en) | Method and apparatus for processing point cloud data, electronic device, storage medium, computer program product | |
CN116486831A (zh) | 数据处理方法、装置、电子设备和存储介质 | |
CN118118386A (zh) | 链路延时探测方法、装置、设备及存储介质 | |
CN117081939A (zh) | 一种流量数据处理方法、装置、设备及存储介质 | |
CN117608944A (zh) | 权属迁移量配比的计算方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |