System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 分布式训练系统、方法及设备、介质和计算机程序产品技术方案_技高网

分布式训练系统、方法及设备、介质和计算机程序产品技术方案

技术编号:42215593 阅读:6 留言:0更新日期:2024-07-30 18:56
本发明专利技术公开了一种分布式训练系统、方法及设备、介质和计算机程序产品,涉及计算机技术领域,该系统包括I个第一计算节点和J个第二计算节点,第一计算节点包括本地内存,第二计算节点包括本地内存和通过计算快速链路内存扩展器扩展出的扩展内存,I个第一计算节点环形连接,J个第二计算节点环形连接,第一计算节点与连接的第二计算节点采用模型并行的方式训练卷积神经网络,I个第一计算节点采用数据并行方式训练卷积神经网络中的卷积层,J个第二计算节点采用数据并行方式训练卷积神经网络中的全连接层。本发明专利技术优化了卷积神经网络的训练效率和效果。

【技术实现步骤摘要】

本专利技术涉及计算机,更具体地说,涉及一种分布式训练系统、方法及设备、介质和计算机程序产品


技术介绍

1、卷积神经网络(convolutional neural network,cnn)特别适用于处理具有空间结构的数据,如图像、视频和序列数据,因其良好的特征提取能力和对图像数据的有效处理能力,被广泛应用于图像处理、计算机视觉、自然语言处理等领域。然而近年来模型尺寸变得越来越大,这种增长使得高效的模型训练变得更加重要,分布式训练应运而生。目前的分布式模型训练方法有数据并行和模型并行两种方法。而针对cnn模型的训练,目前应用最广泛的是数据并行方法。数据并行方法中,每个计算节点上都存有完整的网络模型,它将训练数据集分成多个小批次,在多个计算节点上同时进行训练,然后在各个计算节点间进行梯度数据同步,最后利用同步后的梯度数据更新共享模型参数。随着模型规模和分布式系统规模变得越来越大,同步数据并行训练中的梯度数据同步通信在整个训练过程中所占的比重越来越大,导致各计算节点之间的同步效率较低,进而影响了卷积神经网络的训练效率。

2、因此,如何提高卷积神经网络的训练效率是本领域技术人员需要解决的技术问题。


技术实现思路

1、本专利技术的目的在于提供一种分布式训练方法、装置及设备、存储介质和计算机程序产品,提高了卷积神经网络的训练效率。

2、为实现上述目的,本专利技术提供了一种分布式训练系统,包括i个第一计算节点和j个第二计算节点,所述第一计算节点包括本地内存,所述第二计算节点包括本地内存和通过计算快速链路内存扩展器扩展出的扩展内存,i个第一计算节点环形连接,j个第二计算节点环形连接,第i个第一计算节点与第个第二计算节点连接,n=;

3、第一计算节点与连接的第二计算节点采用模型并行的方式训练卷积神经网络,所述卷积神经网络包括依次连接的多个卷积层、多个全连接层,i个第一计算节点采用数据并行方式训练所述卷积神经网络中的卷积层,第一计算节点向连接的第二计算节点发送前向计算得到的最后一个卷积层的激活数据,i个第一计算节点之间进行卷积层的梯度数据的同步,j个第二计算节点采用数据并行方式训练所述卷积神经网络中的全连接层,第二计算节点向连接的第一计算节点发送反向计算得到的最后一个卷积层同步后的梯度数据,j个第二计算节点之间进行全连接层的梯度数据的同步和最后一个卷积层的梯度数据的同步。

4、其中,所述第一计算节点包括处理器和与所述处理器连接的本地内存;

5、所述第二计算节点包括处理器、与所述处理器连接的本地内存、与所述处理器连接的根复合器、与所述根复合器连接的计算快速链路内存扩展器、与所述计算快速链路内存扩展器连接的扩展内存。

6、其中,所述第一计算节点训练所述卷积神经网络中的卷积层的过程包括:基于本地的训练数据对所述卷积神经网络中的各卷积层进行前向计算,得到最后一个卷积层的激活数据,将所述激活数据发送至对应的第二计算节点;当接收到对应的第二计算节点计算得到的最后一个卷积层的平均梯度数据时,基于最后一个卷积层的平均梯度数据对所述卷积神经网络中除最后一个卷积层之外的各卷积层进行反向计算,得到除最后一个卷积层之外的各卷积层的梯度数据;其中,每得到一个卷积层的梯度数据之后,对i个第一计算节点计算得到的所述卷积层的梯度数据进行同步得到所述卷积层的平均梯度数据,并基于所述卷积层的平均梯度数据更新所述卷积层的参数。

