当前位置: 首页 > 专利查询>之江实验室专利>正文

Transformer大模型的推理方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:39303264 阅读:7 留言:0更新日期:2023-11-12 15:53
本申请涉及Transformer大模型的推理方法、装置、计算机设备和存储介质,在使用Transformer大模型进行实际推理之前,利用权重校正系数向量将权重矩阵进行校正,将权重矩阵中各数值的差异进行压制,并将权重校正矩阵进行低比特整型量化;在使用Transformer大模型进行实际推理时,将实际输入激活矩阵与激活量化校正系数向量的乘积、量化后的综合校正系数向量及校正量化后的权重矩阵进行矩阵相乘,得到初始推理结果矩阵;基于第一量化参数标量、第二量化参数标量以及第三量化参数标量,对初始推理结果矩阵进行反量化,得到实际推理结果矩阵,有效节省在GPU中部署所占用的显存资源及有效提高计算机处理速度。资源及有效提高计算机处理速度。资源及有效提高计算机处理速度。

【技术实现步骤摘要】
Transformer大模型的推理方法、装置、计算机设备和存储介质


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

技术介绍

[0002]随着GPT、ChatGPT等大模型的迅速发展,相关大模型的落地应用产生了大量的现实需求,具体表现在大模型在GPU的批量部署和针对用户请求的快速响应推理。
[0003]现有技术中,基于Transformer结构的大模型动辄100亿参数以上,以300亿参数的OPT

30B为例,该模型权重文件大小为55GB。单batch推理情况下,在GPU中部署所占用的显存为59.8GB,batchsize为8的情况下,则GPU显存消耗接近100GB,对计算机的GPU显存资源消耗非常大。此外,在利用Transformer大模型进行推理的过程中,在计算机中直接进行Transformer大模型各线性层输入激活矩阵与权重矩阵的矩阵乘法,由于输入激活矩阵与权重矩阵为数值差异大的浮点型大型矩阵,导致存在计算机处理速度慢的问题。
[0004]针对现有技术中,利用在GPU中部署的transformer大模型进行推理对计算机的GPU显存资源消耗大且计算机处理速度慢的问题,目前尚未提出有效的解决方案。

技术实现思路

