一种4比特量化推理的方法、装置、设备及可读介质制造方法及图纸

技术编号:27007172 阅读:17 留言:0更新日期:2021-01-08 17:11
本发明专利技术公开了一种4比特量化推理的方法,包括以下步骤:训练生成伪量化模型,将伪量化模型中的归一化层合并入卷积层;对权重参数的数据类型进行等价变换和再量化,以将伪量化模型转换为量化模型;基于量化模型将常量折叠合并以生成输出数据类型为int4的推理模型;以及基于推理模型进行推理计算。本发明专利技术还公开了一种4比特量化推理的装置、计算机设备和可读存储介质。本发明专利技术实现GPU上的4比特推理,避免CPU中缺少int4这种数据类型而导致数据无法存储的问题,同时使模型体积为原始模型的1/8,推理时占用的内存也会减少,变为原来的1/8,大大加速了推理计算的过程。

【技术实现步骤摘要】
一种4比特量化推理的方法、装置、设备及可读介质
本专利技术涉及数据处理
,尤其涉及一种4比特量化推理的方法、装置、设备及可读介质。
技术介绍
NeuralNetwork模型一般都会占用很大的磁盘空间,比如AlexNet的模型文件就超过了200MB,模型包含了数百万的参数,绝大部分的空间都用来存储这些模型的参数。这些参数是浮点数类型的,普通的压缩算法很难压缩它们的空间。一般模型的内部的计算都采用了浮点数计算,浮点数的计算会消耗比较大的计算资源(空间和cpu/gpu时间),如果在不影响模型准确率的情况下,模型内部可以采用其他简单数值类型进行计算的话,计算速度会提高很多,消耗的计算资源会大大减小,尤其是对于移动设备来说,这点尤其重要。由此引入量化技术,量化即通过减少表示每个权重所需的比特数来压缩原始网络。现有技术中,谷歌的tensorflow中提供的量化感知训练。目前大多数训练和推理框架都支持int8量化,对于8比特量化模型可以压缩到1/4,网络的运行速度会大大提升。相比于8比特量化,4比特量化可以在8比特的基础上将模型的体积继续压缩1倍,运行速度提升50%。但是4比特由于最大只能表征16个数,因此会导致模型的分类精度下降。因此,目前大多数训练和推理框架都没支持int4的量化。由于主流推理框架不支持int4的推理,在模型推理中无法使用int4来加速网络的推理过程。另外,cpu中没有int4这种数据类型,也会导致实际运行困难。对于int4的量化算法大部分停留在理论层面,实用困难。
技术实现思路
r>有鉴于此,本专利技术实施例的目的在于提出一种4比特量化推理的方法、装置、设备及可读介质,实现GPU上的4比特推理,避免CPU中缺少int4这种数据类型而导致数据无法存储的问题,同时使模型体积为原始模型的1/8,推理时占用的内存也会减少,变为原来的1/8,大大加速了推理计算的过程。基于上述目的,本专利技术实施例的一方面提供了一种4比特量化推理的方法,包括以下步骤:训练生成伪量化模型,将伪量化模型中的归一化层合并入卷积层;对权重参数的数据类型进行等价变换和再量化,以将伪量化模型转换为量化模型;基于量化模型将常量折叠合并以生成输出数据类型为int4的推理模型;以及基于推理模型进行推理计算。在一些实施方式中,对权重参数的数据类型进行等价变换和再量化包括:将权重参数的数据类型由uint4转换为int4;对int4数据类型的权重参数进行再量化。在一些实施方式中,基于量化模型将常量折叠合并包括:将量化模型中连续卷积之间上层的反量化操作和下层的量化操作进行合并。在一些实施方式中,基于量化模型将常量折叠合并包括:将量化模型中shortcut分支的常量进行折叠合并操作。在一些实施方式中,基于推理模型进行推理计算包括:对卷积的输入值进行pad操作,并将输入值的数据类型转换为int4;对数据类型为int4的输入值进行卷积运算,并将每8个数据类型为int4的卷积结果组合生成一个新的数据类型为int32的卷积结果,并进行存储;将存储的卷积结果进行反量化操作;将反量化后的卷积结果转换为数据类型为int4的数据输出。在一些实施方式中,将存储的卷积结果进行反量化操作包括:将卷积结果转换为浮点数后,与反量化系数相乘,并与卷积的偏置相加。在一些实施方式中,将反量化后的卷积结果转换为数据类型为int4的数据输出包括:对卷积结果进行限幅,将卷积结果的范围限制在-8到7之间,并将卷积结果转换为数据类型为int4的数据输出。本专利技术实施例的另一方面,还提供了一种4比特量化推理的装置,包括:初始模块,配置用于训练生成伪量化模型,将伪量化模型中的归一化层合并入卷积层;等价变换模块,配置用于对权重参数的数据类型进行等价变换和再量化,以将伪量化模型转换为量化模型;常量合并模块,配置用于基于量化模型将常量折叠合并以生成输出数据类型为int4的推理模型;以及推理计算模块,配置用于基于推理模型进行推理计算。本专利技术实施例的再一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行时实现上述方法的步骤。本专利技术实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。本专利技术具有以下有益技术效果:实现GPU上的4比特推理,避免CPU中缺少int4这种数据类型而导致数据无法存储的问题,同时使模型体积为原始模型的1/8,推理时占用的内存也会减少,变为原来的1/8,大大加速了推理计算的过程。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。图1为本专利技术提供的4比特量化推理的方法的实施例的示意图;图2为本专利技术提供的4比特量化推理的装置的实施例的示意图;图3为本专利技术提供的计算机设备的实施例的示意图;图4为本专利技术提供的计算机可读存储介质的实施例的示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术实施例进一步详细说明。需要说明的是,本专利技术实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本专利技术实施例的限定,后续实施例对此不再一一说明。基于上述目的,本专利技术实施例的第一个方面,提出了4比特量化推理的方法的实施例。图1示出的是本专利技术提供的4比特量化推理的方法的实施例的示意图。如图1所示,本专利技术实施例包括如下步骤:S01、训练生成伪量化模型,将伪量化模型中的归一化层合并入卷积层;S02、对权重参数的数据类型进行等价变换和再量化,以将伪量化模型转换为量化模型;S03、基于量化模型将常量折叠合并以生成输出数据类型为int4的推理模型;以及S04、基于推理模型进行推理计算。在本实施例中,主要分为生成推理引擎和使用推理引擎进行推理计算两个步骤。在生成推理引擎阶段,主要进行模型的等价变换,常量的合并,常量的预计算,权重参数的预处理及存储,并将推理引擎的计算结构保存为计算图的形式,方便后续直接加载推理引擎,进行真正的推理运算。在使用推理引擎的实际推理计算阶段,直接在GPU上加载优化后的推理引擎,省却了加载模型的冗余计算,使计算更加高效。与离线量化不同,训练量化需要在训练中模拟量化操作的影响,并通过训练使得模型学习并适应量化操作所带来的误差,从而提高量化的精度。因此训练量化也称为Quantization-awareTraining(QAT),意指训练中已经意识到此模型将会转换成量化模型。模型量化可以缓解现有卷积神经网络参数量大、计算量大、内存占本文档来自技高网...

