基于模型量化的任务处理方法、装置、设备及存储介质制造方法及图纸

技术编号:37060728 阅读:20 留言:0更新日期:2023-03-29 19:37
本申请提供一种基于模型量化的任务处理方法、装置、设备及存储介质,该基于模型量化的任务处理方法包括:依据Transformer模型中优化单元的第一量化输出和第一浮点输出之间的差异,对优化单元的权重量化系数和激活量化系数进行更新;依据优化单元的第二量化输出和第二浮点输出之间的差异,对优化单元的权重量化增量进行更新;依据目标量化系数对优化单元的权重参数进行量化,并依据目标权重量化增量确定优化单元的权重量化取整方向;依据优化单元的目标量化权重参数对优化单元的输入数据进行前向推理计算,并依据优化单元的目标激活量化系数对优化单元的输入/输出进行量化。该方法可以提升任务处理的准确性。法可以提升任务处理的准确性。法可以提升任务处理的准确性。

【技术实现步骤摘要】
基于模型量化的任务处理方法、装置、设备及存储介质


[0001]本申请涉及人工智能
,尤其涉及一种基于模型量化的任务处理方法、装置、设备及存储介质。

技术介绍

[0002]神经网络(Neural Network,简称NN)进行训练或者在设备端进行前向推理时,需要进行大量的浮点float32(32位浮点数)乘加运算(Multiply

Accumulate Operation,简称MACs),消耗了存储和计算资源。
[0003]使用更低精度的数据形式(例如低精度浮点数float16、float8,低精度整型数in8、int4等)代替32位浮点进行运算可以降低资源消耗,同时提高模型推理速度。
[0004]传统的模型量化方案中,仅针对量化系数进行优化,得到的量化模型通常会存在较大的性能损失,进而,影响利用量化模型进行任务处理的准确性。

技术实现思路