[0005]基于此,有必要针对上述技术问题,提供一种Transformer大模型的推理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品,以解决相关技术中transformer大模型的推理速度慢以及算力资源消耗大的问题。
[0006]第一个方面,本申请实施例提供了一种Transformer大模型的推理方法,所述方法包括以下步骤:在使用在GPU中部署的所述Transformer大模型进行实际推理之前,将测试数据集输入到所述Transformer大模型中进行前向推理,针对所述Transformer大模型中的所有Transformer结构中的线性层,获取测试输入激活矩阵中的激活校正系数向量和权重矩阵的权重校正系数向量,并对所述激活校正系数向量和所述权重校正系数向量相乘得到的向量中的每个元素求倒数,得到综合校正系数向量;其中,所述激活校正系数向量由每一列激活的激活校正系数组成;所述权重校正系数向量由每一行权重的权重校正系数组成;各个所述激活校正系数用于将对应整列的激活的最大值压制到第一预设值;各个所述权重校正系数用于将对应整行权重的最大值压制到第二预设值;利用所述激活校正系数向量对所述测试输入激活矩阵进行校正,得到激活校正矩阵,并利用所述权重校正系数向量对所述权重矩阵进行校正,得到权重校正矩阵;获取将所述激活校正矩阵量化到低比特整型需采用的第一量化参数标量;基于第二量化参数标量,对所述权重校正矩阵进行低比特整型量化,得到校正量化后的权重矩阵;基于第三量化参数标量,对所述综合校正系数向量进行低比特整型量化,得到量化后的综合校正系数向量;
在使用所述Transformer大模型进行实际推理时,针对所述Transformer大模型中的所有Transformer结构中的线性层,将实际输入激活矩阵与激活量化校正系数向量的乘积、所述量化后的综合校正系数向量以及所述校正量化后的权重矩阵进行矩阵相乘,得到初始推理结果矩阵;所述激活量化校正系数向量为将所述激活校正系数向量中各元素除以所述第一量化参数标量得到的向量;基于所述第一量化参数标量、所述第二量化参数标量以及所述第三量化参数标量,对所述初始推理结果矩阵进行反量化,得到实际推理结果矩阵。
[0007]在其中一些实时例中,所述将实际输入激活矩阵与激活量化校正系数向量的乘积、所述量化后的综合校正系数向量以及所述校正量化后的权重矩阵进行矩阵相乘,得到初始推理结果矩阵;基于所述第一量化参数标量、所述第二量化参数标量以及第三量化参数标量对所述初始推理结果矩阵进行反量化,得到实际推理结果矩阵,在GPGPU上基于CUDA Core实现,包括以下步骤:在所述GPGPU的全局内存内,将所述实际输入激活矩阵进行分块,得到若干激活矩阵块;并将若干所述激活矩阵块以及与所述激活矩阵块对应的激活量化校正系数向量块,分批依次读入所述GPGPU的共享内存;其中,所述实际输入激活矩阵的每一列与所述激活量化校正系数向量的每个元素一一对应;将所述校正量化后的权重矩阵进行分块,得到若干权重矩阵块;并将若干所述权重矩阵块以及与所述权重矩阵块对应的量化后的综合校正系数向量块,分批依次读入所述GPGPU的共享内存;其中,所述权重矩阵块的行数等于所述激活矩阵块的列数相等;所述校正量化后的权重矩阵的每一行与所述量化后的综合校正系数向量的每个元素一一对应;在所述GPGPU的共享内存内,对所述激活矩阵块的每一列进行切分,得到若干激活切分块;并将若干所述激活切分块以及与所述激活切分块对应的激活量化校正系数向量块中的元素,分批依次读入所述CUDA Core的寄存器;其中,所述激活切分块的大小为所述激活矩阵块一列数据的第一预设百分比;对所述权重矩阵块每一行进行切分,得到若干权重切分块;并将若干所述权重切分块以及与所述权重切分块对应的量化后的综合校正系数向量块中的元素,分批依次读入所述CUDA Core的寄存器;其中,所述权重切分块的大小为所述权重矩阵块一行数据的第二预设百分比;针对读入所述CUDA Core的寄存器中的数据,从所述激活切分块中取出不超过第一预设数据长度的数据作为列激活矩阵;以及从所述权重切分块中取出不超过所述第一预设数据长度的数据作为行权重矩阵;将所述列激活矩阵和行权重矩阵分配给一个线程,并将与所述列激活矩阵对应的量化后的综合校正系数向量块中的元素以及与所述行权重矩阵对应的量化后的综合校正系数向量块中的元素,分配给同一个线程,直至将所有所述激活切分块中的数据以及所有所述权重切分块中的数据分配给所有线程;在每个线程中,将所述列激活矩阵及与其对应的量化后的综合校正系数向量块中的元素的乘积、与所述行权重矩阵对应的量化后的综合校正系数向量块中的元素以及所述行权重矩阵进行矩阵相乘,得到每个线程的初始推理结果矩阵块;将每个线程的初始推理结果矩阵块的数据填充在所述初始推理结果矩阵对应位置,得到所述初始推理结果矩阵;基于所述第一量化参数标量、所述第二量化参数标量以及第三量化参数标量对每
个线程的所述初始推理结果矩阵进行反量化,得到每个线程的实际推理结果矩阵。
[0008]在其中一些实施例中,所述获取由测试输入激活矩阵中的每一列激活的激活校正系数组成的激活校正系数向量以及由权重矩阵中的每一行权重的权重校正系数组成的权重校正系数向量,包括以下步骤:确定所述测试输入激活矩阵中的每一列激活的最大值,将所述测试输入激活矩阵中的每一列激活的最大值的倒数作为每一列激活的激活校正系数,所有所述激活校正系数组成所述激活校正系数向量;确定所述权重矩阵中的每一行权重的最大值,将所述权重矩阵中的每一行权重的最大值的倒数作为每一行权重的权重校正系数,所有所述权重校正系数组成所述权重校正系数向量。
[000本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Transformer大模型的推理方法,其特征在于,所述方法包括以下步骤:在使用在GPU中部署的所述Transformer大模型进行实际推理之前,将测试数据集输入到所述Transformer大模型中进行前向推理,针对所述Transformer大模型中的所有Transformer结构中的线性层,获取测试输入激活矩阵中的激活校正系数向量和权重矩阵的权重校正系数向量,并对所述激活校正系数向量和所述权重校正系数向量相乘得到的向量中的每个元素求倒数,得到综合校正系数向量;其中,所述激活校正系数向量由每一列激活的激活校正系数组成;所述权重校正系数向量由每一行权重的权重校正系数组成;各个所述激活校正系数用于将对应整列的激活的最大值压制到第一预设值;各个所述权重校正系数用于将对应整行权重的最大值压制到第二预设值;利用所述激活校正系数向量对所述测试输入激活矩阵进行校正,得到激活校正矩阵,并利用所述权重校正系数向量对所述权重矩阵进行校正,得到权重校正矩阵;获取将所述激活校正矩阵量化到低比特整型需采用的第一量化参数标量;基于第二量化参数标量,对所述权重校正矩阵进行低比特整型量化,得到校正量化后的权重矩阵;基于第三量化参数标量,对所述综合校正系数向量进行低比特整型量化,得到量化后的综合校正系数向量;在使用所述Transformer大模型进行实际推理时,针对所述Transformer大模型中的所有Transformer结构中的线性层,将实际输入激活矩阵与激活量化校正系数向量的乘积、所述量化后的综合校正系数向量以及所述校正量化后的权重矩阵进行矩阵相乘,得到初始推理结果矩阵;所述激活量化校正系数向量为将所述激活校正系数向量中各元素除以所述第一量化参数标量得到的向量;基于所述第一量化参数标量、所述第二量化参数标量以及所述第三量化参数标量,对所述初始推理结果矩阵进行反量化,得到实际推理结果矩阵。2.根据权利要求1所述的Transformer大模型的推理方法,其特征在于,所述将实际输入激活矩阵与激活量化校正系数向量的乘积、所述量化后的综合校正系数向量以及所述校正量化后的权重矩阵进行矩阵相乘,得到初始推理结果矩阵;基于所述第一量化参数标量、所述第二量化参数标量以及第三量化参数标量对所述初始推理结果矩阵进行反量化,得到实际推理结果矩阵,在GPGPU上基于CUDA Core实现,包括以下步骤:在所述GPGPU的全局内存内,将所述实际输入激活矩阵进行分块,得到若干激活矩阵块;并将若干所述激活矩阵块以及与所述激活矩阵块对应的激活量化校正系数向量块,分批依次读入所述GPGPU的共享内存;其中,所述实际输入激活矩阵的每一列与所述激活量化校正系数向量的每个元素一一对应;将所述校正量化后的权重矩阵进行分块,得到若干权重矩阵块;并将若干所述权重矩阵块以及与所述权重矩阵块对应的量化后的综合校正系数向量块,分批依次读入所述GPGPU的共享内存;其中,所述权重矩阵块的行数等于所述激活矩阵块的列数相等;所述校正量化后的权重矩阵的每一行与所述量化后的综合校正系数向量的每个元素一一对应;在所述GPGPU的共享内存内,对所述激活矩阵块的每一列进行切分,得到若干激活切分块;并将若干所述激活切分块以及与所述激活切分块对应的激活量化校正系数向量块中的元素,分批依次读入所述CUDA Core的寄存器;其中,所述激活切分块的大小为所述激活矩阵块一列数据的第一预设百分比;对所述权重矩阵块每一行进行切分,得到若干权重切分块;并将若干所述权重切分块以及与所述权重切分块对应的量化后的综合校正系数向量块中的元素,分批依次读入所述CUDA Core的寄存器;其中,所述权重切分块的大小为所述权
重矩阵块一行数据的第二预设百分比;针对读入所述CUDA Core的寄存器中的数据,从所述激活切分块中取出不超过第一预设数据长度的数据作为列激活矩阵;以及从所述权重切分块中取出不超过所述第一预设数据长度的数据作为行权重矩阵;将所述列激活矩阵和行权重矩阵分配给一个线程,并将与所述列激活矩阵对应的量化后的综合校正系数向量块中的元素以及与所述行权重矩阵对应的量化后的综合校正系数向量块中的元素,分配给同一个线程,直至将所有所述激活切分块中的数据以及所有所述权重切分块中的数据分配给所有线程;在每个线程中,将所述...

【专利技术属性】
技术研发人员:陈志伟张逸
申请(专利权)人:之江实验室
类型:发明
国别省市:

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

1