技术新讯 > 计算推算,计数设备的制造及其应用技术 > 基于混合并行方式的模型训练方法、装置以及设备与流程  >  正文

基于混合并行方式的模型训练方法、装置以及设备与流程

  • 国知局
  • 2024-08-22 14:45:51

本技术涉及人工智能,特别涉及一种基于混合并行方式的模型训练方法、装置以及设备。

背景技术:

1、随着深度神经网络(deep neural network,dnn)模型的结构越来越复杂,深度神经网络模型的模型参数也越来越多,为提高深度神经网络模型的训练效率,目前,基于数据并行(data parallelism,dp)方式与流水线并行(pipeline parallelism,pp)方式的混合并行方式,对深度神经网络模型进行训练。

2、其中,数据并行方式是:对训练数据进行切分,采用切分后的训练数据,对多个深度神经网络副本模型进行训练。流水线并行方式是:将训练数据划分为多个数据批,将深度神经网络模型划分为多个流水线分段,每个流水线分段交给一个计算节点来训练,在训练过程中,在对数据批进行前向传播时,前一流水线分段完成前向传播后,后一流水线分段才能进行前向传播,使得后一流水线分段对应的计算节点需要等待前一流水线分段完成前向传播,才能在对应流水线分度进行前向传播,在对深度神经网络进行训练的过程中,导致计算节点存在大量的空闲时间,使得计算节点的利用率低。

技术实现思路

1、本技术实施例提供了一种基于混合并行方式的模型训练方法、装置以及设备,能够提高神经网络训练过程中计算节点的利用率。技术方案如下:

2、第一方面,提供了一种基于混合并行方式的模型训练方法,混合并行方式包括数据并行方式以及流水线并行方式,在此方法中,针对待训练的神经网络模型,先确定在流水线并行方式中神经网络模型的多个流水线分段,之后,采用混合并行方式,按照神经网络模型中各个子分段的排序,调用多个流水线分段对应的计算节点,对对应的流水线分段中的网络层进行迭代训练,其中,每个流水线分段包括神经网络模型的多个子分段,相邻流水线分段中相同位置的子分段在神经网络模型中连续,子分段包括神经网络模型的至少一个网络层。

3、本方法通过将神经网络模型划分为多个流水线分段,每个流水线分段包括神经网络模型的多个子分段,在采用混合并行方式,按照神经网络模型中各个子分段的排序,调用多个流水线分段对应的计算节点,对对应的流水线分段中的网络层迭代训练时,由于相邻流水线分段中相同位置的子分段在神经网络模型中连续,则计算节点无需等待前一流水线分段前向传播完成,只需等待前一流水线分段中的第一个子分段前向传播完成,就能在对应流水线分段进行前向传播,降低了训练过程中计算节点的空闲时长,增加了计算节点的利用率。

4、在一种可能的实现方式,上述确定在流水线并行方式中神经网络模型的多个流水线分段方式,例如,先确定神经网络模型的多个分片,对多个分片中的每个分片进行分段,得到每个分片的多个子分段,然后,将这多个分片中处于相同位置的子分段组成一个流水线分段,其中,每个分片包括神经网络模型中连续的多个网络层,且同一分布中相邻子分段的网络层连续。

5、基于上述可能的实现方式,通过将神经网络模型的多个分片中处于相同位置的子分段组成一个流水线分段,使得同一流水线分段中的子分段神经网络模型中不连续,相邻流水线分段中相同位置的子分段在神经网络模型中连续,以便采用混合并行方式,按照神经网络模型中各个子分段的排序,调用多个流水线分段对应的计算节点,对对应的流水线分段中的网络层进行迭代训练时,计算节点无需等待前一流水线分段前向传播完成,只需等待前一流水线分段中的第一个子分段前向传播完成,就能在对应流水线分段进行前向传播,降低了训练过程中计算节点的空闲时长,增加了计算节点的利用率。

6、在一种可能的实现方式,上述采用混合并行方式,按照神经网络模型中各个子分段的排序,调用多个流水线分段对应的计算节点,对对应的流水线分段中的网络层进行迭代训练包括如下步骤:在任一次迭代训练过程中,先采用流水线并行方式,按照神经网络模型中各个子分段的排序,调用多个流水线分段对应的计算节点,依次获取对应的流水线分段中各个子分段对多个数据批的梯度信息;然后,采用数据并行方式,每得到一个子分段对多个数据批的梯度信息,基于这个子分段对多个数据批的梯度信息,对一个子分段中网络层的模型参数进行更新。

7、基于上述可能的实现方式,通过每得到一个子分段对多个数据批的梯度信息,基于这个子分段对多个数据批的梯度信息,对一个子分段中网络层的模型参数进行更新,无需等待整个流水线分段的梯度信息,即可开启梯度更新,降低了流水并行方式对数据并行方式的阻塞时间。

