System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 神经网络模型训练处理的电子设备、方法和介质技术_技高网

神经网络模型训练处理的电子设备、方法和介质技术

技术编号:43535634 阅读:3 留言:0更新日期:2024-12-03 12:19
本申请提供了一种神经网络模型训练处理的电子设备、方法和介质,中央处理单元配置成对神经网络模型训练中的中间张量进行存储控制:对于生成的第一中间张量,确定人工智能处理单元的存储器的当前存储使用率是否超过第一阈值,在确定超过第一阈值的情况下,将第一中间张量从人工智能处理单元的存储器转存至中央处理单元的存储器;以及在后向计算中使用第一中间张量进行计算之前,判断第一中间张量的存储位置,在确定存储位置为中央处理单元的存储器的情况下,将第一中间张量从中央处理单元的存储器取回至人工智能处理单元的存储器,以用于后向计算。本申请能够根据人工智能处理单元的存储占用情况动态地将中间张量卸载至中央处理单元的存储器。

【技术实现步骤摘要】

本申请的一些实施例具体地涉及一种神经网络模型训练处理的电子设备、方法和介质


技术介绍

1、神经网络模型的发展使得人工智能在各应用领域实现突破性进展,这也带来了硬件算力、存储能力和能源消耗等方面的挑战,需要合理配置方案来解决神经网络模型在计算、训练过程中的存储资源占用问题。具体的,神经网络模型训练过程中需要占用较多的显存资源,这使得降低训练速度、对硬件资源提出更高要求、增加了网络模型的训练难度。


技术实现思路

1、本申请的实施例提供了一种神经网络模型训练处理的电子设备、方法和介质,用于降低神经网络模型训练过程中的显存占用。

2、根据本申请的一方面,提供了一种神经网络模型训练处理的电子设备,包括:中央处理单元,包括对应于中央处理单元的第一存储器;以及人工智能处理单元,包括对应于人工智能处理单元的第二存储器,其中,中央处理单元配置成对神经网络模型训练过程中的中间张量进行存储控制,包括:利用人工智能处理单元对神经网络模型进行前向计算;对于在前向计算中生成的第一中间张量,将第一中间张量存储至第二存储器;确定第二存储器的当前存储使用率是否超过第一阈值,在确定超过第一阈值的情况下,将第一中间张量转存至第一存储器;利用人工智能处理单元对神经网络模型进行后向计算;以及在后向计算中使用第一中间张量进行计算之前,确定第一中间张量的存储位置,在确定存储位置为第二存储器的情况下,由人工智能处理单元直接使用第一中间张量,以及在确定存储位置为第一存储器的情况下,将第一中间张量从第一存储器取回至第二存储器,以用于后向计算。

3、根据本申请的一些实施例,前向计算中生成第一中间张量的过程对应于第一处理队列,将第一中间张量转存至第一存储器的过程对应于第二处理队列,后向计算中使用第一中间张量进行计算的过程对应于第三处理队列,以及将第一中间张量取回至第二存储器的过程对应于第四处理队列,其中,中央处理单元对神经网络模型训练过程中的中间张量进行存储控制还包括:对第一处理队列和第二处理队列进行同步控制,以使得在第一处理队列执行结束之后再执行第二处理队列;以及对第三处理队列和第四处理队列进行同步控制,以使得在第四处理队列执行结束之后再执行第三处理队列。

4、根据本申请的一些实施例,中央处理单元对神经网络模型训练过程中的中间张量进行存储控制还包括:对于前向计算中生成的第二中间张量,在确定将第二中间张量转存至第一存储器时,确定第二存储器的当前存储使用率是否超过第二阈值;以及如果确定超过第二阈值,对前向计算中生成其他中间张量的第五处理队列和将第二中间张量转存至第一存储器的第六处理队列进行同步控制,以使得暂停第五处理队列直至当前存储使用率不超过第二阈值,其中,其他中间张量为不同于第二中间张量的一个或多个中间张量。

5、根据本申请的一些实施例,中央处理单元对神经网络模型训练过程中的中间张量进行存储控制还包括:对于后向计算中使用第三中间张量进行计算的过程中,在确定将第三中间张量从第一存储器取回至第二存储器时,确定第二存储器的当前存储使用率是否超过第三阈值;以及如果确定超过第三阈值,对后向计算中使用其他中间张量的第七处理队列和将第三中间张量从第一存储器取回至第二存储器的第八处理队列进行同步控制,以使得暂停第八处理队列至当前存储使用率不超过第三阈值,其中,其他中间张量为不同于第三中间张量的一个或多个中间张量。

