一种人工智能大模型的优化方法和相关设备与流程

摘要: 本技术涉及人工智能(artificialintelligence,ai),并且更具体地,涉及一种人工智能大模型的优化方法、计算装置、计算设备集群、计算机程序产品...
一种人工智能大模型的优化方法和相关设备与流程

本技术涉及人工智能(artificial intelligence,ai),并且更具体地,涉及一种人工智能大模型的优化方法、计算装置、计算设备集群、计算机程序产品和计算机可读存储介质。

背景技术:

1、目前,ai大模型的应用越来越广泛。为了实现ai大模型更高精度的推理能力,ai大模型在推理过程中所需的数据或所产生的数据的数据量较大,导致ai大模型在推理时对存储空间的需求较大。若通过删除ai大模型中的部分参数来减少ai大模型在推理过程中对存储空间的占用,则容易导致ai大模型的推理精度下降。

2、因此,如何降低ai大模型在推理过程中对存储空间的占用,并降低对模型的推理精度造成的影响成为亟待解决的问题。

技术实现思路

1、本技术提供一种ai大模型的优化方法、计算装置、计算设备集群、计算机程序产品和计算机可读存储介质,可以降低ai大模型在推理过程中对存储空间的占用,并降低对推理精度造成的影响。

2、第一方面,提供了一种ai大模型的优化方法。该方法包括:获得初始大模型,初始大模型包括l个层,l个层中的每个层包括至少一个注意力头,l为正整数;将n个训练样本输入初始大模型,获得n个训练样本中每个训练样本的初始逻辑值,每个训练样本包括至少一个词元,n为正整数;根据初始大模型,对初始大模型中的每个注意力头对应的尺寸进行n次迭代优化;其中,在n次迭代优化的第n次优化过程中,n为小于或等于n的正整数,该方法包括:将初始大模型中的每个注意力头对应的尺寸确定为每个注意力头对应的第一尺寸,获得第一大模型;将n个训练样本输入第一大模型,获得n个训练样本中每个训练样本的第一逻辑值;根据n个训练样本中每个训练样本的初始逻辑值和第一逻辑值,确定每个训练样本的第一损失梯度;根据n个训练样本中的第n个训练样本的第一损失梯度和n个训练样本的第一损失梯度的平均值,确定第n个训练样本的第一梯度投影;根据第n个训练样本的第一梯度投影,对第一大模型中的每个注意力头对应的尺寸进行优化,获得每个注意力头对应的第二尺寸,每个注意力头对应的第二尺寸用于获得第二大模型,每个注意力头对应的第二尺寸之和小于初始大模型中的每个注意力头对应的尺寸之和。

3、本技术实施例中,在对ai大模型中的每个注意力头对应的尺寸进行第n次优化的过程中,利用第n个训练样本的第一损失梯度与n个训练样本的第一损失梯度的平均值,确定第一梯度投影,从而在根据第一梯度投影对每个注意力头对应的尺寸进行优化时,使得优化后的每个注意力头对应的尺寸之和小于初始大模型中的每个注意力头对应的尺寸之和,进而减少ai大模型在推理过程中对存储空间的占用。并且,由于第一梯度投影是基于训练样本的初始逻辑值和第一逻辑值确定的,因此可以降低对在n次迭代优化后获得的ai大模型的推理精度的影响。

4、在一些实施例中,初始大模型中的每个注意力头用于确定训练样本的逻辑值,该训练样本的逻辑值用于确定该训练样本对应的输出结果。每个训练样本对应的输出结果包括至少一个词元。

5、在一些实施例中,每个注意力头对应的尺寸为每个注意力头生成的键值向量的尺寸,该键值向量用于确定训练样本的逻辑值。

6、在一些实施例中,第一损失梯度用于表示训练样本的初始逻辑值和第一逻辑值之间的差距在每个注意力头对应的尺寸变化时的变化情况。

7、结合第一方面,在一些实现方式中,在n次迭代优化的第1次优化过程中,每个注意力头对应的第一尺寸相同,第一尺寸为目标尺寸,目标尺寸根据目标总尺寸与初始大模型中的注意力头的个数确定。

8、本技术实施例中,在对注意力头对应的尺寸进行第一次优化时,可以将每个注意力头对应的尺寸设置为目标尺寸,使得每个注意力头对应的尺寸均小于初始尺寸。在对注意力头对应的尺寸进行第一次优化后的迭代优化过程中,不同的注意力头对应的尺寸可以相同或不同。

9、结合第一方面,在一些实现方式中,第n个训练样本的第一梯度投影为第n个训练样本的第一损失梯度与n个训练样本的第一损失梯度的平均值的差值。