7、其中,所述第二计算节点训练所述卷积神经网络中的全连接层的过程包括:

8、接收对应的第一计算节点发送的最后一个卷积层的激活数据,基于所述激活数据和本地的训练数据对所述卷积神经网络中的各全连接层进行前向计算、对所述卷积神经网络中的各全连接层和最后一个卷积层进行反向计算,得到各全连接层的梯度数据和最后一个卷积层的梯度数据;其中,每得到一个全连接层或最后一个卷积层的梯度数据之后,对j个第二计算节点计算得到的所述全连接层或最后一个卷积层的梯度数据进行同步得到平均梯度数据,并基于所述平均梯度数据更新所述全连接层或最后一个卷积层的参数;将最后一个卷积层的平均梯度数据发送至所述第一计算节点。

9、为实现上述目的,本专利技术提供了一种分布式训练方法,应用于如上述分布式训练系统中的第一计算节点,所述方法包括:

10、获取本地的训练数据,基于本地的训练数据对所述卷积神经网络中的各卷积层进行前向计算,得到最后一个卷积层的激活数据,将所述激活数据发送至对应的第二计算节点;

11、当接收到对应的第二计算节点计算得到的最后一个卷积层的平均梯度数据时,基于最后一个卷积层的平均梯度数据对所述卷积神经网络中除最后一个卷积层之外的各卷积层进行反向计算,得到除最后一个卷积层之外的各卷积层的梯度数据;

12、其中,每得到一个卷积层的梯度数据之后,对i个第一计算节点计算得到的所述卷积层的梯度数据进行同步得到所述卷积层的平均梯度数据,并基于所述卷积层的平均梯度数据更新所述卷积层的参数。

13、其中,获取本地的训练数据,包括:

14、主线程获取本地的训练数据,并启动辅助线程;

15、相应的,基于本地的训练数据对所述卷积神经网络中的各卷积层进行前向计算,得到最后一个卷积层的激活数据,将所述激活数据发送至对应的第二计算节点,包括:

16、所述主线程基于本地的训练数据对所述卷积神经网络中的各卷积层进行前向计算,得到最后一个卷积层的激活数据,将所述激活数据发送至对应的第二计算节点;

17、相应的,当接收到对应的第二计算节点计算得到的最后一个卷积层的平均梯度数据时,基于最后一个卷积层的平均梯度数据对所述卷积神经网络中除最后一个卷积层之外的各卷积层进行反向计算,得到除最后一个卷积层之外的各卷积层的梯度数据,包括:

18、当所述主线程接收到对应的第二计算节点计算得到的最后一个卷积层的平均梯度数据时,基于最后一个卷积层的平均梯度数据对所述卷积神经网络中除最后一个卷积层之外的各卷积层进行反向计算,得到除最后一个卷积层之外的各卷积层的梯度数据;

19、相应的,每得到一个卷积层的梯度数据之后,对i个第一计算节点计算得到的所述卷积层的梯度数据进行同步得到所述卷积层的平均梯度数据,并基于所述卷积层的平均梯度数据更新所述卷积层的参数,包括:

20、每得到一个卷积层的梯度数据之后,所述辅助线程对i个第一计算节点计算得到的所述卷积层的梯度数据进行同步得到所述卷积层的平均梯度数据,并基于所述卷积层的平均梯度数据更新所述卷积层的参数。

21、其中,每得到一个卷积层的梯度数据之后,还包括:

22、所述主线程将所述卷积层的第一标志位设置为第一预设值;

23、相应的,所述辅助线程对i个第一计算节点计算得到的所述卷积层的梯度数据进行同步得到所述卷积层的平均梯度数据,并基于所述卷积层的平均梯度数据更新所述卷积层的参数,包括:

24、所述辅助线程当检测到所述卷积层的本文档来自技高网...

【技术保护点】

