System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 用于模型训练的显存控制方法、装置、设备以及存储介质制造方法及图纸_技高网

用于模型训练的显存控制方法、装置、设备以及存储介质制造方法及图纸

技术编号:44971444 阅读:2 留言:0更新日期:2025-04-12 01:45
本公开提供了用于模型训练的显存控制方法、装置、设备以及存储介质,涉及人工智能技术领域,尤其涉及神经网络、大模型、训练优化等技术领域。具体实现方案为:根据模型训练过程中的一次或多次反向计算所需的参数梯度信息的分组信息,为该一次或多次反向计算重构显存空间;执行该一次或多次反向计算,得到一次或多次反向计算结果;将该一次或多次反向计算结果,存入为该一次或多次反向计算重构的显存空间;释放为一次或多次反向计算重构的显存空间。

【技术实现步骤摘要】

本公开涉及人工智能,尤其涉及神经网络、大模型、训练优化等。


技术介绍

1、显存在大模型训练中非常重要。大模型通常包含海量的参数,这些参数需要在训练过程中不断地被读取、更新和存储。显存作为图形处理器(graphics processing unit,gpu)中专门用于存储和处理数据的部分,能够为模型参数提供快速的存储和访问支持,确保模型训练的顺利进行。如果显存不够,可能需要采用重计算等策略来节省显存。但是重计算会导致性能下降,所以要通过其他手段来节省显存,来减少或消除重计算。


技术实现思路

1、本公开提供了一种用于模型训练的显存控制方法、装置、设备以及存储介质

2、根据本公开的一方面,提供了一种用于模型训练的显存控制方法,包括:

3、根据一次或多次反向计算所需的参数梯度信息的分组信息,为该一次或多次反向计算重构显存空间;

4、执行该一次或多次反向计算,得到一次或多次反向计算结果;

5、将该一次或多次反向计算结果,存入为该一次或多次反向计算重构的显存空间;

6、释放为一次或多次反向计算重构的显存空间。

7、根据本公开的另一方面,提供了一种用于模型训练的显存控制装置,包括:

8、重构模块,用于根据一次或多次反向计算所需的参数梯度信息的分组信息,为该一次或多次反向计算重构显存空间;

9、计算模块,用于执行该一次或多次反向计算,得到一次或多次反向计算结果;

10、存储模块,用于将该一次或多次反向计算结果,存入为该一次或多次反向计算重构的显存空间;

11、释放模块,用于释放为一次或多次反向计算重构的显存空间。

12、根据本公开的另一方面,提供了一种电子设备,包括:

13、至少一个处理器;以及

14、与该至少一个处理器通信连接的存储器;其中,

15、该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本公开实施例中任一的方法。

16、根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,该计算机指令用于使该计算机执行根据本公开实施例中任一的方法。

17、根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现根据本公开实施例中任一的方法。

18、根据本公开实施例,可以在反向计算之前为反向计算所需的参数梯度信息的分组信息重构显存空间,并在反向计算结束并完成模型更新后释放重构的显存空间,降低后续模型训练过程中对显存空间的占用,可以提高重计算速度,进而提高模型训练速度。

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

本文档来自技高网...

【技术保护点】

1.一种用于模型训练的显存控制方法,包括:

2.根据权利要求1所述的方法,其中,根据模型训练过程中的一次或多次反向计算所需的参数梯度信息的分组信息,为所述反向计算重构显存空间,包括:

3.根据权利要求2所述的方法,其中,对申请的显存空间与所述参数梯度信息所需的显存空间进行原位复用,包括:

4.根据权利要求3所述的方法,其中,将所述一次或多次反向计算结果,存入为所述一次或多次反向计算重构的显存空间,包括:

5.根据权利要求1至4中任一项所述的方法,其中,执行所述一次或多次反向计算,得到一次或多次反向计算结果,包括:

6.根据权利要求5所述的方法,将所述一次或多次反向计算结果,存入为所述一次或多次反向计算重构的显存空间,包括:

7.根据权利要求1至6中任一项所述的方法,其中,释放为一次或多次反向计算重构的显存空间,包括:

8.一种用于模型训练的显存控制装置,包括:

9.根据权利要求8所述的装置,其中,所述重构模块,包括:

10.根据权利要求9所述的装置,其中,所述原位复用子模块,还用于将所述参数梯度信息中每个参数梯度的标识信息所需的存储单元与所述申请的显存空间进行原位复用,得到所述内存中所述每个参数梯度的标识信息在所述显存中对应的存储单元。

11.根据权利要求10所述的装置,其中,所述存储模块,还用于将所述一次或多次反向计算结果中的每个参数梯度的值,存入为所述一次或多次反向计算重构的与所述每个参数梯度的标识信息对应的存储单元中。

12.根据权利要求8至11中任一项所述的装置,其中,所述计算模块,还用于在一个训练步中包括多次反向计算的情况下,将为第一反向计算重构的显存空间中部分或全部参数梯度的值,作为第二反向计算的输入信息,执行第二反向计算得到所述第二反向计算的参数梯度的值。

13.根据权利要求12所述的装置,所述存储模块,还用于将所述第二反向计算的参数梯度的值,存入为所述第二反向计算重构的显存空间。

14.根据权利要求8至13中任一项所述的装置,其中,所述释放模块,还用于在一个训练步中的所有反向计算结束之后,释放为所有反向计算重构的显存空间。

15.一种电子设备,包括:

16.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-7中任一项所述的方法。

17.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-7中任一项所述的方法。

...

【技术特征摘要】

1.一种用于模型训练的显存控制方法,包括:

2.根据权利要求1所述的方法,其中,根据模型训练过程中的一次或多次反向计算所需的参数梯度信息的分组信息,为所述反向计算重构显存空间,包括:

3.根据权利要求2所述的方法,其中,对申请的显存空间与所述参数梯度信息所需的显存空间进行原位复用,包括:

4.根据权利要求3所述的方法,其中,将所述一次或多次反向计算结果,存入为所述一次或多次反向计算重构的显存空间,包括:

5.根据权利要求1至4中任一项所述的方法,其中,执行所述一次或多次反向计算,得到一次或多次反向计算结果,包括:

6.根据权利要求5所述的方法,将所述一次或多次反向计算结果,存入为所述一次或多次反向计算重构的显存空间,包括:

7.根据权利要求1至6中任一项所述的方法,其中,释放为一次或多次反向计算重构的显存空间,包括:

8.一种用于模型训练的显存控制装置,包括:

9.根据权利要求8所述的装置,其中,所述重构模块,包括:

10.根据权利要求9所述的装置,其中,所述原位复用子模块,还用于将所述参数梯度信息中每个参数梯度的标识信息所需的存储单元与所述申请的显存空间进行原位复用,得到所述内存中所述每个参数梯...

【专利技术属性】
技术研发人员:曾锦乐沈亮杨嘉彬于佃海马艳军王海峰
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

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

1