10、本技术实施例中,通过利用第n个训练样本的第一损失梯度与n个训练样本的第一损失梯度的平均值的差值,确定第一梯度投影,可以为后续优化过程提供一个梯度,从而在利用该梯度对大模型中的每个注意力头对应的尺寸进行优化后,使得优化后的大模型中的所有注意力头对应的尺寸之和为目标总尺寸。

11、结合第一方面,在一些实现方式中,根据第n个训练样本的第一梯度投影,对每个注意力头对应的第一尺寸进行优化,确定每个注意力头对应的第一优化尺寸;根据每个注意力头对应的第一优化尺寸、平均尺寸和目标尺寸,确定每个注意力头对应的第二尺寸,每个注意力头对应的平均尺寸根据每个注意力头对应的尺寸的历史取值确定。

12、结合第一方面,在一些实现方式中,每个注意力头对应的第二尺寸根据每个注意力头对应的第一优化尺寸和每个注意力头对应的第一数值的差值确定,每个注意力头对应的第一数值根据每个注意力头对应的平均尺寸和目标尺寸的差值确定。

13、本技术实施例中,根据每个注意力头对应的平均尺寸和目标尺寸,对每个注意力头对应的第一优化尺寸进行调整,以确定每个注意力头对应的第二尺寸,从而使得大模型中的注意力头对应的第二尺寸之和为目标总尺寸,进而避免在优化过程中无限制的增大注意力头对应的尺寸。

14、结合第一方面,在一些实现方式中,在n小于n时,将第二大模型作为n次迭代优化的第n+1次优化过程中的第一大模型,n+1为小于或等于n的正整数;或者,在n=n时,将第二大模型作为目标大模型,该目标大模型应用于推理任务。

15、示例性地,该目标大模型应用于推理任务包括:该目标大模型用于根据推理样本,获得推理样本对应的输出结果。该推理样本包括至少一个词元。该推理样本对应的输出结果包括至少一个词元。

16、本技术实施例中,在n次迭代优化的最后一次优化过程中,通过对第一大模型中的注意力头对应的尺寸进行优化,获得目标大模型。在最后一次优化过程前的优化过程中,每次优化后获得的第二大模型可以作为下一次优化过程中的第一大模型,从而对第一大模型中的注意力头的尺寸继续进行优化,以获得目标大模型。

17、结合第一方面,在一些实现方式中,在完成n次迭代优化后,该方法还包括:获得每个注意力头对应的第二尺寸的平均值;在第二尺寸的平均值大于目标尺寸时,减小第二大模型中的一个或多个注意力头对应的第二尺寸,使得第二大模型中的每个注意力头对应的尺寸的平均值等于目标尺寸;在第二尺寸的平均值小于目标尺寸时,增大第二大模型中的一个或多个注意力头对应的第二尺寸,使得第二大模型中的每个注意力头对应的尺寸的平均值等于目标尺寸。

18、本技术实施例中,在最后一次迭代优化后获得第二大模型,若第二大模型中的注意力头对应的尺寸之和不等于目标总尺寸,则对部分注意力头对应的尺寸进行调整,以获得目标大模型,并达到较大的压缩率。

19、结合第一方面,在一些实现方式中,在完成n次迭代优化后,该方法还包括:根据目标层的每个注意力头对应的第二尺寸,确定目标层对应的m个第三尺寸和m个注意力头集合,目标层属于l个层,m个第三尺寸属于目标层的每个注意力头对应的第二尺寸,m个注意力头集合中的每个注意力头集合中包括目标层的至少一个注意力头,m个第三尺寸中的第m个第三尺寸对应于m个注意力头集合中的第m个注意力头集合,m为小于目标层中的注意力头的个数的正整数,m为小于或等于m的正整数;将目标层的每个注意力头对应的尺寸确定为每个注意力头所属的注意力头集合对应的第三尺寸,获得目标大模型。

20、本技术实施例中,由于目标大模型的目标层中的多个注意力头属于m个注意力头集合,且每个注意力头集合中的注意力头对应的第三尺寸相同,因此计算装置在利用目标大模型进行推理时,在目标层中仅需调用m次注意力内核,从而可以提升推理速度。

21、结合第一方面,在一些实现方式中,m个第三尺寸和m个注意力头集合使得第一总尺寸与第二总尺寸的差距最小,第一总尺寸包括在目标层的每个注意力头对应的尺寸为每个注意力头所属的注意力头集合对应的第三尺寸时每个注意力头对应的尺寸之和,第二总尺寸包括在目标层的每个注意力头对应的尺寸为每个注意力头对应的第二尺寸时每个注意力头对应的尺寸之和。

