本说明书一个或多个实施例涉及人工智能,尤其涉及一种大语言模型的优化方法、装置、设备、介质及计算机程序产品。
背景技术:
1、大语言模型(large language model,llm)是基于海量文本数据训练的深度学习模型,不仅能够生成自然语言文本,还能够深入理解文本含义,处理各种自然语言任务,如文本摘要、问答、翻译等。
2、大语言模型具有庞大的参数量,因此对显存有较大开销,通常采用对模型进行量化的方法来降低所消耗的显存。相关技术中通常采用gptq(post-training quantizationfor gpt models,一次性训练后量化)方法,或者采用awq(activation-aware weightquantization,激活感知权重量化)方法实现对模型的量化,然而这两种量化方法在低比特下,例如在4bit及以下,量化误差较大,导致产生较大的效果损失。
技术实现思路
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、其中,所述处理器通过运行所述可执行指令以实现上述实施例提出的方法的步骤。
47、根据本说明书一个或多个实施例的第四方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现上述实施例提出的方法的步骤。
48、根据本说明书一个或多个实施例的第五方面,提出了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述实施例提出的方法的步骤。
49、在本说明书实施例中,首先根据大语言模型中量化后与量化前的的目标矩阵的差异获得残差矩阵,该目标矩阵为该大语言模型中的网络层的参数矩阵或所述网络层的输出矩阵,之后根据与所述残差矩阵的列向量相似度最高的量化后的目标矩阵的列向量,确定所述残差矩阵的稀疏基,并根据所述稀疏基得到量化后的网络层的修正参数,以利用该修正参数对推理过程中所述量化后的网络层的输出数据进行修正。通过从目标矩阵中获得与网络层量化后与量化前的误差相似的参数组合,来对推理过程中该网络层的输出数据进行修正,可以使输出数据更接近于量化前网络层的输出数据,从而减小了量化误差,降低了量化效果损失。