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

技术编号:33509925 阅读:59 留言:0更新日期:2022-05-19 01:18
本申请公开了人工智能领域中的一种神经网络模型的训练方法、图像处理方法及装置。该训练方法包括:至少一个第一加速器分别基于至少一个训练样本对神经网络模型进行训练,其中,在执行第i层的前向计算之前,从本地和其他加速器上获取第i层的不同参数以获取第i层的完整的模型参数。本申请的方法能够降低第一加速器的存储压力。速器的存储压力。速器的存储压力。

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


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

技术介绍

[0002]人工智能(artificial intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,AI基础理论等。
[0003]在人工智能领域,通过对神经网络模型进行训练能够得到性能较优的目标神经网络模型以执行各种数据处理工作。训练设备上需要保存完整的模型参数以执行神经网络模型的训练过程,然而,单个设备的内存大小有限,深度模型中的模型参数较多,给设备带来了较大的存储压力,内存较小的设备甚至无法保存完整的模型参数,难以执行神经网络模型的训练过程。
[0004]因此,如何降低神经网络模型的运算设备的存储压力,成为一个亟需解决的技术问题。

技术实现思路

[0005]本申请提供一种神经网络模型的训练方法、图像处理方法及装置,能够降低神经网络模型的运算设备的存储压力。
[0006]第一方面,提供了一种神经网络模型的训练方法,该方法包括:至少一个第一加速器分别获取至少一个训练样本;至少一个第一加速器分别对至少一个训练样本执行神经网络模型的前向计算,得到前向计算的结果,其中,至少一个第一加速器在执行神经网络模型中的第i层的前向计算之前,从本地以及其他加速器获取第i层的不同参数以得到第i层的完整的模型参数,i为正整数;至少一个第一加速器分别利用前向计算的结果进行反向计算,得到神经网络模型的第一参数梯度;至少一个第一加速器分别基于神经网络模型的第一参数梯度更新神经网络模型的参数。
[0007]根据本申请实施例的方案,神经网络模型的参数的不同部分可以存储于多个加速器中,第一加速器可以从其他设备中获取所需的参数,并完成神经网络模型的前向计算。所需的内存远小于存储完整的神经网络模型所需的内存,减小了第一加速器的存储压力,避免由于第一加速器内存不足而导致无法训练该神经网络模型。
[0008]此外,该至少一个第一加速器能够实现数据并行的模型训练,提高模型的训练效率。
[0009]同时,相较于层间切分的方式,采用层内切分的方式,即从不同加速器获取同一层的不同参数,能够避免分布式训练时多个加速器从同一加速器获取参数时造成的通信拥堵,提高处理效率。
[0010]该神经网络模型的前向计算过程中所有需要从其他加速器获取参数的层均可以理解为第i层。
[0011]结合第一方面,在第一方面的某些实现方式中,方法还包括:至少一个第一加速器在执行神经网络模型中的第i层的前向计算之后,释放从其他加速器获取的第i层的参数。
[0012]根据本申请实施例的方案,在完成前向计算后,释放从其他加速器获取的参数,可以降低训练过程中模型参数所占用的空间,这样,每个加速器可以支持更多的训练样本,提高训练集群的线性度,有利于实现神经网络模型的高效训练。
[0013]结合第一方面,在第一方面的某些实现方式中,至少一个第一加速器在执行神经网络模型中的第j层的反向计算之前,从本地以及其他第一加速器获取第j层的不同参数以得到第j层的完整的模型参数,j为正整数。
[0014]根据本申请实施例的方案,在执行完前向计算后可以释放从其他设备获取的参数,执行反向计算的过程中重新获取所需参数,降低训练过程中参数所占用的存储空间。
[0015]该神经网络模型的反向计算过程中所有需要从其他加速器获取参数的层均可以理解为第j层。
[0016]结合第一方面,在第一方面的某些实现方式中,方法还包括:至少一个第一加速器在执行神经网络模型中的第j层的反向计算之后,释放从其他加速器获取的第j层的参数。
[0017]根据本申请实施例的方案,在完成反向计算后,释放从其他加速器获取的参数,可以进一步降低训练过程中模型参数所占用的空间,能够使得整个训练过程中的参数占用的存储空间较小,这样,每个加速器可以支持更多的训练样本,提高训练集群的线性度,有利于实现神经网络模型的高效训练。
[0018]结合第一方面,在第一方面的某些实现方式中,至少一个第一加速器在执行神经网络模型中的第j层之后的任一层或多层的反向计算的时段内,从本地以及其他加速器获取第j层的不同参数以得到第j层的完整的模型参数。
[0019]通过将获取参数和反向计算重叠起来,能够减少不能被计算过程隐藏的通信时间,以提高训练的效率,提高集群的训练性能。
[0020]需要说明的是,在当前层的反向计算的时段内获取其他层的参数,可以理解为在当前层的反向计算的时段内执行获取其他层的参数的操作,并不限定获取其他层的参数的时间完全处于当前层的反向计算的时段内。
[0021]结合第一方面,在第一方面的某些实现方式中,至少一个第一加速器在执行神经网络模型中的第i层之前的任一层或多层的前向计算的时段内,从本地以及其他加速器获取第i层的不同参数以得到第i层的完整的模型参数。
[0022]通过将获取参数和前向计算重叠起来,能够减少不能被计算过程隐藏的通信时间,以提高训练的效率,提高集群的训练性能。
[0023]需要说明的是,在当前层的前向计算的时段内获取其他层的参数,可以理解为在当前层的前向计算的时段内执行获取其他层的参数的操作,并不限定获取其他层的参数的时间完全处于当前层的前向计算的时段内。
[0024]结合第一方面,在第一方面的某些实现方式中,至少一个第一加速器位于第一服务器中。
[0025]结合第一方面,在第一方面的某些实现方式中,方法还包括:至少一个第一加速器分别将第一参数梯度发送至其他加速器。
[0026]这样,其他加速器可以基于第一参数梯度更新本地存储的神经网络模型的参数。
[0027]结合第一方面,在第一方面的某些实现方式中,至少一个第一加速器在执行神经网络模型中的第k层之前的任一层或多层的反向计算的时段内,向其他加速器发送第一参数梯度中的第k层的参数梯度,k为正整数。
[0028]通过将参数梯度同步和反向计算重叠起来,能够减少不能被计算过程隐藏的通信时间,以提高训练的效率,提高集群的训练性能。
[0029]需要说明的是,在当前层的反向计算的时段内同步其他层的参数梯度,可以理解为在当前层的反向计算的时段内执行同步其他层的参数梯度的操作,并不限定同步其他层的参数梯度的时间完全处于当前层的反向计算的时段内。
[0030]结合第一方面,在第一方面的某些实现方式中,方法还包括:至少一个第一加速器分别接收由其他加速器发送的神经网络模型本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种神经网络模型的训练方法,其特征在于,包括:至少一个第一加速器分别获取至少一个训练样本;所述至少一个第一加速器分别对所述至少一个训练样本执行神经网络模型的前向计算,得到前向计算的结果,其中,所述至少一个第一加速器在执行所述神经网络模型中的第i层的前向计算之前,从本地以及其他加速器获取所述第i层的不同参数以得到所述第i层的完整的模型参数,i为正整数;所述至少一个第一加速器分别利用所述前向计算的结果进行反向计算,得到所述神经网络模型的第一参数梯度;所述至少一个第一加速器分别基于所述神经网络模型的第一参数梯度更新所述神经网络模型的参数。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述至少一个第一加速器在执行所述神经网络模型中的第i层的前向计算之后,释放从所述其他加速器获取的所述第i层的参数。3.根据权利要求1或2所述的方法,其特征在于,所述至少一个第一加速器在执行所述神经网络模型中的第j层的反向计算之前,从本地以及其他第一加速器获取所述第j层的不同参数以得到所述第j层的完整的模型参数,j为正整数。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:所述至少一个第一加速器在执行所述神经网络模型中的第j层的反向计算之后,释放从所述其他加速器获取的所述第j层的参数。5.根据权利要求3或4所述的方法,其特征在于,所述至少一个第一加速器在执行所述神经网络模型中的第j层之后的任一层或多层的反向计算的时段内,从本地以及其他加速器获取所述第j层的不同参数以得到所述第j层的完整的模型参数。6.根据权利要求1至5中任一项所述的方法,其特征在于,所述至少一个第一加速器在执行所述神经网络模型中的第i层之前的任一层或多层的前向计算的时段内,从本地以及其他加速器获取所述第i层的不同参数以得到所述第i层的完整的模型参数。7.根据权利要求1至6中任一项所述的方法,其特征在于,所述至少一个第一加速器位于第一服务器中。8.根据权利要求1至7中任一项所述的方法,其特征在于,所述方法还包括:所述至少一个第一加速器分别将所述第一参数梯度发送至其他加速器。9.根据权利要求8所述的方法,其特征在于,所述至少一个第一加速器在执行所述神经网络模型中的第k层之前的任一层或多层的反向计算的时段内,向其他加速器发送所述第一参数梯度中的第k层的参数梯度,k为正整数。10.根据权利要求1至9中任一项所述的方法,其特征在于,所述方法还包括:所述至少一个第一加速器分别接收由其他加速器发送的所述神经网络模型的第二参数梯度;以及所述至少一个第一加速器分别基于所述神经网络模型的第一参数梯度更新所述神经网络模型的参数,包括:所述至少一个第一加速器分别基于所述神经网络模型的第一参数梯度和所述神经网络模型的第二参数梯度更新所述神经网络模型的参数。
11.根据权利要求10所述的方法,其特征在于,所述至少一个第一加速器包括两个或两个以上第一加速器,以及所述至少一个第一加速器分别接收由其他加速器发送的所述神经网络模型的第二参数梯度,包括:所述至少一个第一加速器同时分别接收由其他服务器中的加速器发送的所述神经网络模型的第二参数梯度。12.一种图像处理方法,其特征在于,包括:第二加速器获取待处理图像;所述第二加速器对所述待处理图像执行目标神经网络模型的前向计算,得到待处理图像的处理结果,其中,所述第二加速器在执行所述目标神经网络模型中的第p层的前向计算之前,从本地以及其他加速器获取所述第p层的不同参数以得到所述第p层的完整的模型参数,p为正整数。13.根据权利要求12所述的方法,其特征在于,所述第二加速器在执行所述目标神经网络模型中的第p层的前向计算之后,释放从所述其他加速器获取的所述第p层的参数。14.根据权利要求12或13所述的方法,其特征在于,所述第二加速器在执行所述目标神经网络模型中的第p层之前的任一层或多层的前向计算的时段内,从本地以及其他加速器获取所述第p层的不同参数以得到所述第p层的完整的模型参数。15.根据权利要求12至14中任一项所述的方法,其特征在于,所述目标神经网络模型的参数是通过至少一个第一加速器分别基于神经网络模型的第一参数梯度更新所述神经网络模型的参数得到的,所述神经网络模型的第一参数梯度是通过所述至少一个第一加速器利用前向计算的结果进行反向计算得到,所述前向计算的结果是通过所述至少一个第一加速器分别对所述至少一个训练样本执行神经网络模型的前向计算得到的,所述神经网络模型中的第i层的完整的模型参数是从本地以及其他加速器获取所述第i层的不同参数得到的。16.根据权利要求15所述的方法,其特征在于,所述至少一个第一加速器执行所述神经网络模型中的第j层的反向计算时,所述神经网络模型中的第j层的完整的模型参数是从本地以及其他加速器获取所述第j层的不同参数得到的。17.根据权利要求16所述的方法,其特征在于,所述第j层的完整的模型参数是在所述至少一个第一加速器执行所述神经网络模型中的第j层之后的任一层或多层的反向计算的时段内获得的。18.根据权利要求15至17中任一项所述的方法,其特征在于,所述至少一个第一加速器位于第一服务器中。19.根据权利要求15至18中任一项所述的方法,其特征在于,所述目标神经网络模型的参数是通过至少一个第一加速器分别基于神经网络模型的第一参数梯度更新所述神经网络模型的参数得到的,包括:所述目标神经网络模型的参数是通过所述至少一个第一加速器分别基于所述神经网络模型的第一参数梯度和所述神经网络模型的第二参数梯度更新所述神经网络模型的参数得到的,其中,所述神经网络模型的第二参数梯度包括所述至少一个第一加速器接收的其他加速器发送的参数梯度。
20.根据权利要求15至19中任一项所述的方法,其特征在于,所述至少一个第一加速器包括两个或两个以上第一加速器,所述神经网络模型的第二参数梯度包括所述至少一个第一加速器同时接收的由其他服务器中的其他加速器发送的参数梯度。21.一种神经网络模型的训练装置,其特征在于,包括:获取单元,用于获取至少一个训练样本;处理单元,用于:对所述至少一个训练样本执行神经网...

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

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

1