22、本技术实施例中,通过第一总尺寸和第二总尺寸的差值,确定目标层中的m个第三尺寸和m个注意力头集合,可以使得目标大模型中的注意力头对应的尺寸之和与目标总尺寸之间的差值达到最小,以达到较大的压缩率。

23、结合第一方面,在一些实现方式中,目标大模型中的第一注意力头中包括补偿模块,补偿模块用于根据第一值向量集合确定第一补偿数据,第一值向量集合包括第一注意力头生成的至少一个值向量,第一注意力头的第一输出数据根据第一注意力输出和第一补偿数据确定,第一注意力输出根据第一输入数据对应的查询向量和第一键值向量集合确定,第一键值向量包括第一注意力头生成的至少一个键值向量。

24、结合第一方面,在一些实现方式中,第一输出数据根据第一注意力输出和第一补偿数据的加权和确定。

25、本技术实施例中,通过注意力头中的补偿模块对注意力头获得的值向量进行处理,获得补偿数据,从而根据补偿数据对注意力头的注意力输出进行补偿,进而减少由于压缩注意力头对应的尺寸造成的推理精度的损失,以提升目标大模型的推理精度。

26、结合第一方面,在一些实现方式中,补偿模块用于根据第一输入数据对应的第一状态值和第一值向量集合,确定第一补偿数据和第一输入数据对应的第二状态值,第一输入数据对应的第一状态值为第一注意力头处理第二输入数据时获得的第二输入数据对应的第二状态值,第二输入数据为第一注意力头在处理第一输入数据前处理的输入数据。

27、结合第一方面,在一些实现方式中,补偿模块包括状态空间模型(state spacemodel,ssm)。

28、本技术实施例中,通过ssm捕捉由于压缩注意力头的尺寸而丢失的值向量中的元素的信息,从而进一步减少对大模型的推理精度的影响。

29、第二方面,提供了一种计算装置。该计算装置包括获取模块和处理模块。该获取模块用于:获得初始大模型,初始大模型包括l个层,l个层中的每个层包括至少一个注意力头,l为正整数。该处理模块用于:将n个训练样本输入初始大模型,获得n个训练样本中每个训练样本的初始逻辑值,每个训练样本包括至少一个词元,n为正整数;根据初始大模型,对初始大模型中的每个注意力头对应的尺寸进行n次迭代优化;其中,在n次迭代优化的第n次优化过程中,n为小于或等于n的正整数,该处理模块具体用于:将初始大模型中的每个注意力头对应的尺寸确定为每个注意力头对应的第一尺寸,获得第一大模型;将n个训练样本输入第一大模型,获得n个训练样本中每个训练样本的第一逻辑值;根据n个训练样本中每个训练样本的初始逻辑值和第一逻辑值,确定每个训练样本的第一损失梯度;根据n个训练样本中的第n个训练样本的第一损失梯度和n个训练样本的第一损失梯度的平均值,确定第n个训练样本的第一梯度投影;根据第n个训练样本的第一梯度投影,对第一大模型中的每个注意力头对应的尺寸进行优化,获得每个注意力头对应的第二尺寸,每个注意力头对应的第二尺寸用于获得第二大模型,每个注意力头对应的第二尺寸之和小于初始大模型中的每个注意力头对应的尺寸之和。

30、在一些实施例中,初始大模型中的每个注意力头用于确定训练样本的逻辑值,该训练样本的逻辑值用于确定该训练样本对应的输出结果。每个训练样本对应的输出结果包括至少一个词元。

31、在一些实施例中,每个注意力头对应的尺寸为每个注意力头生成的键值向量的尺寸,该键值向量用于确定训练样本的逻辑值。

32、在一些实施例中,第一损失梯度用于表示训练样本的初始逻辑值和第一逻辑值之间的差距在每个注意力头对应的尺寸变化时的变化情况。

33、结合第二方面,在一些实现方式中,在n次迭代优化的第1次优化过程中,每个注意力头对应的第一尺寸相同,第一尺寸为目标尺寸,目标尺寸根据目标总尺寸与初始大模型中的注意力头的个数确定。

34、结合第二方面,在一些实现方式中,第n个训练样本的第一梯度投影为第n个训练样本的第一损失梯度与n个训练样本的第一损失梯度的平均值的差值。

35、结合第二方面,在一些实现方式中,该处理模块,还用于:根据第n个训练样本的第一梯度投影,对每个注意力头对应的第一尺寸进行优化,确定每个注意力头对应的第一优化尺寸;根据每个注意力头对应的第一优化尺寸、平均尺寸和目标尺寸,确定每个注意力头对应的第二尺寸,每个注意力头对应的平均尺寸根据每个注意力头对应的尺寸的历史取值确定。

