System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种大语言模型软硬件协同量化加速计算方法及系统技术方案_技高网
当前位置: 首页 > 专利查询>北京大学专利>正文

一种大语言模型软硬件协同量化加速计算方法及系统技术方案

技术编号:40443835 阅读:13 留言:0更新日期:2024-02-22 23:05
本发明专利技术公布了一种大语言模型软硬件协同量化加速计算方法及系统,采用以通道为粒度处理大语言模型中的离群值,将存在大量离群值的通道整体以高精度进行存储,通过自适应量化过程、编译优化过程和硬件实现过程,实现大语言模型软硬件协同推理加速,保证了数据编码的灵活性和规整性,同时易于在系统和硬件上进行实现和部署;可重构加速器系统包括:运算模块、累加模块、解码模块、控制模块、片上缓存和主存。采用本发明专利技术,既能够有效保持量化后模型的精度,又能实现硬件高效的推理计算。

【技术实现步骤摘要】

本专利技术涉及大语言模型计算技术,具体涉及一种离群值感知的大语言模型软硬件协同量化加速计算方法及系统,是一种针对大语言模型的推理计算优化技术,通过神经网络量化压缩技术降低计算系统的内存需求,并实现以更快的计算速度完成用户的推理需求。


技术介绍

1、近年来,基于transformer架构的大语言模型在多个领域显示出卓越的性能。这些模型具有超大的参数规模,能够很好地理解和生成自然语言,适用于多种下游应用场景,如机器翻译、内容摘要、情感分析等。大语言模型的推理过程有着极高的存储、带宽和算力需求,限制了服务商同时可服务的用户规模。

2、神经网络量化可以有效降低大语言模型推理成本。这类技术将模型权重和激活值从高位宽浮点数量化为低位宽整数,可以显著减少对内存大小和带宽的需求。量化后的模型可以利用效率更高的低位宽整型运算单元,使计算密集型算子得到加速。

3、传统的神经网络量化方案在大语言模型上存在以下不足之处:

4、(1)大语言模型中的线性层中间激活中存在离群值。这些离群值占比很小,但具有较大的数值范围,并与模型的准确率高度相关。传统的均匀量化算法使用同种方式对正常/离群激活值进行量化,会对正常值产生较大的舍入误差,或对离群值产生较大的截断误差,从而极大地损害模型精度。

5、(2)现有的离群值感知的量化方案将离群值采用高精度存储,并使用定制化的数据通路进行计算。然而,传统的离群值感知量化方案缺乏针对大语言模型的离群值分布分析,难以兼顾离群值表示的灵活性和硬件实现的高效性。

6、综上所述,现有的神经网络量化技术方案在大语言模型上的应用,难以兼顾模型精度和硬件高效实现。


技术实现思路

1、为了克服上述现有技术的不足,本专利技术提供了一种离群值感知的大语言模型软硬件协同量化加速计算方法及系统,既能够有效保持量化后模型的精度,又能做到硬件高效的推理计算。

2、本专利技术利用了大语言模型中离群值聚集在特定通道的性质,提出以通道为粒度处理离群值,将存在大量离群值的通道整体以高精度进行存储。这一方案保证了数据编码的灵活性和规整性,同时易于在系统和硬件上进行实现和部署。

3、本专利技术提供了量化算法-编译优化-硬件实现的全栈式协同推理加速方案。具体来说,本方案包括以下方法步骤:

4、1)给定基于transformer的大语言模型,通过设计并使用自适应量化算法,对大语言模型离群值显著的线性层进行混合精度量化,并保证混合精度量化引起的额外存储开销达到所设定的目标存储开销要求;包括:

5、11)从大语言模型训练时使用的开源文本数据集(称为校准数据集语料数据)中随机抽取少量文本输入到大语言模型中进行推理计算,并统计各线性层中每个激活通道的幅度,即通道上激活值的最大值和最小值之差;

6、12)对于大语言模型的每个线性层,设定用于辨别离群通道的阈值,将幅度超过所设定阈值的激活通道分类为离群通道,将其他通道分类为正常通道。

7、对于同一个通道,不同的词在通道上的激活值大小不同。初始情况下,阈值按照“3倍标准差”法则确定,即将阈值设定为当前线性层各激活通道的幅度平均值加上3倍的幅度标准差。

8、13)对于大语言模型的每个线性层,设定离群通道和正常通道的数据精度。初始情况下,离群通道的激活值使用8位浮点数表示,正常通道的激活值使用4位整数表示。

9、14)基于全体线性层离群通道集合和离群通道精度,求出当前在计算系统(或称可重构加速器)的主存上引起的额外存储开销;

10、15)若当前的额外存储开销与目标存储开销不同,则尝试调整全体线性层的离群通道量化超参数,即离群通道辨别阈值和离群通道数据精度,从而达到目标存储开销,即当前的额外存储开销与目标存储开销相同;

11、16)对于每个线性层,可以采取的离群通道量化超参数调整方案包括:按一定百分比增大或减小离群通道辨别阈值,以及将离群通道的数据精度设置为更高或更低的浮点数。

12、17)各个线性层的离群通道量化超参数调整方案相互组合,构成模型级离群通道量化超参数调整方案空间。若该空间规模过大,无法完全评估其中每种方案,从中随机采样出部分调整方案作为本次的离群通道量化超参数调整方案集合。

13、18)对于每种离群通道量化超参数调整方案,评估各个线性层激活张量量化的均方误差,将量化误差最小的调整方案作为本轮调整的结果;

14、19)若调整后仍未达到目标存储开销,则回到步骤15),在当前方案的基础上进一步迭代优化,直到达到目标存储开销。

