【技术实现步骤摘要】
基于模型量化的任务处理方法、装置、设备及存储介质
[0001]本申请涉及人工智能
,尤其涉及一种基于模型量化的任务处理方法、装置、设备及存储介质。
技术介绍
[0002]神经网络(Neural Network,简称NN)进行训练或者在设备端进行前向推理时,需要进行大量的浮点float32(32位浮点数)乘加运算(Multiply
‑
Accumulate Operation,简称MACs),消耗了存储和计算资源。
[0003]使用更低精度的数据形式(例如低精度浮点数float16、float8,低精度整型数in8、int4等)代替32位浮点进行运算可以降低资源消耗,同时提高模型推理速度。
[0004]传统的模型量化方案中,仅针对量化系数进行优化,得到的量化模型通常会存在较大的性能损失,进而,影响利用量化模型进行任务处理的准确性。
技术实现思路
[0005]有鉴于此,本申请提供一种基于模型量化的任务处理方法、装置、设备及存储介质。
[0006]具体地,本申请是通过如下技术方案实现的:
[0007]根据本申请实施例的第一方面,提供一种基于模型量化的任务处理方法,包括:
[0008]对于Transformer模型中的任一优化单元,依据该优化单元的第一量化输出和第一浮点输出之间的差异,以最小化该差异为目标,对该优化单元的权重量化系数和激活量化系数进行更新,得到该优化单元的目标权重量化系数和目标激活量化系数;其中,所述第一量化输出为该优化单元的权重参 ...
【技术保护点】
【技术特征摘要】
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模型中的任一优化单元,依据该优化单元的第一量化输出和第一浮点输出之...
【专利技术属性】
技术研发人员:蓝朝祥,李哲暘,张凯,
申请(专利权)人:杭州海康威视数字技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。