6、根据本申请的一些实施例,人工智能处理单元的数目为多个,每个人工智能处理单元包括与其对应的第二存储器,中央处理单元配置成针对每个人工智能处理单元分别进行中间张量的存储控制。

7、根据本申请的一些实施例,第一中间张量为前向计算中生成的激活值张量。

8、根据本申请的一些实施例,人工智能处理单元的数目为多个,每个人工智能处理单元包括与其对应的第二存储器,第一中间张量为前向计算中生成的激活值张量,中央处理单元对神经网络模型训练过程中的中间张量进行存储控制还包括:将与激活值张量进行计算的权重张量切分成n份,并分配给多个人工智能处理单元中的n个人工智能处理单元,以使得由n个人工智能处理单元来并行地执行激活值张量与权重张量的计算过程;在确定将激活值张量转存至第一存储器的情况下,将激活值张量切分为n份,针对n个人工智能处理单元,分别转存1/n份的激活值张量至第一存储器;以及在后向计算中使用激活值张量之前,分别取回1/n份的激活值张量,并利用集体通信操作得到完整的激活值张量。

9、根据本申请的一些实施例,中央处理单元对神经网络模型训练过程中的中间张量进行存储控制实施为由上下文管理器实现的第一指令代码,第一指令代码由中央处理单元执行,其中,神经网络模型实现为与第一指令代码解耦合的第二指令代码。

10、根据本申请的另一方面,提供了一种神经网络模型训练处理的方法。该方法适用于电子设备,该电子设备包括中央处理单元和人工智能处理单元,中央处理单元包括对应于中央处理单元的第一存储器,人工智能处理单元包括对应于人工智能处理单元的第二存储器。根据本申请的方法包括:对神经网络模型进行前向计算;对于在前向计算中生成的第一中间张量,将第一中间张量存储至第二存储器;确定第二存储器的当前存储使用率是否超过第一阈值,在确定超过第一阈值的情况下,将第一中间张量转存至第一存储器;对神经网络模型进行后向计算;以及在后向计算中使用第一中间张量进行计算之前,确定第一中间张量的存储位置,在确定存储位置为第二存储器的情况下,由人工智能处理单元直接使用第一中间张量,以及在确定存储位置为第一存储器的情况下,将第一中间张量从第一存储器取回至第二存储器,以用于后向计算。

11、根据本申请的又一方面,提供了一种非暂时性计算机可读存储介质,其上存储有计算机可读指令,该计算机可读指令在被处理器执行时,使得处理器执行如上所述的神经网络模型训练处理的方法的步骤。

12、利用本申请实施例提供的神经网络模型训练处理的电子设备、方法和介质,能够根据人工智能处理单元的存储器使用率来动态地将神经网络模型前向计算中产生的中间张量卸载到系统存储器,以降低神经网络模型训练过程中产生的显存占用,从而使得能够在有限的人工智能处理单元存储资源下实现神经网络模型训练。

本文档来自技高网...

【技术保护点】

1. 一种神经网络模型训练处理的电子设备,包括:

2.根据权利要求1所述的电子设备,其特征在于,所述前向计算中生成所述第一中间张量的过程对应于第一处理队列,所述将所述第一中间张量转存至所述第一存储器的过程对应于第二处理队列,所述后向计算中使用所述第一中间张量进行计算的过程对应于第三处理队列,以及所述将所述第一中间张量取回至所述第二存储器的过程对应于第四处理队列,

3. 根据权利要求1所述的电子设备,其特征在于,所述中央处理单元对神经网络模型训练过程中的中间张量进行存储控制还包括:

4. 根据权利要求1所述的电子设备,其特征在于,所述中央处理单元对神经网络模型训练过程中的中间张量进行存储控制还包括:

5.根据权利要求1所述的电子设备,其特征在于,所述人工智能处理单元的数目为多个,每个人工智能处理单元包括与其对应的第二存储器,所述中央处理单元配置成针对每个人工智能处理单元分别进行所述中间张量的存储控制。

6.根据权利要求1所述的电子设备,其特征在于,所述第一中间张量为所述前向计算中生成的激活值张量。

7.根据权利要求1所述的电子设备,其特征在于,所述人工智能处理单元的数目为多个,每个人工智能处理单元包括与其对应的第二存储器,所述第一中间张量为所述前向计算中生成的激活值张量,所述中央处理单元对神经网络模型训练过程中的中间张量进行存储控制还包括:

8.根据权利要求1所述的电子设备,其特征在于,所述中央处理单元对神经网络模型训练过程中的中间张量进行存储控制实施为由上下文管理器实现的第一指令代码,所述第一指令代码由所述中央处理单元执行,其中,所述神经网络模型实现为与所述第一指令代码解耦合的第二指令代码。

9.一种神经网络模型训练处理的方法,其特征在于,所述方法适用于电子设备,所述电子设备包括中央处理单元和人工智能处理单元,所述中央处理单元包括对应于所述中央处理单元的第一存储器,所述人工智能处理单元包括对应于所述人工智能处理单元的第二存储器,所述方法包括:

10.根据权利要求9所述的方法,其特征在于,所述前向计算中生成所述第一中间张量的过程对应于第一处理队列,所述将所述第一中间张量转存至所述第一存储器的过程对应于第二处理队列,所述后向计算中使用所述第一中间张量进行计算的过程对应于第三处理队列,以及所述将所述第一中间张量取回至所述第二存储器的过程对应于第四处理队列,

11. 根据权利要求9所述的方法,其特征在于,所述方法还包括:

12. 根据权利要求9所述的方法,其特征在于,所述方法还包括:

13.根据权利要求9所述的方法,其特征在于,所述人工智能处理单元的数目为多个,每个人工智能处理单元包括与其对应的第二存储器,针对每个人工智能处理单元分别进行中间张量的存储控制。

14.根据权利要求13所述的方法,其特征在于,所述第一中间张量为所述前向计算中生成的激活值张量。

15.根据权利要求9所述的方法,其特征在于,所述人工智能处理单元的数目为多个,每个人工智能处理单元包括与其对应的第二存储器,所述第一中间张量为所述前向计算中生成的激活值张量,所述方法还包括:

16.根据权利要求9所述的方法,其特征在于,所述方法实施为由上下文管理器实现的第一指令代码,所述第一指令代码由所述中央处理单元执行,其中,所述神经网络模型实现为与所述第一指令代码解耦合的第二指令代码。

17.一种非暂时性计算机可读存储介质,其上存储有计算机可读指令,所述计算机可读指令在被处理器执行时,使得所述处理器执行如权利要求9-16中任一项所述的方法的步骤。

...

【技术特征摘要】

1. 一种神经网络模型训练处理的电子设备,包括:

2.根据权利要求1所述的电子设备,其特征在于,所述前向计算中生成所述第一中间张量的过程对应于第一处理队列,所述将所述第一中间张量转存至所述第一存储器的过程对应于第二处理队列,所述后向计算中使用所述第一中间张量进行计算的过程对应于第三处理队列,以及所述将所述第一中间张量取回至所述第二存储器的过程对应于第四处理队列,

3. 根据权利要求1所述的电子设备,其特征在于,所述中央处理单元对神经网络模型训练过程中的中间张量进行存储控制还包括:

4. 根据权利要求1所述的电子设备,其特征在于,所述中央处理单元对神经网络模型训练过程中的中间张量进行存储控制还包括:

5.根据权利要求1所述的电子设备,其特征在于,所述人工智能处理单元的数目为多个,每个人工智能处理单元包括与其对应的第二存储器,所述中央处理单元配置成针对每个人工智能处理单元分别进行所述中间张量的存储控制。

6.根据权利要求1所述的电子设备,其特征在于,所述第一中间张量为所述前向计算中生成的激活值张量。

7.根据权利要求1所述的电子设备,其特征在于,所述人工智能处理单元的数目为多个,每个人工智能处理单元包括与其对应的第二存储器,所述第一中间张量为所述前向计算中生成的激活值张量,所述中央处理单元对神经网络模型训练过程中的中间张量进行存储控制还包括:

8.根据权利要求1所述的电子设备,其特征在于,所述中央处理单元对神经网络模型训练过程中的中间张量进行存储控制实施为由上下文管理器实现的第一指令代码,所述第一指令代码由所述中央处理单元执行,其中,所述神经网络模型实现为与所述第一指令代码解耦合的第二指令代码。

9.一种神经网络模型训练处理的方法,其特征在于,所述方法适...

【专利技术属性】
技术研发人员:请求不公布姓名请求不公布姓名请求不公布姓名请求不公布姓名请求不公布姓名请求不公布姓名
申请(专利权)人:上海壁仞科技股份有限公司
类型:发明
国别省市:

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

1