Transformer大模型的推理方法、装置、计算机设备和存储介质与流程

文档序号:35956393发布日期:2023-11-08 17:51阅读:60来源:国知局
Transformer大模型的推理方法、装置、计算机设备和存储介质与流程

本技术涉及人工智能及计算机视觉,特别是涉及一种transformer大模型的推理方法、装置、计算机设备和存储介质。


背景技术:

1、随着gpt、chatgpt等大模型的迅速发展,相关大模型的落地应用产生了大量的现实需求,具体表现在大模型在gpu的批量部署和针对用户请求的快速响应推理。

2、现有技术中,基于transformer结构的大模型动辄100亿参数以上,以300亿参数的opt-30b为例,该模型权重文件大小为55gb。单batch推理情况下,在gpu中部署所占用的显存为59.8gb,batchsize为8的情况下,则gpu显存消耗接近100gb,对计算机的gpu显存资源消耗非常大。此外,在利用transformer大模型进行推理的过程中,在计算机中直接进行transformer大模型各线性层输入激活矩阵与权重矩阵的矩阵乘法,由于输入激活矩阵与权重矩阵为数值差异大的浮点型大型矩阵,导致存在计算机处理速度慢的问题。

3、针对现有技术中,利用在gpu中部署的transformer大模型进行推理对计算机的gpu显存资源消耗大且计算机处理速度慢的问题,目前尚未提出有效的解决方案。


技术实现思路

1、基于此,有必要针对上述技术问题,提供一种transformer大模型的推理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品,以解决相关技术中transformer大模型的推理速度慢以及算力资源消耗大的问题。

2、第一个方面,本技术实施例提供了一种transformer大模型的推理方法,所述方法包括以下步骤:

3、在使用在gpu中部署的所述transformer大模型进行实际推理之前,将测试数据集输入到所述transformer大模型中进行前向推理,针对所述transformer大模型中的所有transformer结构中的线性层,获取测试输入激活矩阵中的激活校正系数向量和权重矩阵的权重校正系数向量,并对所述激活校正系数向量和所述权重校正系数向量相乘得到的向量中的每个元素求倒数,得到综合校正系数向量;其中,所述激活校正系数向量由每一列激活的激活校正系数组成;所述权重校正系数向量由每一行权重的权重校正系数组成;各个所述激活校正系数用于将对应整列的激活的最大值压制到第一预设值;各个所述权重校正系数用于将对应整行权重的最大值压制到第二预设值;利用所述激活校正系数向量对所述测试输入激活矩阵进行校正,得到激活校正矩阵,并利用所述权重校正系数向量对所述权重矩阵进行校正,得到权重校正矩阵;获取将所述激活校正矩阵量化到低比特整型需采用的第一量化参数标量;基于第二量化参数标量,对所述权重校正矩阵进行低比特整型量化,得到校正量化后的权重矩阵;基于第三量化参数标量,对所述综合校正系数向量进行低比特整型量化,得到量化后的综合校正系数向量;

4、在使用所述transformer大模型进行实际推理时,针对所述transformer大模型中的所有transformer结构中的线性层,将实际输入激活矩阵与激活量化校正系数向量的乘积、所述量化后的综合校正系数向量以及所述校正量化后的权重矩阵进行矩阵相乘,得到初始推理结果矩阵;所述激活量化校正系数向量为将所述激活校正系数向量中各元素除以所述第一量化参数标量得到的向量;基于所述第一量化参数标量、所述第二量化参数标量以及所述第三量化参数标量,对所述初始推理结果矩阵进行反量化,得到实际推理结果矩阵。

5、在其中一些实时例中,所述将实际输入激活矩阵与激活量化校正系数向量的乘积、所述量化后的综合校正系数向量以及所述校正量化后的权重矩阵进行矩阵相乘,得到初始推理结果矩阵;基于所述第一量化参数标量、所述第二量化参数标量以及第三量化参数标量对所述初始推理结果矩阵进行反量化,得到实际推理结果矩阵,在gpgpu上基于cudacore实现,包括以下步骤:

6、在所述gpgpu的全局内存内,将所述实际输入激活矩阵进行分块,得到若干激活矩阵块;并将若干所述激活矩阵块以及与所述激活矩阵块对应的激活量化校正系数向量块,分批依次读入所述gpgpu的共享内存;其中,所述实际输入激活矩阵的每一列与所述激活量化校正系数向量的每个元素一一对应;将所述校正量化后的权重矩阵进行分块,得到若干权重矩阵块;并将若干所述权重矩阵块以及与所述权重矩阵块对应的量化后的综合校正系数向量块,分批依次读入所述gpgpu的共享内存;其中,所述权重矩阵块的行数等于所述激活矩阵块的列数相等;所述校正量化后的权重矩阵的每一行与所述量化后的综合校正系数向量的每个元素一一对应;

7、在所述gpgpu的共享内存内,对所述激活矩阵块的每一列进行切分,得到若干激活切分块;并将若干所述激活切分块以及与所述激活切分块对应的激活量化校正系数向量块中的元素,分批依次读入所述cuda core的寄存器;其中,所述激活切分块的大小为所述激活矩阵块一列数据的第一预设百分比;对所述权重矩阵块每一行进行切分,得到若干权重切分块;并将若干所述权重切分块以及与所述权重切分块对应的量化后的综合校正系数向量块中的元素,分批依次读入所述cuda core的寄存器;其中,所述权重切分块的大小为所述权重矩阵块一行数据的第二预设百分比;