[0005]有鉴于此,本申请提供一种基于模型量化的任务处理方法、装置、设备及存储介质。
[0006]具体地,本申请是通过如下技术方案实现的:
[0007]根据本申请实施例的第一方面,提供一种基于模型量化的任务处理方法,包括:
[0008]对于Transformer模型中的任一优化单元,依据该优化单元的第一量化输出和第一浮点输出之间的差异,以最小化该差异为目标,对该优化单元的权重量化系数和激活量化系数进行更新,得到该优化单元的目标权重量化系数和目标激活量化系数;其中,所述第一量化输出为该优化单元的权重参数依据所述权重量化系数进行量化,且该优化单元的输入/输出依据所述激活量化系数进行量化的情况下该优化单元的输出,所述第一浮点输出为该优化单元的权重参数为浮点权重参数,且输入为浮点输入的情况下该优化单元的浮点输出;
[0009]在固定该优化单元的浮点权重参数和所述目标权重量化系数和目标激活量化系数的情况下,依据该优化单元的第二量化输出和第二浮点输出之间的差异,以最小化该差异为目标,对该优化单元的权重量化增量进行更新,得到该优化单元的目标权重量化增量;其中,所述第二量化输出为该优化单元的权重参数依据所述目标量化系数进行量化,并依据所述权重量化增量进行量化调整,且该优化单元的输入/输出依据所述目标激活量化系数进行量化的情况下该优化单元的量化输出,所述第二浮点输出为该优化单元的权重参数为浮点权重参数,且输入为浮点输入的情况下该优化单元的浮点输出;
[0010]依据所述目标量化系数对该优化单元的权重参数进行量化,并依据所述目标权重量化增量确定该优化单元的权重量化取整方向,得到该优化单元的目标量化权重参数;
[0011]在利用所述Transformer模型进行任务处理的情况下,对于任一优化单元,依据该优化单元的目标量化权重参数对该优化单元的输入数据进行前向推理计算,并依据该优化
单元的所述目标激活量化系数对该优化单元的输入/输出进行量化。
[0012]根据本申请实施例的第二方面,提供一种基于模型量化的任务处理装置,包括:
[0013]第一确定单元,用于对于Transformer模型中的任一优化单元,依据该优化单元的第一量化输出和第一浮点输出之间的差异,以最小化该差异为目标,对该优化单元的权重量化系数和激活量化系数进行更新,得到该优化单元的目标权重量化系数和目标激活量化系数;其中,所述第一量化输出为该优化单元的权重参数依据所述权重量化系数进行量化,且该优化单元的输入/输出依据所述激活量化系数进行量化的情况下该优化单元的输出,所述第一浮点输出为该优化单元的权重参数为浮点权重参数,且输入为浮点输入的情况下该优化单元的浮点输出;
[0014]第二确定单元,用于在固定该优化单元的浮点权重参数和所述目标权重量化系数和目标激活量化系数的情况下,依据该优化单元的第二量化输出和第二浮点输出之间的差异,以最小化该差异为目标,对该优化单元的权重量化增量进行更新,得到该优化单元的目标权重量化增量;其中,所述第二量化输出为该优化单元的权重参数依据所述目标量化系数进行量化,并依据所述权重量化增量进行量化调整,且该优化单元的输入/输出依据所述目标激活量化系数进行量化的情况下该优化单元的量化输出,所述第二浮点输出为该优化单元的权重参数为浮点权重参数,且输入为浮点输入的情况下该优化单元的浮点输出;
[0015]量化单元,用于依据所述目标量化系数对该优化单元的权重参数进行量化,并依据所述目标权重量化增量确定该优化单元的权重量化取整方向,得到该优化单元的目标量化权重参数;
[0016]任务处理单元,用于在利用所述Transformer模型进行任务处理的情况下,对于任一优化单元,依据该优化单元的目标量化权重参数对该优化单元的输入数据进行前向推理计算,并依据该优化单元的所述目标激活量化系数对该优化单元的输入/输出进行量化。
[0017]根据本申请实施例的第三方面,提供一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器用于执行机器可执行指令,以实现第一方面提供的方法。
[0018]根据本申请实施例的第四方面,提供一种存储介质,所述存储介质内存储有机器可执行指令,所述机器可执行指令被处理器执行时实现第一方面提供的方法。
[0019]本申请提供的技术方案至少可以带来以下有益效果:
[0020]在对Transformer模型进行量化的过程中,不仅对量化系数(包括权重量化系数和激活量化系数)进行了优化,还对权重量化取整方向进行了优化,有效提升了量化模型的性能,进而,提升了利用量化模型进行任务处理时的任务处理的准确性。
附图说明
[0021]图1是本申请示例性实施例示出的一种基于模型量化的任务处理方法的流程示意图;
[0022]图2是一种人工智能主体框架的示意图;
[0023]图3是本申请示例性实施例示出的一种优化量化系数的流程示意图;
[0024]图4是本申请示例性实施例示出的一种基于模型量化的任务处理装置的结构示意图;
[0025]图5是本申请示例性实施例示出的一种电子设备的硬件结构示意图。
具体实施方式
[0026]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0027]在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
[0028]为了使本领域技术人员更好地理解本申请实施例提供的技术方案,并使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方案作进一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于模型量化的任务处理方法,其特征在于,包括:对于Transformer模型中的任一优化单元,依据该优化单元的第一量化输出和第一浮点输出之间的差异,以最小化该差异为目标,对该优化单元的权重量化系数和激活量化系数进行更新,得到该优化单元的目标权重量化系数和目标激活量化系数;其中,所述第一量化输出为该优化单元的权重参数依据所述权重量化系数进行量化,且该优化单元的输入/输出依据所述激活量化系数进行量化的情况下该优化单元的输出,所述第一浮点输出为该优化单元的权重参数为浮点权重参数,且输入为浮点输入的情况下该优化单元的浮点输出;在固定该优化单元的浮点权重参数和所述目标权重量化系数和目标激活量化系数的情况下,依据该优化单元的第二量化输出和第二浮点输出之间的差异,以最小化该差异为目标,对该优化单元的权重量化增量进行更新,得到该优化单元的目标权重量化增量;其中,所述第二量化输出为该优化单元的权重参数依据所述目标量化系数进行量化,并依据所述权重量化增量进行量化调整,且该优化单元的输入/输出依据所述目标激活量化系数进行量化的情况下该优化单元的量化输出,所述第二浮点输出为该优化单元的权重参数为浮点权重参数,且输入为浮点输入的情况下该优化单元的浮点输出;依据所述目标量化系数对该优化单元的权重参数进行量化,并依据所述目标权重量化增量确定该优化单元的权重量化取整方向,得到该优化单元的目标量化权重参数;在利用所述Transformer模型进行任务处理的情况下,对于任一优化单元,依据该优化单元的目标量化权重参数对该优化单元的输入数据进行前向推理计算,并依据该优化单元的所述目标激活量化系数对该优化单元的输入/输出进行量化。2.根据权利要求1所述的方法,其特征在于,所述依据该优化单元的第一量化输出和第一浮点输出之间的差异,以最小化该差异为目标,对该优化单元的权重量化系数和激活量化系数进行更新,得到该优化单元的目标权重量化系数和目标激活量化系数,包括:依据该优化单元的第一量化输出和第一浮点输出,利用第一预设损失函数,确定该优化单元的第一量化损失;依据该优化单元的第一量化损失,以最小化所述第一量化损失为目标,利用梯度下降算法对该优化单元的权重量化系数和激活量化系数进行迭代更新,直至达到预设结束条件,得到该优化单元的目标权重量化系数和目标激活量化系数。3.根据权利要求1所述的方法,其特征在于,所述依据该优化单元的第二量化输出和第二浮点输出之间的差异,以最小化该差异为目标,对该优化单元的权重量化增量进行更新,得到该优化单元的目标权重量化增量,包括:依据该优化单元的第二量化输出和第二浮点输出,利用第二预设损失函数,确定该优化单元的第二量化损失;依据该优化单元的第二量化损失,以最小化所述第二量化损失为目标,利用梯度下降算法对该优化单元的权重量化增量进行迭代更新,直至达到预设结束条件,得到该优化单元的目标权重量化增量。4.根据权利要求3所述的方法,其特征在于,依据所述目标权重量化系数对该优化单元的权重参数进行量化,并依据所述权重量化增量进行量化调整,通过以下公式实现:
其中,W

