技术新讯 > 计算推算,计数设备的制造及其应用技术 > 神经网络训练方法及装置、电子设备、存储介质与流程  >  正文

神经网络训练方法及装置、电子设备、存储介质与流程

  • 国知局
  • 2024-08-08 16:59:52

本公开涉及计算机,特别涉及一种神经网络训练方法及装置、电子设备、存储介质。

背景技术:

1、深度学习已经在多个领域展现出了卓越的性能,包括自然语言处理、计算机视觉、语音识别等等。然而,大型神经网络模型的训练涉及数十亿,甚至数千亿的参数,需要大规模的数据集和分布式计算资源,使得训练复杂。

2、相关技术中,神经网络模型需要先进行编译,编译是指将程序转换成机器可执行文件,然后将编译后的神经网络模型部署到设备上,通过设备运行神经网络模型,来对神经网络模型进行训练。相关技术中存在神经网络的训练性能差的问题。

技术实现思路

1、本公开提供一种神经网络训练方法及装置、电子设备、存储介质。

2、第一方面,本公开提供了一种神经网络训练方法,所述神经网络包括前向模型和反向模型,其中,所述前向模型用于根据输入数据获得损失值,所述反向模型用于根据所述损失值获得所述神经网络的参数的梯度,该神经网络训练方法包括:

3、获取所述神经网络的前向模型;

4、对所述前向模型进行编译,在完整的所述前向模型完成编译后,将编译后的前向模型部署到处理设备;

5、在满足编译条件的情况下,根据所述前向模型,对所述反向模型进行编译,将完成编译的部分反向模型部署到所述处理设备,直至完整的所述反向模型完成编译,所述编译条件包括所述处理设备第一次运行所述前向模型期间,或所述前向模型第一次运行结束后;

6、通过所述处理设备多次运行所述前向模型和所述反向模型,以对所述神经网络进行训练。

7、可选地,所述方法还包括:

8、在满足重编译条件的情况下,根据所述前向模型,重新对所述反向模型进行编译,将完成重新编译的部分反向模型部署到所述处理设备,直至完整的所述反向模型完成重新编译;

9、其中,所述重编译条件包括所述前向模型的运行轨迹变化、用于部署所述反向模型的硬件资源变化以及训练的需求变化中的至少一个,所述前向模型的运行轨迹是指运行所述前向模型时经过的所述前向模型中的各个前向算子结点,所述训练的需求变化包括有新的训练任务以及训练的性能需求变化中的至少一个。

10、可选地,所述根据所述前向模型,重新对所述反向模型进行编译,将完成重新编译的部分反向模型部署到所述处理设备,直至完整的所述反向模型完成重新编译,包括:

11、根据所述前向模型,将所述反向模型中预设网络层的参数的梯度冻结,获得冻结后的反向模型;

12、重新对所述冻结后的反向模型进行编译,将完成重新编译的部分所述冻结后的反向模型部署到所述处理设备,直至完整的所述冻结后的反向模型完成重新编译。

13、可选地,所述前向模型包括多个前向算子结点,所述反向模型包括多个反向算子结点;

14、所述在满足编译条件的情况下,根据所述前向模型,对所述反向模型进行编译,将完成编译的部分反向模型部署到所述处理设备,直至完整的所述反向模型完成编译,包括:

15、在所述处理设备第一次运行所述前向模型期间,针对已经运行的单个前向算子结点,生成已经运行的单个前向算子节点对应的反向算子结点;

16、对已经运行的单个前向算子节点对应的反向算子结点进行编译,将完成编译的反向算子结点部署到所述处理设备,直至完整的所述反向模型完成编译。

17、可选地,所述前向模型包括多个前向算子结点,所述反向模型包括多个反向算子结点;

18、所述在满足编译条件的情况下,根据所述前向模型,对所述反向模型进行编译,将完成编译的部分反向模型部署到所述处理设备,直至完整的所述反向模型完成编译,包括:

19、在满足编译条件的情况下,根据所述前向模型中的各个前向算子结点,生成所述前向算子结点对应的反向算子结点,并根据各个反向算子结点,生成所述反向模型;

20、对所述反向模型进行编译,将完成编译的部分反向模型部署到所述处理设备,直至完整的所述反向模型完成编译。

21、可选地,所述前向模型包括多个前向子模型,所述前向子模型包括多个前向算子结点,所述反向模型包括多个反向子模型,所述反向子模型包括多个反向算子结点;

22、所述在满足编译条件的情况下,根据所述前向模型,对所述反向模型进行编译,将完成编译的部分反向模型部署到所述处理设备,直至完整的所述反向模型完成编译,包括:

23、在所述处理设备第一次运行所述前向模型期间,针对已经运行的前向子模型,生成所述前向子模型对应的反向子模型;

24、对所述反向子模型进行编译,将完成编译的反向子模型部署到所述处理设备,直至完整的所述反向模型完成编译。

