一种大型预训练模型的训练方法和系统与流程

文档序号:35464060发布日期:2023-09-16 02:41阅读:26来源:国知局
一种大型预训练模型的训练方法和系统与流程

本申请实施例涉及深度学习,具体涉及一种大型预训练模型的训练方法和系统。


背景技术:

1、大模型(也称大型预训练模型)的训练是一项复杂的技术,常用的策略包括预训练、微调等。预训练是指使用大规模数据集对模型进行无监督学习,以提高模型的泛化能力和训练效果。微调是指在预训练的基础上,使用较小的数据集对模型进行有监督学习,以适应具体需求和专门领域。但不论采用何种训练方法,目前大模型的训练都使用通用图形处理器(gpgpu)等通用处理单元执行运算。

2、ai 推理芯片是一种专门用于执行模型推理运算的芯片。ai 推理芯片通常是基于通用图形处理器(gpgpu)或专用集成电路(asic)的架构设计,并且具有高度优化的算法和软件支持,以实现高效的推理能力。

3、但是,由于芯片优化方向、计算能力等原因,ai 推理芯片无法运行或无法高效运行一些仅在模型训练时才需要的计算,因此不能或不适合在模型训练过程中直接使用。


技术实现思路

1、为此,本申请实施例提供一种大型预训练模型的训练方法和系统,可以使用计算能力受限的处理单元与通用处理单元共同实现大模型的训练,从而降低了训练过程对通用处理单元的需求,使得关键的大模型计算能力受限的处理技术可以在更多的场景被采用,降低了功耗、时延和成本。

2、为了实现上述目的,本申请实施例提供如下技术方案:

3、根据本申请实施例的第一方面,提供了一种大型预训练模型的训练方法,所述方法包括:

4、将输入数据分别加载到受限处理单元和通用处理单元的存储器中;

5、所述受限处理单元和所述通用处理单元分别根据预训练参数和参数增量执行前向计算,将计算结果存储;

6、所述通用处理单元将标签加载到所述通用处理单元的存储器中并计算损失;

7、所述通用处理单元根据计算的损失执行反向计算,计算梯度并更新所述参数增量;

8、重复执行上述步骤,直至指标达到设定目标值或训练步数达到设定步数阈值,训练结束。

9、可选地,所述受限处理单元和所述通用处理单元根据预训练参数和参数增量执行前向计算,包括:

10、针对前向计算的每一步,若所述受限处理单元的存储器中存在预训练参数,则所述受限处理单元根据所述预训练参数得到这一步前向计算的计算结果;若所述通用处理单元存在所述预训练参数的参数增量,则所述通用处理单元根据所述预训练参数的参数增量得到这一步前向计算的计算结果;将这一步前向计算的计算结果求和,将求和的结果分别发送给所述受限处理单元和所述通用处理单元。

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

12、根据所述梯度反方向将初始化后的预训练参数φ0更新为 φ0+∆φ,如下式所示:

13、

14、其中, φ 为大型预训练模型的所有参数,z 为训练数据集,x、y 分别为输入数据和标签;t 为 y 序列中的序号,yt 表示序列的第 t 个元素,y<t 表示序列的前 t-1 个元素,|y| 表示序列的长度。

15、可选地,将输入数据分别加载到受限处理单元和通用处理单元的存储器中之后,所述方法还包括:

16、从系统的存储器中读取大型预训练模型的预训练参数,加载到所述受限处理单元的存储器中;

17、构造参数增量,加载到所述通用处理单元的存储器中。

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

19、训练结束后,将最终的参数增量从所述通用处理单元的存储器保存到系统的存储器中,丢弃所述受限处理单元的存储器中的预训练参数。

20、根据本申请实施例的第二方面,提供了一种大型预训练模型的训练系统,所述系统包括:

21、输入模块,用于将输入数据分别加载到受限处理单元和通用处理单元的存储器中;

22、前向计算模块,用于所述受限处理单元和所述通用处理单元分别根据预训练参数和参数增量执行前向计算,将计算结果存储;

23、损失计算模块,用于所述通用处理单元将标签加载到所述通用处理单元的存储器中并计算损失;