8、针对读入所述cuda core的寄存器中的数据,从所述激活切分块中取出不超过第一预设数据长度的数据作为列激活矩阵;以及从所述权重切分块中取出不超过所述第一预设数据长度的数据作为行权重矩阵;将所述列激活矩阵和行权重矩阵分配给一个线程,并将与所述列激活矩阵对应的量化后的综合校正系数向量块中的元素以及与所述行权重矩阵对应的量化后的综合校正系数向量块中的元素,分配给同一个线程,直至将所有所述激活切分块中的数据以及所有所述权重切分块中的数据分配给所有线程;

9、在每个线程中,将所述列激活矩阵及与其对应的量化后的综合校正系数向量块中的元素的乘积、与所述行权重矩阵对应的量化后的综合校正系数向量块中的元素以及所述行权重矩阵进行矩阵相乘,得到每个线程的初始推理结果矩阵块;

10、将每个线程的初始推理结果矩阵块的数据填充在所述初始推理结果矩阵对应位置,得到所述初始推理结果矩阵;

11、基于所述第一量化参数标量、所述第二量化参数标量以及第三量化参数标量对每个线程的所述初始推理结果矩阵进行反量化,得到每个线程的实际推理结果矩阵。

12、在其中一些实施例中,所述获取由测试输入激活矩阵中的每一列激活的激活校正系数组成的激活校正系数向量以及由权重矩阵中的每一行权重的权重校正系数组成的权重校正系数向量,包括以下步骤:

13、确定所述测试输入激活矩阵中的每一列激活的最大值,将所述测试输入激活矩阵中的每一列激活的最大值的倒数作为每一列激活的激活校正系数,所有所述激活校正系数组成所述激活校正系数向量;

14、确定所述权重矩阵中的每一行权重的最大值,将所述权重矩阵中的每一行权重的最大值的倒数作为每一行权重的权重校正系数,所有所述权重校正系数组成所述权重校正系数向量。

15、在其中一些实施例中,所述测试数据集采用的colossal clean crawled corpus数据集。

16、在其中一些实施例中,所述低比特整型量化为4比特量化或8比特量化。

17、在其中一些实施例中,所述第一预设百分比为50%,所述第二预设百分比为25%。

18、第二个方面,本实施例还提供了一种transformer大模型的推理装置,所述装置包括量化模块和推理模块;

19、所述量化模块,用于在使用在gpu中部署的所述transformer大模型进行实际推理之前,将测试数据集输入到所述transformer大模型中进行前向推理,针对所述transformer大模型中的所有transformer结构中的线性层,获取测试输入激活矩阵中的激活校正系数向量和权重矩阵的权重校正系数向量,并对所述激活校正系数向量和所述权重校正系数向量相乘得到的向量中的每个元素求倒数,得到综合校正系数向量;其中,所述激活校正系数向量由每一列激活的激活校正系数组成;所述权重校正系数向量由每一行权重的权重校正系数组成;各个所述激活校正系数用于将对应整列的激活的最大值压制到第一预设值;各个所述权重校正系数用于将对应整行权重的最大值压制到第二预设值;利用所述激活校正系数向量对所述测试输入激活矩阵进行校正,得到激活校正矩阵,并利用所述权重校正系数向量对所述权重矩阵进行校正,得到权重校正矩阵;获取将所述激活校正矩阵量化到低比特整型需采用的第一量化参数标量;基于第二量化参数标量,对所述权重校正矩阵进行低比特整型量化,得到校正量化后的权重矩阵;基于第三量化参数标量,对所述综合校正系数向量进行低比特整型量化,得到量化后的综合校正系数向量;

20、所述推理模块,用于在使用所述transformer大模型进行实际推理时,针对所述transformer大模型中的所有transformer结构中的线性层,将实际输入激活矩阵与激活量化校正系数向量的乘积、所述量化后的综合校正系数向量以及所述校正量化后的权重矩阵进行矩阵相乘,得到初始推理结果矩阵;所述激活量化校正系数向量为将所述激活校正系数向量中各元素除以所述第一量化参数标量得到的向量;基于所述第一量化参数标量、所述第二量化参数标量以及所述第三量化参数标量,对所述初始推理结果矩阵进行反量化,得到实际推理结果矩阵。

21、第三个方面,在本实施例中提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一个方面所述方法的步骤。

22、第四个方面,在本实施例中提供了计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一个方面所述的方法的步骤。

23、第五个方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时时实现上述第一个方面所述的方法的步骤。

24、上述transformer大模型的推理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品,在使用在gpu中部署的transformer大模型进行实际推理之前,通过利用权重校正系数向量将权重矩阵进行校正,将权重矩阵中各数值的差异进行压制,进而将权重校正矩阵进行低比特整型量化,使权重矩阵从数值差异大的浮点型矩阵变为数值差异小的整型数值矩阵,有效节省在gpu中部署所占用的显存资源。进一步地,在利用transformer大模型进行实际推理时,结合激活校正系数向量、第一量化参数标量、量化后的综合校正系数向量以及校正量化后的权重矩阵,使输入激活矩阵与权重矩阵的矩阵乘法由大型的浮点型矩阵乘法变为低比特整型矩阵乘法,计算更简便,有效提高计算机处理速度。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1