25、可选地,所述前向模型包括静态图和动态图,所述动态图是指根据输入数据确定运行轨迹的模型,所述运行轨迹是指运行所述动态图时经过的所述动态图中的各个算子结点。

26、可选地,所述神经网络为大模型,所述大模型是指具有大规模参数和复杂计算结构的机器学习模型。

27、可选地,所述对所述前向模型进行编译,包括:对所述前向模型按照第一并行部署方式进行编译,其中,所述第一并行部署方式包括数据并行、流水并行、张量并行中的至少一种;

28、根据所述前向模型,对所述反向模型进行编译,包括:根据所述前向模型,对所述反向模型按照第二并行部署方式进行编译,其中,所述第二并行部署方式包括数据并行、流水并行、张量并行中的至少一种,所述第一并行部署方式和所述第二并行部署方式不同。

29、可选地,所述神经网络还包括交互模型;

30、所述通过所述处理设备多次运行所述前向模型和所述反向模型,以对所述神经网络进行训练,包括:

31、通过所述处理设备执行多次以下流程:将输入数据输入至所述前向模型,获得所述前向模型的损失值;根据所述前向模型和所述反向模型之间的通信方式,将所述损失值输入至所述反向模型,获得所述神经网络的参数的梯度,其中,所述前向模型和所述反向模型之间的通信方式是根据所述第一并行部署方式和所述第二并行部署方式确定的;将所述梯度输入至所述交互模型,获得所述神经网络的参数变化量;根据所述参数变化量,更新所述前向模型和所述反向模型中所述神经网络的参数。

32、可选地,所述前向模型包括多个前向子模型,所述反向模型包括多个反向子模型;

33、所述根据所述前向模型,对所述反向模型进行编译,包括:

34、比较前向子模型的负载特性以及前向子模型对应的反向子模型的负载特性;

35、在前向子模型的负载特性和反向子模型的负载特性之间的差值小于预设值的情况下,对反向子模型按照统一部署方式进行编译,其中,所述统一部署方式是指将反向子模型部署在对应的前向子模型所在处理设备上;

36、在前向子模型的负载特性和反向子模型的负载特性之间的差值大于或等于预设值的情况下,对反向子模型按照分离部署方式进行编译,其中,所述分离部署方式是指将反向子模型部署在和对应的前向子模型所在处理设备不同的处理设备上;

37、其中,负载特性包括计算量、存储量、通信量、计算量和存储量之间的比值、计算量和通信量之间的比值、存储量和通信量之间的比值中的至少一个。

38、第二方面,本公开提供了一种神经网络训练装置,所述神经网络包括前向模型和反向模型,其中,所述前向模型用于根据输入数据获得损失值,所述反向模型用于根据所述损失值获得所述神经网络的参数的梯度,该神经网络训练装置包括:

39、获取模块,用于获取所述神经网络的前向模型;

40、第一编译模块,用于对所述前向模型进行编译,在完整的所述前向模型完成编译后,将编译后的前向模型部署到处理设备;

41、第二编译模块,用于在满足编译条件的情况下,根据所述前向模型,对所述反向模型进行编译,将完成编译的部分反向模型部署到所述处理设备,直至完整的所述反向模型完成编译,所述编译条件包括所述处理设备第一次运行所述前向模型期间,或所述前向模型第一次运行结束后;

42、运行模块,用于通过所述处理设备多次运行所述前向模型和所述反向模型,以对所述神经网络进行训练。

43、第三方面,本公开提供了一种电子设备,该电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的一个或多个计算机程序,一个或多个所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的神经网络训练方法。

44、第四方面,本公开提供了一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序在被处理器执行时实现上述的神经网络训练方法。

45、本公开所提供的实施例,神经网络包括前向模型和反向模型,前向模型用于根据输入数据获得损失值,反向模型用于根据损失值获得神经网络的参数的梯度,将前向模型和反向模型分离开,对前向模型和反向模型分别进行编译,能够提升编译的效率,进一步提升神经网络的训练效率,提升神经网络的训练性能。对前向模型进行编译,在完整的前向模型完成编译后,将编译后的前向模型部署到处理设备,能够得到完整的前向模型中的全局信息,而且,能够减少在前向模型部署到处理设备时的编译性能消耗和内存消耗,加快前向模型部署到处理设备的部署效率。在满足编译条件的情况下,根据前向模型,对反向模型进行编译,将完成编译的部分反向模型部署到处理设备,直至完整的反向模型完成编译,对反向模型采用边编译边部署的方式,由于每次编译部分反向模型,将完成编译的部分反向模型部署到处理设备,而不是一次性编译完整的反向模型,减少每次编译的工作量,降低编译过程复杂度,减少编译失败的可能性,而且,对反向模型采用边编译边部署的方式,能够利用部署时信息进行编译的优化,进一步提升神经网络的训练性能。在将前向模型和反向模型部署到处理设备之后,通过处理设备多次运行前向模型和反向模型,以对神经网络进行训练,实现神经网络的整体训练过程。

46、应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

本文地址:https://www.jishuxx.com/zhuanli/20240808/271712.html

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