神经网络模型的训练方法、图像处理方法及装置制造方法及图纸

技术编号:34284230 阅读:38 留言:0更新日期:2022-07-27 08:04
本申请公开了人工智能领域中的一种神经网络模型的训练方法、图像处理方法及装置。该训练方法包括:第一加速器根据第一参数梯度更新神经网络模型的部分参数,在数据并行的参数梯度同步过程中,第一加速器通过带宽较小的第二链路接收第四参数梯度的一部分,通过带宽较大的第一链路接收第三参数梯度和第四参数梯度的其他部分,进而根据第三参数梯度、第四参数梯度以及自身得到第二参数梯度确定第一参数梯度。本申请的方法能够减少训练过程中的通信开销,进而提高神经网络模型的训练效率。进而提高神经网络模型的训练效率。进而提高神经网络模型的训练效率。

【技术实现步骤摘要】
神经网络模型的训练方法、图像处理方法及装置


[0001]本申请涉及人工智能领域,并且更具体地,涉及一种神经网络模型的训练方法、图像处理方法及装置。

技术介绍

[0002]人工智能(artificial intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,AI基础理论等。
[0003]在人工智能领域,通过对神经网络模型进行训练能够得到性能较优的目标神经网络模型以执行各种数据处理工作。在单个加速器的计算能力和内存大小无法满足神经网络模型训练的情况下,可以采用分布式并行训练的方式训练神经网络模型。其中,分布式并行训练包括数据并行的训练方式,即集群中的每个加速器分别基于不同的训练样本计算相同的神经网络模型的参数梯度,对各个加速器得到的参数梯度进行参数梯度同步,并根据同步后的参数梯度更新该神经网络模型的参数。若一个服务器中的加速器的数量无法满足神经网络模型的训练,可以利用多个服务器中的加速器共同完成该神经网络模型的训练。然而,服务器之间的带宽较低,影响参数梯度同步过程中的数据传输速度,进而导致神经网络模型的训练效率降低。
[0004]因此,如何提高神经网络模型的训练效率,成为一个亟需解决的技术问题。

技术实现思路

[0005]本申请提供一种神经网络模型的训练方法、图像处理方法及装置,能够减少训练过程中的通信开销,进而提高神经网络模型的训练效率。
[0006]第一方面,提供了一种神经网络模型的训练方法,其特征在于,包括:第一加速器获取至少一个第一训练样本;第一加速器根据第一参数梯度更新神经网络模型的至少部分参数,其中,第一参数梯度是根据第二参数梯度、第三参数梯度和第四参数梯度确定的,第二参数梯度、第三参数梯度和第四参数梯度为基于不同的训练样本得到的至少部分参数对应的参数梯度,第二参数梯度是第一加速器基于至少一个第一训练样本得到的,第三参数梯度为第一加速器通过第一链路从第二加速器接收的,第四参数梯度中的一部分为第一加速器通过第二链路从第三加速器接收的,第四参数梯度中的其他部分为第一加速器通过第一链路从第二加速器接收的,其中,第一链路的带宽大于第二链路的带宽。
[0007]根据本申请实施例的方案,在参数梯度同步过程中,利用带宽较高的第一链路传输数据量较大的参数梯度,利用带宽较低的第二链路传输数据量较小的参数梯度,减少通
信开销,提高了神经网络模型的训练效率。
[0008]此外,本申请实施例的方案能够应用于混合并行的训练场景中。通过改进混合并行中的数据并行过程中的通信方式,利用带宽较高的第一链路传输数据量较大的参数梯度,利用带宽较低的第二链路传输数据量较小的参数梯度,可以在不扩大模型并行组的规模的基础上,即在不增加模型并行的通信开销的情况下,减少数据并行中的通信开销,进而提高混合并行的训练效率。
[0009]其中,第一加速器可以是分布式训练的集群中的一个加速器。
[0010]第一加速器、第二加速器和第三加速器之间采用数据并行的训练方式。
[0011]用于训练同一神经网络模型的加速器构成的集群(后文中简称为“集群”)中,与第一加速器之间通过第一链路进行通信,且与第一加速器之间采用数据并行的训练方式的加速器均可以理解为第二加速器。集群中与第一加速器之间通过第二链路进行通信,且与第一加速器之间采用数据并行的训练方式的加速器均可以理解为第三加速器。
[0012]结合第一方面,在第一方面的某些实现方式中,第一链路为服务器内部的通信链路,第二链路为服务器之间的通信链路。
[0013]在该情况下,第一加速器和第二加速器属于同一服务器,第一加速器和第三加速器属于不同服务器。
[0014]本申请实施例的方案能够应用于混合并行的训练场景中。通过改进混合并行中的数据并行过程中的通信方式,利用服务器内的链路对需要输出服务器的数据进行处理,减少了服务器之间的链路上传输的数据量,提高了数据传输的效率,进而提高了神经网络模型的训练效率。通过使用本申请实施例中的通信方式,能够显著改善混合并行的训练性能。
[0015]结合第一方面,在第一方面的某些实现方式中,第四参数梯度是根据第三加速器基于至少一个第三训练样本得到的参数梯度和第四加速器基于至少一个第四训练样本得到的参数梯度确定的,第四参数梯度中的一部分位于第三加速器上,第四参数梯度中的其他部分位于第四加速器上。
[0016]第一加速器、第二加速器、第三加速器和第四加速器之间采用数据并行的训练方式。
[0017]结合第一方面,在第一方面的某些实现方式中,第一参数梯度是根据第二参数梯度、第三参数梯度和第四参数梯度确定的,包括:第一加速器基于第二参数梯度与第二加速器中的第三参数梯度执行规约和发散操作,得到第五参数梯度,第五参数梯度是根据第二参数梯度中的一部分和第三参数梯度中的一部分确定的;第一加速器基于第五参数梯度与第三加速器中的第四参数梯度中的一部分执行全局规约操作,得到第六参数梯度;第一加速器基于第六参数梯度与第二加速器中的第七参数梯度执行全局聚合操作,得到第一参数梯度,第七参数梯度是根据第四参数梯度中的其他部分、第二参数梯度中的其他部分和第三参数梯度中的其他部分确定的。
[0018]根据本申请实施例的方案,利用多级集合通信充分利用第一链路,使混合并行中的数据并行部分在第二链路上传输的数据量大幅减少。例如,第一链路为服务器内的链路,第二链路为服务器之间的链路,本申请实施例的方案通过多级集合通信充分利用服务器内的链路,使服务器之间传输的数据量大量减少,提高了数据传输的效率,进而提高了神经网络模型的训练效率,且完成现有的参数梯度同步,不影响模型训练的精度。
[0019]结合第一方面,在第一方面的某些实现方式中,第一加速器属于第一模型并行组,第一模型并行组中的多个加速器以模型并行的方式训练神经网络模型。
[0020]第一加速器和第二加速器属于不同的模型并行组。第一模型并行组中的多个加速器之间通过第一链路进行数据传输。
[0021]结合第一方面,在第一方面的某些实现方式中,在第一加速器与第二加速器进行数据传输的过程中,若第一加速器与第一模型并行组中的其他加速器开始通过第一链路进行数据传输,挂起第一加速器与第二加速器之间的数据传输进程。
[0022]根据本申请实施例的方案,当模型并行的进程和数据并行的进程同时需要使用第一链路进行通信时,优先传输模型并行的数据,这样可以避免本次迭代训练被数据并行的通信所影响,同时尽可能减少不能被计算时间隐藏的数据并行的通信时间,提高集群的训练效率。<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种神经网络模型的训练方法,其特征在于,包括:第一加速器获取至少一个第一训练样本;所述第一加速器根据第一参数梯度更新神经网络模型的至少部分参数,其中,所述第一参数梯度是根据第二参数梯度、第三参数梯度和第四参数梯度确定的,所述第二参数梯度、所述第三参数梯度和所述第四参数梯度为基于不同的训练样本得到的所述至少部分参数对应的参数梯度,所述第二参数梯度是所述第一加速器基于所述至少一个第一训练样本得到的,所述第三参数梯度为所述第一加速器通过第一链路从第二加速器接收的,所述第四参数梯度中的一部分为所述第一加速器通过第二链路从第三加速器接收的,所述第四参数梯度中的其他部分为所述第一加速器通过所述第一链路从所述第二加速器接收的,其中,所述第一链路的带宽大于所述第二链路的带宽。2.根据权利要求1所述的方法,其特征在于,所述第四参数梯度是根据所述第三加速器基于至少一个第三训练样本得到的参数梯度和第四加速器基于至少一个第四训练样本得到的参数梯度确定的,所述第四参数梯度中的一部分位于所述第三加速器上,所述第四参数梯度中的其他部分位于所述第四加速器上。3.根据权利要求1或2所述的方法,其特征在于,所述第一参数梯度是根据所述第二参数梯度、第三参数梯度和第四参数梯度确定的,包括:所述第一加速器基于所述第二参数梯度与所述第二加速器中的所述第三参数梯度执行规约和发散操作,得到第五参数梯度,所述第五参数梯度是根据所述第二参数梯度中的一部分和所述第三参数梯度中的一部分确定的;所述第一加速器基于所述第五参数梯度与所述第三加速器中的所述第四参数梯度中的一部分执行全局规约操作,得到第六参数梯度;所述第一加速器基于所述第六参数梯度与所述第二加速器中的第七参数梯度执行全局聚合操作,得到所述第一参数梯度,所述第七参数梯度是根据所述第四参数梯度中的其他部分、所述第二参数梯度中的其他部分和所述第三参数梯度中的其他部分确定的。4.根据权利要求1至3中任一项所述的方法,其特征在于,所述第一加速器属于第一模型并行组,所述第一模型并行组中的多个加速器以模型并行的方式训练所述神经网络模型。5.根据权利要求4所述的方法,其特征在于,在所述第一加速器与所述第二加速器进行数据传输的过程中,若所述第一加速器与所述第一模型并行组中的其他加速器开始通过所述第一链路进行数据传输,挂起所述第一加速器与所述第二加速器之间的数据传输进程。6.根据权利要求1至5中任一项所述的方法,其特征在于,所述第三参数梯度为所述第二加速器基于至少一个第二训练样本得到的。7.一种图像处理方法,其特征在于,包括:获取待处理图像;利用目标神经网络模型对所述待处理图像进行处理,得到所述待处理图像的处理结果,其中,所述目标神经网络模型是通过第一加速器根据第一参数梯度更新神经网络模型的至少部分参数得到的,所述第一参数梯度是根据第二参数梯度、第三参数梯度和第四参
数梯度确定的,所述第二参数梯度、所述第三参数梯度和所述第四参数梯度为基于不同的训练样本得到的所述至少部分参数对应的参数梯度,所述第二参数梯度是所述第一加速器基于至少一个第一训练样本得到的,所述第三参数梯度为所述第一加速器通过第一链路从第二加速器接收的,所述第四参数梯度中的一部分为所述第一加速器通过第二链路从第三加速器接收的,所述第四参数梯度中的其他部分为所述第一加速器通过所述第一链路从所述第二加速器接收的,其中,所述第一链路的带宽大于所述第二链路的带宽。8.根据权利要求7所述的方法,其特征在于,所述第四参数梯度是根据所述第三加速器基于至少一个第三训练样本得到的参数梯度和第四加速器基于至少一个第四训练样本得到的参数梯度确定的,所述第四参数梯度中的一部分位于所述第三加速器上,所述第四参数梯度中的其他部分位于所述第四加速器上。9.根据权利要求7或8所述的方法,其特征在于,所述第一参数梯度是根据所述第二参数梯度、第三参数梯度和第四参数梯度确定的,包括:所述第一参数梯度是所述第一加速器基于所述第六参数梯度与所述第二加速器中的第七参数梯度执行全局聚合操作得到的,所述第六参数梯度是所述第一加速器基于第五参数梯度与所述第三加速器中的所述第四参数梯度中的一部分执行全局规约操作得到的,所述第五参数梯度是所述第一加速器基于所述第二参数梯度与所述第二加速器中的所述第三参数梯度执行规约和发散操作得到的,所述第五参数梯度是根据所述第二参数梯度中的一部分和所述第三参数梯度中的一部分确定的,所述第七参数梯度是根据所述第四参数梯度中的其他部分、所述第二参数梯度中的其他部分和所述第三参数梯度中的其他部分确定的。10.根据权利要求7至9中任一项所述的方法,其特征在于,所述第一加速器属于第一模型并行组,所述第一模型并行组中的多个加速器以模型并行的方式训练所述神经网络模型。11.根据权利要求7至10中任一项所述的方法,其特征在于,所述第三参数梯度为所述第二加速器基于至少一个第二训练样本得到的。12.一种神经网络模型的训练装置,其特征在于,所述训练装置包括:获取单元,用于获取至少一个第一训练样本;处理单元,用于根据第一参数梯度更新神经网络模型的至少部分参数;其中,所述第一参数梯度是根据第二参数梯度、第三参数梯度和第四参数梯度确定的,所述第二参数梯度、所述第三参数梯度和所述第四参数梯度为基于不同的训练样本得到的所述至少部分参数对应的参数梯度,所述第二参数梯度是所述处理单...

【专利技术属性】
技术研发人员:陈仙萍马力杨华
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1