为该优化单元的量化调整后的权重参数,W为该优化单元的浮点权重参数,s为所述目标权重量化系数,V为权重量化增量,t为控制sigmoid函数的超参,在对该优化单元的权重量化增量进行迭代更新的过程中,t逐渐减小,Floor()为向下取整操作。5.根据权利要求1所述的方法,其特征在于,所述依据所述目标量化系数对该优化单元的权重参数进行量化,并依据所述目标权重量化增量确定该优化单元的权重量化取整方向,得到该优化单元的目标量化权重参数,通过以下公式实现:W
q
=Floor(W/s)+(V>0?1:0)其中,W
q
为该优化单元的量化权重参数,W为该优化单元的浮点权重参数,s为所述目标权重量化系数,V为目标权重量化增量,Floor()为向下取整操作,(V>0?1:0)表示在V>0成立的情况下,取值为1,在V>0不成立的情况下,取值为0。6.根据权利要求2或3所述的方法,其特征在于,依据该优化单元的量化输出和浮点输出,利用预设损失函数,确定该优化单元的量化损失,包括:依据该优化单元的浮点输出,确定该优化单元的浮点输出的标准差;分别将该优化单元的量化输出除以该标准差,得到处理后的量化输出;以及,将该优化单元的浮点输出除以该标准差,得到处理后的浮点输出;依据该处理后的量化输出以及处理后的浮点输出,利用均方误差损失函数,确定该优化单元的量化损失。7.根据权利要求1

5任一项所述的方法,其特征在于,Transformer模型中的优化单元包括:Transformer Stage、Transformer Block、或单个线性层。8.一种基于模型量化的任务处理装置,其特征在于,包括:第一确定单元,用于对于Transformer模型中的任一优化单元,依据该优化单元的第一量化输出和第一浮点输出之...

【专利技术属性】
技术研发人员:蓝朝祥李哲暘张凯
申请(专利权)人:杭州海康威视数字技术股份有限公司
类型:发明
国别省市:

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

1