8、在一种可能的实现方式,上述采用流水线并行方式,按照神经网络模型中各个子分段的排序,调用多个流水线分段对应的计算节点,依次获取对应的流水线分段中各个子分段对多个数据批的梯度信息包括如下步骤:对于任一流水线分段中的任一子分段,每获取到这个子分段的一个前向数据批,调用第一计算节点,基于这个子分段中网络层的模型参数,对前向数据批进行前向传播计算,得到这个子分段的一个前向计算结果;每获取到这个子分段的一个后向数据批,调用第一计算节点,基于这个子分段的模型参数,对后向数据批进行反向传播计算,得到这个子分段的后向计算结果,基于后向计算结果获取这个子分段的梯度信息。其中,第一计算节点是这个子分段所属流水线分段对应的计算节点,当这个子分段是神经网络模型的第一个子分段时,这个子分段的前向数据批为多个数据批中的任一数据批,当这个子分段不是第一个子分段时,这个子分段前向数据批为神经网络模型中这个子分段的前一子分段的前向计算结果,当这个子分段是神经网络模型的最后一个子分段时,这个子分段的后向数据批基于这个子分段的前向计算结果得到,当这个子分段不是最后一个子分段时,这个后向数据批为神经网络模型中这个子分段的后一子分段的后向计算结果。

9、基于上述可能的实现方式,由于按照子分段对流水线分段中的网络层进行了细粒度的划分,且相邻流水线分段中相同位置的子分段在神经网络模型中连续,在前向传播过程中,除第一个流水线分段之外的每个流水线分段只需等待前一流水线分段中第一个子分段的第一个前向计算结果,就可以开启在对应流水线分段的前向传播计算,无需等待前一流水线分段完成前向传播,缩短了前向传播过程中每个流水线分段对应算节点的等待时间(即空闲时间),提高了计算节点的利用率。在后向传播过程中,除最后一个流水线分段之外的每个流水线分段对应的计算节点只需等待后一流水线分段中最一个子分段的第一个后向计算结果,就可以开启在对应流水线分段的后向传播计算,无需等待后一流水线分段完成后向传播,缩短了后向传播过程中计算节点的等待时间,提高了计算节点的利用率。

10、在一种可能的实现方式,在多个流水线分段对应的计算节点位于不同的计算设备,同一流水线分段对应的计算节点位于同一计算设备,此方法还包括如下步骤:如果这个子分段不是神经网络模型的最后一个子分段,通过第一通信库中点对点的通信操作,将第一计算节点中这个子分段的前向计算结果同步到第二计算节点;如果这个子分段不是神经网络模型的第一个子分段,通过通信操作,将第一计算节点中这个子分段的后向计算结果同步到第三计算节点。其中,第二计算节点是神经网络模型中这个子分段的后一子分段所属流水线分段对应的计算节点,第三计算节点是神经网络模型中这个子分段的前一子分段所属流水线分段对应的计算节点。

11、基于上述可能的实现方式,通过将子分段的前向计算结果同步给神经网络模型这个子分段的后一子分段对应的第二计算节点,将这个子分段的后向计算结果同步给神经网络模型这个子分段的前一子分段对应的第三计算节点,以便尽快通过第二计算节点在后一子分段继续对这个前向计算结果继续前向传播,以便尽快通过第三计算节点在前一子分段继续对这个后向计算结果继续后项传播,使得之后在第一计算节点、第二计算节点以及第三计算节点上的计算能够并行,降低了迭代训练的时长。

12、在一种可能的实现方式,这个神经网络模型为目标神经网络模型的副本,目标神经网络模型具有多个副本;上述采用数据并行方式,每得到一个子分段对多个数据批的梯度信息,基于一个子分段对多个数据批的梯度信息,对一个子分段中网络层的模型参数进行更新包括如下步骤:每得到多个副本中一个子分段对多个数据批的梯度信息,通过第二通信库中的全部减少操作,对多个副本中一个子分段对多个数据批的梯度信息进行求和,得到一个子分段的总梯度信息,基于总梯度信,对一个子分段中网络层的模型参数进行更新。

13、基于上述可能的实现方式,通过每得到多个副本中一个子分段对多个数据批的梯度信息,即可开启对这个子分段的梯度更新过程,无需等待所有副本的流水线分段得到梯度信息,降低了流水线并行方式对数据并行方式的阻塞时间。

14、第二方面,提供了一种基于混合并行方式的模型训练装置,用于执行上述基于混合并行方式的模型训练方法。具体地,基于混合并行方式的模型训练装置包括用于执行上述第一方面或上述第一方面的任一种可选方式提供的基于混合并行方式的模型训练方法的功能模块。

15、第三方面,提供一种控制设备,控制机设备包括处理器,所述处理器用于执行程序代码,使得控制设备执行以实现如上述基于混合并行方式的模型训练方法所执行的操作。

16、第四方面,提供一种计算机可读存储介质,存储介质中存储有至少一条程序代码,程序代码由处理器读取以使控制设备执行如上述基于混合并行方式的模型训练方法所执行的操作。

17、第五方面,提供了一种计算机程序产品或计算机程序,计算机程序产品或计算机程序包括程序代码,程序代码存储在计算机可读存储介质中,控制设备的处理器从计算机可读存储介质读取程序代码,处理器执行程序代码,使得计算机设备执行上述第一方面或者第一方面的各种可选实现方式中提供的方法。

18、本技术在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。

本文地址:https://www.jishuxx.com/zhuanli/20240822/279768.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。