24、反向计算模块,用于所述通用处理单元根据计算的损失执行反向计算,计算梯度并更新所述参数增量;

25、训练模块,用于重复执行上述步骤,直至指标达到设定目标值或训练步数达到设定步数阈值,训练结束。

26、可选地,所述前向计算模块,具体用于:

27、所述通用处理单元根据所述参数增量 计算出参数增量的参数增量;

28、针对前向计算的每一步,若所述受限处理单元的存储器中存在预训练参数,则所述受限处理单元根据所述预训练参数得到这一步前向计算的计算结果;若所述通用处理单元存在所述预训练参数的参数增量,则所述通用处理单元根据所述预训练参数的参数增量得到这一步前向计算的计算结果;将这一步前向计算的计算结果求和,将求和的结果分别发送给所述受限处理单元和所述通用处理单元。

29、可选地,所述训练模块,还用于:

30、根据所述梯度反方向将初始化后的预训练参数φ0更新为 φ0+∆φ,如下式所示:

31、

32、其中, φ 为大型预训练模型的所有参数,z 为训练数据集,x、y 分别为输入数据和标签;t 为 y 序列中的序号,yt 表示序列的第 t 个元素,y<t 表示序列的前 t-1 个元素,|y| 表示序列的长度。

33、根据本申请实施例的第三方面,提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行以实现上述第一方面所述的方法。

34、根据本申请实施例的第四方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现上述第一方面所述的方法。

35、综上所述,本申请实施例提供了一种大型预训练模型的训练方法和系统,通过将输入数据分别加载到受限处理单元和通用处理单元的存储器中;所述受限处理单元和所述通用处理单元分别根据预训练参数和参数增量执行前向计算,将计算结果存储;将标签加载到所述通用处理单元的存储器中并计算损失;根据计算的损失执行反向计算,计算梯度并更新所述参数增量;重复执行上述步骤,直至指标达到设定目标值或训练步数达到设定步数阈值,训练结束。可以使用计算能力受限的处理单元与通用处理单元共同实现大模型的训练,从而降低了训练过程对通用处理单元的需求,使得关键的大模型训练技术可以在更多的场景被采用,降低了功耗、时延和成本。可以使用计算能力受限的处理单元与通用处理单元共同实现大模型的训练,从而降低了训练过程对通用处理单元的需求,使得关键的大模型计算能力受限的处理技术可以在更多的场景被采用,降低了功耗、时延和成本。



技术特征:

1.一种大型预训练模型的训练方法,其特征在于,所述方法包括:

2.如权利要求1所述的方法,其特征在于,所述受限处理单元和所述通用处理单元根据预训练参数和参数增量执行前向计算,包括:

3.如权利要求1所述的方法,其特征在于,所述方法还包括:

4.如权利要求1所述的方法,其特征在于,将输入数据分别加载到受限处理单元和通用处理单元的存储器中之后,所述方法还包括:

5.如权利要求1所述的方法,其特征在于,所述方法还包括:

6.一种大型预训练模型的训练系统,其特征在于,所述系统包括:

7.如权利要求6所述的系统,其特征在于,所述前向计算模块,具体用于:

8.如权利要求6所述的系统,其特征在于,所述训练模块,还用于:

9.一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行以实现如权利要求1-5任一项所述的方法。

10.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如权利要求1-5任一项所述的方法。


技术总结
本申请实施例公开了一种大型预训练模型的训练方法和系统,所述方法包括:将输入数据分别加载到受限处理单元和通用处理单元的存储器中;所述受限处理单元和所述通用处理单元分别根据预训练参数和参数增量执行前向计算,将计算结果存储;将标签加载到所述通用处理单元的存储器中并计算损失;根据计算的损失执行反向计算,计算梯度并更新所述参数增量;重复执行上述步骤,直至指标达到设定目标值或训练步数达到设定步数阈值,训练结束。可以使用计算能力受限的处理单元与通用处理单元共同实现大模型的训练,从而降低了训练过程对通用处理单元的需求,使得关键的大模型训练技术可以在更多的场景被采用,降低了功耗、时延和成本。

技术研发人员:王明亮,肖宇轩
受保护的技术使用者:北京向量栈科技有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1