【技术保护点】
1.一种4比特量化推理的方法,其特征在于,包括以下步骤:/n训练生成伪量化模型,将所述伪量化模型中的归一化层合并入卷积层;/n对权重参数的数据类型进行等价变换和再量化,以将所述伪量化模型转换为量化模型;/n基于所述量化模型将常量折叠合并以生成输出数据类型为int4的推理模型;以及/n基于所述推理模型进行推理计算。/n

【技术特征摘要】
1.一种4比特量化推理的方法,其特征在于,包括以下步骤:
训练生成伪量化模型,将所述伪量化模型中的归一化层合并入卷积层;
对权重参数的数据类型进行等价变换和再量化,以将所述伪量化模型转换为量化模型;
基于所述量化模型将常量折叠合并以生成输出数据类型为int4的推理模型;以及
基于所述推理模型进行推理计算。


2.根据权利要求1所述的4比特量化推理的方法,其特征在于,对权重参数的数据类型进行等价变换和再量化包括:
将权重参数的数据类型由uint4转换为int4;
对所述int4数据类型的权重参数进行再量化。


3.根据权利要求1所述的4比特量化推理的方法,其特征在于,基于所述量化模型将常量折叠合并包括:
将所述量化模型中连续卷积之间上层的反量化操作和下层的量化操作进行合并。


4.根据权利要求1所述的4比特量化推理的方法,其特征在于,基于所述量化模型将常量折叠合并包括:
将所述量化模型中shortcut分支的常量进行折叠合并操作。


5.根据权利要求1所述的4比特量化推理的方法,其特征在于,基于所述推理模型进行推理计算包括:
对卷积的输入值进行pad操作,并将所述输入值的数据类型转换为int4;
对数据类型为int4的输入值进行卷积运算,并将每8个数据类型为int4的卷积结果组合生成一个新的数据类型为int32的卷积结果,并进行存储;
将存储的所述卷积结果进行反量化操作;
将反...

【专利技术属性】
技术研发人员:王曦辉
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

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

1