36、结合第二方面,在一些实现方式中,每个注意力头对应的第二尺寸根据每个注意力头对应的第一优化尺寸和每个注意力头对应的第一数值的差值确定,每个注意力头对应的第一数值根据每个注意力头对应的平均尺寸和目标尺寸的差值确定。

37、结合第二方面,在一些实现方式中,在n小于n时,将第二大模型作为n次迭代优化的第n+1次优化过程中的第一大模型,n+1为小于或等于n的正整数;或者,在n=n时,将第二大模型作为目标大模型,该目标大模型应用于推理任务。

38、示例性地,该目标大模型应用于推理任务包括:该目标大模型用于根据推理样本,获得推理样本对应的输出结果。该推理样本包括至少一个词元。该推理样本对应的输出结果包括至少一个词元。

39、结合第二方面,在一些实现方式中,在完成n次迭代优化后,该处理模块,还用于:获得每个注意力头对应的第二尺寸的平均值;在第二尺寸的平均值大于目标尺寸时,减小第二大模型中的一个或多个注意力头对应的第二尺寸,使得第二大模型中的每个注意力头对应的尺寸的平均值等于目标尺寸;在第二尺寸的平均值小于目标尺寸时,增大第二大模型中的一个或多个注意力头对应的第二尺寸,使得第二大模型中的每个注意力头对应的尺寸的平均值等于目标尺寸。

40、结合第二方面,在一些实现方式中,在完成n次迭代优化后,该处理模块用于:根据目标层的每个注意力头对应的第二尺寸,确定目标层对应的m个第三尺寸和m个注意力头集合,目标层属于l个层,m个第三尺寸属于目标层的每个注意力头对应的第二尺寸,m个注意力头集合中的每个注意力头集合中包括目标层的至少一个注意力头,m个第三尺寸中的第m个第三尺寸对应于m个注意力头集合中的第m个注意力头集合,m为小于目标层中的注意力头的个数的正整数,m为小于或等于m的正整数;将目标层的每个注意力头对应的尺寸确定为每个注意力头所属的注意力头集合对应的第三尺寸,获得目标大模型。

41、结合第二方面,在一些实现方式中,m个第三尺寸和m个注意力头集合使得第一总尺寸与第二总尺寸的差距最小,第一总尺寸包括在目标层的每个注意力头对应的尺寸为每个注意力头所属的注意力头集合对应的第三尺寸时每个注意力头对应的尺寸之和,第二总尺寸包括在目标层的每个注意力头对应的尺寸为每个注意力头对应的第二尺寸时每个注意力头对应的尺寸之和。

42、结合第二方面,在一些实现方式中,目标大模型中的第一注意力头中包括补偿模块,补偿模块用于根据第一值向量集合确定第一补偿数据,第一值向量集合包括第一注意力头生成的至少一个值向量,第一注意力头的第一输出数据根据第一注意力输出和第一补偿数据确定,第一注意力输出根据第一注意力头的第一输入数据对应的查询向量和第一键值向量集合确定,第一键值向量包括第一注意力头生成的至少一个键值向量。

43、结合第二方面,在一些实现方式中,第一输出数据根据第一注意力输出和第一补偿数据的加权和确定。

44、结合第二方面,在一些实现方式中,补偿模块用于根据第一输入数据对应的第一状态值和第一值向量集合,确定第一补偿数据和第一输入数据对应的第二状态值,第一输入数据对应的第一状态值为第一注意力头处理第二输入数据时获得的第二输入数据对应的第二状态值,第二输入数据为第一注意力头在处理第一输入数据前处理的输入数据。

45、结合第二方面,在一些实现方式中,补偿模块包括ssm。

46、应理解,第二方面或第二方面的一些实现方式所能达到的技术效果与第一方面或第一方面的一些实现方式所能达到的技术效果类似,此处不再赘述。

47、第三方面,本技术提供了一种计算设备集群,包括至少一个计算设备,每个计算设备包括处理器和存储器;至少一个计算设备的处理器用于执行至少一个计算设备的存储器中存储的指令,以使得计算设备集群执行上述第一方面或第一方面的任一种可能的实现方式中的方法。

48、第四方面,本技术提供了一种包含指令的计算机程序产品,当指令被计算机设备集群运行时,使得计算机设备集群执行上述第一方面或第一方面的任一种可能的实现方式中的方法。

49、第五方面,本技术提供了一种计算机可读存储介质,包括计算机程序指令,当计算机程序指令由计算设备集群执行时,计算设备集群执行上述第一方面或第一方面的任一种可能的实现方式中的方法。

50、第六方面,提供了一种芯片系统,该芯片系统包括逻辑电路,该逻辑电路用于与输入/输出接口耦合,通过该输入/输出接口传输数据,以执行第一方面或第一方面的任一种可能的实现方式中所述的方法。