1.一种分布式训练系统,其特征在于,包括I个第一计算节点和J个第二计算节点,所述第一计算节点包括本地内存,所述第二计算节点包括本地内存和通过计算快速链路内存扩展器扩展出的扩展内存,I个第一计算节点环形连接,J个第二计算节点环形连接,第i个第一计算节点与第个第二计算节点连接,n=;

2.根据权利要求1所述分布式训练系统,其特征在于,所述第一计算节点包括处理器和与所述处理器连接的本地内存;

3.根据权利要求1所述分布式训练系统,其特征在于,所述第一计算节点训练所述卷积神经网络中的卷积层的过程包括:基于本地的训练数据对所述卷积神经网络中的各卷积层进行前向计算,得到最后一个卷积层的激活数据,将所述激活数据发送至对应的第二计算节点;当接收到对应的第二计算节点计算得到的最后一个卷积层的平均梯度数据时,基于最后一个卷积层的平均梯度数据对所述卷积神经网络中除最后一个卷积层之外的各卷积层进行反向计算,得到除最后一个卷积层之外的各卷积层的梯度数据;其中,每得到一个卷积层的梯度数据之后,对I个第一计算节点计算得到的所述卷积层的梯度数据进行同步得到所述卷积层的平均梯度数据,并基于所述卷积层的平均梯度数据更新所述卷积层的参数。

4.根据权利要求1所述分布式训练系统,其特征在于,所述第二计算节点训练所述卷积神经网络中的全连接层的过程包括:

5.一种分布式训练方法,其特征在于,应用于如权利要求1至4任一项所述分布式训练系统中的第一计算节点,所述方法包括:

6.根据权利要求5所述分布式训练方法,其特征在于,获取本地的训练数据,包括:

7.根据权利要求6所述分布式训练方法,其特征在于,每得到一个卷积层的梯度数据之后,还包括:

8.根据权利要求7所述分布式训练方法,其特征在于,还包括:

9.一种分布式训练方法,其特征在于,应用于如权利要求1至4任一项所述分布式训练系统中的第二计算节点,所述方法包括:

10.根据权利要求9所述分布式训练方法,其特征在于,获取本地的训练数据,包括:

11.根据权利要求10所述分布式训练方法,其特征在于,每得到一个全连接层或最后一个卷积层的梯度数据之后,还包括:

12.根据权利要求11所述分布式训练方法,其特征在于,还包括:

13.一种电子设备,其特征在于,包括:

14.一种非易失性存储介质,其特征在于,所述非易失性存储介质上存储有计算机程序,所述计算机程序被执行时实现如权利要求5至12任一项所述分布式训练方法的步骤。

15.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被处理器执行时实现权利要求5至12任一项所述分布式训练方法的步骤。

...

【技术特征摘要】

1.一种分布式训练系统,其特征在于,包括i个第一计算节点和j个第二计算节点,所述第一计算节点包括本地内存,所述第二计算节点包括本地内存和通过计算快速链路内存扩展器扩展出的扩展内存,i个第一计算节点环形连接,j个第二计算节点环形连接,第i个第一计算节点与第个第二计算节点连接,n=;

2.根据权利要求1所述分布式训练系统,其特征在于,所述第一计算节点包括处理器和与所述处理器连接的本地内存;

3.根据权利要求1所述分布式训练系统,其特征在于,所述第一计算节点训练所述卷积神经网络中的卷积层的过程包括:基于本地的训练数据对所述卷积神经网络中的各卷积层进行前向计算,得到最后一个卷积层的激活数据,将所述激活数据发送至对应的第二计算节点;当接收到对应的第二计算节点计算得到的最后一个卷积层的平均梯度数据时,基于最后一个卷积层的平均梯度数据对所述卷积神经网络中除最后一个卷积层之外的各卷积层进行反向计算,得到除最后一个卷积层之外的各卷积层的梯度数据;其中,每得到一个卷积层的梯度数据之后,对i个第一计算节点计算得到的所述卷积层的梯度数据进行同步得到所述卷积层的平均梯度数据,并基于所述卷积层的平均梯度数据更新所述卷积层的参数。

4.根据权利要求1所述分布式训练系统,其特征在于,所述第二计算节点训练所述卷积神经网络中的全连接层的过程包括:

【专利技术属性】
技术研发人员:李仁刚曹芳郭振华赵雅倩王丽高开唐轶男
申请(专利权)人:山东海量信息技术研究院
类型:发明
国别省市:

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

1