15、2)大语言模型的线性层权重、输入激活和输出激活均以张量的格式存储,即线性层权重张量、线性层输入激活张量和线性层输出激活张量。大语言模型中各个层间输入输出依赖关系构成算子图。

16、线性层计算即矩阵乘法y=wx,其中,w矩阵是权重矩阵,x是输入激活矩阵,y是输出激活矩阵。矩阵是一种维度为2的张量。基于步骤1)搜索到的混合精度量化的配置,对大语言模型的每个线性层的输入激活张量进行分块间离群通道均衡的混合精度张量数据编码,并对大语言模型的各层进行算子图级层间协同数据流优化,得到在计算系统上运行速度最快的执行方案;

17、进行数据编码包括:

18、21)将线性层权重张量、输入激活张量和输出激活张量拆分为多个包含相同通道数的数据分块,作为计算系统主存与加速器片上缓存的基本数据交互单位;

19、22)给定数据分块大小,在当前线性层计算开始前预先对输入激活张量的通道维度进行重排,使得每个数据分块中具有相同数量的离群通道,且将所有离群通道都放置在数据块的起始部分。此时,输入激活张量数据分块包括两部分,分别是离群输入激活通道子数据分块,和正常输入激活通道子数据分块。得到输入激活张量通道维度重排方案;

20、23)给定输入激活张量通道维度重排方案,将线性层权重张量的输入通道维度,按照相同的顺序,在当前线性层计算开始前进行重排;

21、24)对所有可能的权重张量、输入激活张量和输出激活张量数据分块大小的组合进行评估,选择在目标加速器计算系统架构上执行效率最高的数据分块大小组合方案,对各个张量进行分块,并确定激活张量通道维度重排顺序;

22、对算子图进行数据流优化包括:

23、对于每个线性层,在算子图中输入边上显式插入激活数据重排算子,并基于以下方法进行重排算子融合:(1)将重排算子与前驱线性层融合,预重排前驱线性层权重张量的输出通道维度;(2)将重排算子与除重排算子类型之外的其他类型前驱算子融合,预重排前驱算子的输出激活写回主存的地址;(3)如果重排算子的前一层为逐元素算子,则可将重排算子进一步与更前面的算子(前一层的前一层)进行融合。

24、3)在计算系统上部署,进行模型推理计算;

25、计算系统包括:运算模块、累加模块、控制模块、解码模块、片上缓存以及主存;

26本文档来自技高网...

【技术保护点】

1.一种大语言模型软硬件协同量化加速计算方法,其特征是,采用以通道为粒度处理大语言模型中的离群值,将存在大量离群值的通道整体以高精度进行存储,通过自适应量化过程、编译优化过程和硬件实现过程,实现大语言模型软硬件协同推理加速;包括:

2.如权利要求1所述的大语言模型软硬件协同量化加速计算方法,其特征是,所述大语言模型为基于Transformer的大语言模型。

3.如权利要求1所述的大语言模型软硬件协同量化加速计算方法,其特征是,步骤1)中,在初始情况下,用于辨别离群通道的阈值设定为当前线性层各激活通道的幅度平均值加上3倍的幅度标准差;离群通道的激活值使用8位浮点数表示,正常通道的激活值使用4位整数表示。

4.如权利要求1所述的大语言模型软硬件协同量化加速计算方法,其特征是,步骤15)中,离群通道量化超参数调整方案包括:

5.如权利要求1所述的大语言模型软硬件协同量化加速计算方法,其特征是,步骤1)中,所述自适应量化算法启发式地搜索量化误差小的混合量化配置,具体过程包括:

6.如权利要求1所述的大语言模型软硬件协同量化加速计算方法,其特征是,步骤2)中,进行数据编码包括:

7.如权利要求6所述的大语言模型软硬件协同量化加速计算方法,其特征是,步骤24)中, 对算子图进行数据流优化是对于每个线性层,在算子图中输入边上插入激活数据重排算子,并进行重排算子融合:包括:

8.一种实现权利要求1所述的大语言模型软硬件协同量化加速计算方法的计算系统,其特征是,包括:运算模块、累加模块、解码模块、控制模块、片上缓存和主存;其中,

9.如权利要求8所述的计算系统,其特征是,运算模块中的能效子阵列用于处理低精度激活,灵活子阵列用于处理高精度激活;两个子阵列按照输出激活的流动方向顺序连接。

10.如权利要求8所述的计算系统,其特征是,控制模块管理可重构加速器的计算流程包括:

...

【技术特征摘要】

1.一种大语言模型软硬件协同量化加速计算方法,其特征是,采用以通道为粒度处理大语言模型中的离群值,将存在大量离群值的通道整体以高精度进行存储,通过自适应量化过程、编译优化过程和硬件实现过程,实现大语言模型软硬件协同推理加速;包括:

2.如权利要求1所述的大语言模型软硬件协同量化加速计算方法,其特征是,所述大语言模型为基于transformer的大语言模型。

3.如权利要求1所述的大语言模型软硬件协同量化加速计算方法,其特征是,步骤1)中,在初始情况下,用于辨别离群通道的阈值设定为当前线性层各激活通道的幅度平均值加上3倍的幅度标准差;离群通道的激活值使用8位浮点数表示,正常通道的激活值使用4位整数表示。

4.如权利要求1所述的大语言模型软硬件协同量化加速计算方法,其特征是,步骤15)中,离群通道量化超参数调整方案包括:

5.如权利要求1所述的大语言模型软硬件协同量化加速计算方法,其特征...

【专利技术属性】
技术研发人员:孙广宇薛晨皓
申请(专利权)人:北京大学
类型:发明
国别省市:

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

1