CN114707637A - 一种神经网络量化部署方法、系统及存储介质 - Google Patents
一种神经网络量化部署方法、系统及存储介质 Download PDFInfo
- Publication number
- CN114707637A CN114707637A CN202210272527.4A CN202210272527A CN114707637A CN 114707637 A CN114707637 A CN 114707637A CN 202210272527 A CN202210272527 A CN 202210272527A CN 114707637 A CN114707637 A CN 114707637A
- Authority
- CN
- China
- Prior art keywords
- network
- value
- quantization
- data
- weight
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 29
- 238000013139 quantization Methods 0.000 claims abstract description 90
- 230000004913 activation Effects 0.000 claims abstract description 59
- 238000012549 training Methods 0.000 claims abstract description 33
- 230000001537 neural effect Effects 0.000 claims abstract description 18
- 238000007781 pre-processing Methods 0.000 claims abstract description 13
- 230000008447 perception Effects 0.000 claims abstract description 8
- 238000000605 extraction Methods 0.000 claims abstract description 4
- 238000012545 processing Methods 0.000 claims description 23
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000011002 quantification Methods 0.000 claims description 6
- 239000002904 solvent Substances 0.000 claims description 6
- 238000012360 testing method Methods 0.000 claims description 6
- 238000012795 verification Methods 0.000 claims description 6
- 238000004140 cleaning Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明涉及神经网络技术领域,公开了一种神经网络量化部署方法、系统及存储介质,其中量化部署方法包括数据预处理、搭建网络模型和提取网络参数进行量化部署,搭建网络模型具体包括:采用神经常微分方程配置网络架构,通过ODE‑solver求解器匹配硬件设备进行网络深度和数值误差的配置,采用量化感知训练量化神经常微分方程网络,对激活值和权重量化后执行数据运算的结果直接进行反量化;本发明降低了因网络量化部署而造成的损失,使网络部署到端侧时更方便快捷,能够很好的适应硬件设备,发挥最佳计算性能,有切实意义上的实用价值。
Description
技术领域
本发明涉及神经网络技术领域,具体涉及一种神经网络量化部署方法、系统及存储介质。
背景技术
近些年来深度学习迅速发展,在自然语言处理、目标检测、计算机视觉等领域取得了最优越的性能,从最初的AlexNet到GoogleNet、VGG,模型预测精度越来越高、网络层数也越来越深。Resnet网络的提出,更是解决了因网络加深而出现的梯度消失或梯度爆炸问题,shortcut结构保证了深层网络至少不低于浅层网络预测精度。
而随着神经网络模型堆叠的层数越来越多,消耗的内存大小成为问题,特别是在嵌入式移动设备中,因此如何减小网络规模,压缩网络内存以更好嵌入移动设备中成为了亟需解决的问题。
发明内容
针对现有技术的不足,本发明提供一种神经网络量化部署方法、系统及存储介质,用于以较小的模型尺寸完成任务并且压缩网络内存以更好的嵌入到移动设备中去。
本发明解决技术问题采用如下技术方案:
本发明提供了一种神经网络量化部署方法,包括数据预处理、搭建网络模型和提取网络参数进行量化部署,所述搭建网络模型具体包括:
采用神经常微分方程配置网络架构,通过ODE-solver求解器匹配硬件设备进行网络深度和数值误差的配置;
采用量化感知训练量化神经常微分方程网络,对激活值和权重量化后执行数据运算的结果直接进行反量化,保持网络量化部署在端侧时的推理过程和训练时的推理过程一致,并采用直通估计直接将梯度回传到量化之前的权重上,更新权重。
优选地,所述数据预处理具体包括:
收集整理数据并清理无关数据、特殊数据,配置每个样本数据使其规格相同,赋予数据标签并按照7:2:1划分为训练集、验证集和测试集。
优选地,所述ODE-solver求解器通过调整计算间隔时间以增加或减少计算次数进行网络层数的调整。
优选地,所述权重采用层级量化。
优选地,所述激活值和权重通过缩放系数量化数据,并直接采用移位运算完成量化,具体包括:
采用滑动平均统计激活值或权重的最大值和最小值;
返回最大值的绝对值和最小值绝对值的最值;
对最值求取其最接近的2的次方数作为位数值;
根据位数值和量化目标位数得到缩放比例;
按缩放比例对激活值或权重进行缩放并四舍五入取整;
截断超过预设表示范围的取整数据,返回结果作为量化后的激活值或权重输出。
优选地,权重的预设表示范围下限值为激活值的预设表示范围下限值减一。
优选地,所述网络量化部署在端侧时的推理过程为全量化推理,具体包括:
读取所述缩放比例,并采用量化训练时的量化方法对权重执行量化处理;
对初始输入执行量化操作,并将输出结果作为量化后的激活值和量化后的权重执行数据运算;
对运算输出结果执行再量化处理,并将处理结果作为下一个操作的输入;
所述再量化处理具体为根据权重和激活值的位数值对运算输出结果执行移位操作。
本发明还提供一种神经网络系统,包括数据预处理模块、网络模型模块和量化部署模块,所述网络模型模块配置为用于采用神经常微分方程配置网络架构,通过ODE-solver求解器匹配硬件设备进行网络深度和数值误差的配置;采用量化感知训练量化神经常微分方程网络,对激活值和权重量化后执行数据运算的结果直接进行反量化,保持网络量化部署在端侧时的推理过程和训练时的推理过程一致,并采用直通估计直接将梯度回传到量化之前的权重上,更新权重,其中,
ODE-solver求解器通过调整计算间隔时间以增加或减少计算次数进行网络层数的调整;
权重采用层级量化,激活值和权重通过缩放系数量化数据,并直接采用移位运算完成量化,具体包括:
采用滑动平均统计激活值或权重的最大值和最小值;
返回最大值的绝对值和最小值绝对值的最值;
对最值求取其最接近的2的次方数作为位数值;
根据位数值和量化目标位数得到缩放比例;
按缩放比例对激活值或权重进行缩放并四舍五入取整;
截断超过预设表示范围的取整数据,返回结果作为量化后的激活值或权重输出,所述权重的预设表示范围下限值为激活值的预设表示范围下限值减一;
所述数据预处理模块配置为用于收集整理数据并清理无关数据、特殊数据,配置每个样本数据使其规格相同,赋予数据标签并按照7:2:1划分为训练集、验证集和测试集;
所述量化部署模块配置为用于将网络量化部署在端侧时的推理过程为全量化推理,具体包括:
读取所述缩放比例,并采用量化训练时的量化方法对权重执行量化处理;
对初始输入执行量化操作,并将输出结果作为量化后的激活值和量化后的权重执行数据运算;
对运算输出结果执行再量化处理,并将处理结果作为下一个操作的输入;
所述再量化处理具体为根据权重和激活值的位数值对运算输出结果执行移位操作。
本发明还提供一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如前述的神经网络量化部署方法。
本发明还提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如前述的神经网络量化部署方法。
与现有技术相比,本发明具有如下的有益效果:
本发明的神经网络量化部署方法在量化激活值和权重时,量化后并没有紧接着反量化,而是对操作后的输出结果进行反量化,使网络在训练的过程中适应这种操作,保存与端侧的推理过程一致,降低因网络量化部署而造成的损失;其次本发明采用ODE-solver求解器匹配硬件设备进行网络深度和数值误差的配置,能够自适应调整Δt的值,根据不同的应用场景自适应调节网络深度,以较小的模型尺寸完成任务。还能控制数值误差,因此可以在计算时间和模型准确度之间做权衡,以适应硬件设备,发挥最佳性能,最后本发明在量化时能够直接使用移位运算完成量化,使网络部署到端侧时更方便快捷。
关于本发明相对于现有技术,其他突出的实质性特点和显著的进步在实施例部分进一步详细介绍。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为实施例1的量化训练推理模式示意图;
图2为实施例1的残差模块示意图;
图3为实施例1的经典残差resnet18网络结构示意图;
图4为实施例1的NODE模块结构示意图;
图5为实施例1的18-layer NODE结构示意图;
图6为实施例1的端侧推理模式结构示意图;
图7为实施例2的神经网络系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在说明书及权利要求书当中使用了某些名称来指称特定组件。应当理解,本领域普通技术人员可能会用不同名称来指称同一个组件。本申请说明书及权利要求书并不以名称的差异作为区分组件的方式,而是以组件在功能上的实质性差异作为区分组件的准则。如在本申请说明书和权利要求书中所使用的“包含”或“包括”为一开放式用语,其应解释为“包含但不限定于”或“包括但不限定于”。具体实施方式部分所描述的实施例为本发明的较佳实施例,并非用以限定本发明的范围。
此外,所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为软硬件结合的形式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个微控制器可读介质中的计算机程序产品的形式,该微控制器可读介质中包含微控制器可读的程序代码。
实施例1
本实施例提供的一种神经网络量化部署方法,包括数据预处理、搭建网络模型和提取网络参数进行量化部署,其中,
数据预处理具体包括:
收集整理数据并清理无关数据、特殊数据,配置每个样本数据使其规格相同,赋予数据标签并按照7:2:1划分为训练集、验证集和测试集;
搭建网络模型具体包括:
采用神经常微分方程配置网络架构,通过ODE-solver求解器匹配硬件设备进行网络深度和数值误差的配置,其中,ODE-solver求解器通过调整计算间隔时间以增加或减少计算次数进行网络层数的调整;
为了进一步说明采用的神经常微分方程配置网络架构,请参照图2为残差模块示意图,残差网络是一类特殊的卷积网络,它通过残差连接而解决了梯度反传问题,即当神经网络层级非常深时,梯度仍然能有效传回输入端,可以抽象表示为公式:
ht+1-ht=f(ht,θt)
其中ht为第t层的输出值,θt为第t层网络的参数,f为通过θt参数化的神经网络,请参照图3,为经典残差resnet18网络结构示意图;
请参照图4为NODE(Neural Ordinary Differential Equation)神经常微分方程的结构示意图,残差网络参数化的是隐藏层之间的残差,而神经微分方程参数化的是隐藏层的导数,神经常微分方程可以抽象表示为公式:
ht+1-ht=∫t t+1f(ht,t,θt)dt
如上公式所示,常微分方程的数值解ht+1需要神经网络f从t到t+1的积分,这可以利用ODE-solver解出这个值,那么就相当于完成了前向传播;请参照图5为在残差网络的结构上,加入NODE模块后的网络结构图;
采用量化感知训练(Quantification Aware Training,QAT)量化神经常微分方程网络,量化感知训练是在量化的过程中,对网络进行训练,从而让网络参数能更好地适应量化带来的信息损失;
在本实施例中对激活值和权重量化后执行数据运算的结果直接进行反量化,保持网络量化部署在端侧时的推理过程和训练时的推理过程一致,请参照图1,以FP32和INT8数据为例,为了保持网络部署在端侧时的推理过程和训练时的推理流程一致,在将量化激活值(Activate)和权重(Weight)时量化为INT8时,量化后并没有紧接着反量化为FP32,而是对操作结果进行反量化;
并在量化训练时,使用直通估计(Straight Through Estimator,STE)跳过量化的过程,直接将梯度回传到量化之前的权重上,适应量化产生的误差,使其权重更新;
其中,权重采用层级量化,激活值a和权重w通过缩放系数量化数据,并直接采用移位运算完成量化,具体包括:
采用滑动平均统计激活值或权重的最大值和最小值;
返回最大值的绝对值和最小值绝对值的最值;
对最值求取其最接近的2的次方数作为位数值;
根据位数值和量化目标位数得到缩放比例;
按缩放比例对激活值或权重进行缩放并四舍五入取整;
截断超过预设表示范围的取整数据,返回结果作为量化后的激活值或权重输出。
以量化激活值为例举例说明上述量化过程:
量化激活值时,使用滑动平均统计激活值的最大值(max)和最小值(min),
max=(1-momentum)*max+momentum*max_val
min=(1-momentum)*min+momentum*min_val
其中momentum为权重常量,一般取0.01,max_val为上一次统计到的最大值,量化激活值时,使用线性对称量化,
Qmax=MAX(abs(max),abs(min))
其中MAX()为求最大值函数,abs()为绝对值函数,本实施例中没有直接使用最值Qmax对数据进行归一化,而是求取Qmax最接近的2的次方数,
bit=round(log2(Qmax)
其中round()为四舍五入函数。通过位数值bit,求得缩放比例scale,
scale=2bit/27
由上公式可以看出,通过缩放系数量化数据时,能够直接用移位运算来处理,使用scale将浮点型(FP32)量化为整型(INT8)型,
截断超过表示范围的数据:
Qa-F=clamp(Qa,-27,27-1)
其中clamp()为截断函数,Qa-F为量化后的激活值;
量化权重时,可分为层级(layer)量化和通道级(channel)量化,通道级量化即针对每个通道的权重进行量化,每一个通道都有一个对应的缩放比例scale,本实施例采用层级量化,有效便捷了再端侧的部署,量化方式与激活值量化基本一致,只是在最后截断时,为了避免溢出风险,权重的预设表示范围下限值为激活值的预设表示范围下限值减一,公式如下,
Qw-F=clamp(Qw,-27-1,27-1);
本实施例中对激活值和权重量化后执行数据运算的结果直接进行反量化,具体为:
权重反量化:
w=Qw-F*Sw
激活值反量化:
a=Qa-F*Sa
不论是卷积层还是全连接层,其本质上都是矩阵运算,因此可以表示为:
在英伟达的tensorRT量化方案中通过实验得知,去掉偏置b对精度的影响不大,则对输出结果Qoutput反量化得到反量化结果output,
本实施例中网络量化部署在端侧时的推理过程为全量化推理,具体包括:
读取所述缩放比例,并采用量化训练时的量化方法对权重执行量化处理;
对初始输入执行量化操作,并将输出结果作为量化后的激活值和量化后的权重执行数据运算;
对运算输出结果执行再量化处理,并将处理结果作为下一个操作的输入;
所述再量化处理具体为根据权重和激活值的位数值对运算输出结果执行移位操作,具体的以DSP为例,DSP这类微处理器,不支持浮点运算,部署时需要做全量化推理,网络训练时,通过直通估计更新权重参数,训练完以后,得到的权重是浮点型FP32,因此需要将权重量化成INT8并保存到。此时量化,主要借助量化训练时的scale值,量化方法与训练时量化一致。
在训练时,一个操作后的输出值的数据类型是INT32,然后要反量化到FP32;同时一个操作的输出值,即是下一个操作的输入值,要将输入的FP32再量化为INT8,在端侧推理时,只做正向推理,而不用考虑反向传播更新权重,因此将上述操作,合成一个requantize再量化操作,直接将INT32量化为INT8,请参照图6为端侧推理模式示意图,输入值要量化为INT8,才可输入到网络中,其中将INT32量化为INT8,请参考如下公式:
Qa+1*Sa+1=SwSa*Qoutput
可知,对输出值Qoutput进行移位操作,即可将INT32量化为INT8。
实施例2
如图7所示,本实施例提供一种神经网络系统,包括数据预处理模块、网络模型模块和量化部署模块,其中,
网络模型模块配置为用于采用神经常微分方程配置网络架构,通过ODE-solver求解器匹配硬件设备进行网络深度和数值误差的配置;采用量化感知训练量化神经常微分方程网络,对激活值和权重量化后执行数据运算的结果直接进行反量化,保持网络量化部署在端侧时的推理过程和训练时的推理过程一致,并采用直通估计直接将梯度回传到量化之前的权重上,更新权重,其中,
ODE-solver求解器通过调整计算间隔时间以增加或减少计算次数进行网络层数的调整;
权重采用层级量化,激活值和权重通过缩放系数量化数据,并直接采用移位运算完成量化,具体包括:
采用滑动平均统计激活值或权重的最大值和最小值;
返回最大值的绝对值和最小值绝对值的最值;
对最值求取其最接近的2的次方数作为位数值;
根据位数值和量化目标位数得到缩放比例;
按缩放比例对激活值或权重进行缩放并四舍五入取整;
截断超过预设表示范围的取整数据,返回结果作为量化后的激活值或权重输出,所述权重的预设表示范围下限值为激活值的预设表示范围下限值减一;
所述数据预处理模块配置为用于收集整理数据并清理无关数据、特殊数据,配置每个样本数据使其规格相同,赋予数据标签并按照7:2:1划分为训练集、验证集和测试集;
所述量化部署模块配置为用于将网络量化部署在端侧时的推理过程为全量化推理,具体包括:
读取所述缩放比例,并采用量化训练时的量化方法对权重执行量化处理;
对初始输入执行量化操作,并将输出结果作为量化后的激活值和量化后的权重执行数据运算;
对运算输出结果执行再量化处理,并将处理结果作为下一个操作的输入;
所述再量化处理具体为根据权重和激活值的位数值对运算输出结果执行移位操作。
实施例3
本实施例提供一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行实施例1所述的神经网络量化部署方法。
实施例4
本实施例提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如实施例1所述的神经网络量化部署方法。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (10)
1.一种神经网络量化部署方法,包括数据预处理、搭建网络模型和提取网络参数进行量化部署,其特征在于,所述搭建网络模型具体包括:
采用神经常微分方程配置网络架构,通过ODE-solver求解器匹配硬件设备进行网络深度和数值误差的配置;
采用量化感知训练量化神经常微分方程网络,对激活值和权重量化后执行数据运算的结果直接进行反量化,保持网络量化部署在端侧时的推理过程和训练时的推理过程一致,并采用直通估计直接将梯度回传到量化之前的权重上,更新权重。
2.根据权利要求1所述的一种神经网络量化部署方法,其特征在于,所述数据预处理具体包括:
收集整理数据并清理无关数据、特殊数据,配置每个样本数据使其规格相同,赋予数据标签并按照7:2:1划分为训练集、验证集和测试集。
3.根据权利要求1所述的一种神经网络量化部署方法,其特征在于,所述ODE-solver求解器通过调整计算间隔时间以增加或减少计算次数进行网络层数的调整。
4.根据权利要求1所述的一种神经网络量化部署方法,其特征在于,所述权重采用层级量化。
5.根据权利要求4所述的一种神经网络量化部署方法,其特征在于,所述激活值和权重通过缩放系数量化数据,并直接采用移位运算完成量化,具体包括:
采用滑动平均统计激活值或权重的最大值和最小值;
返回最大值的绝对值和最小值绝对值的最值;
对最值求取其最接近的2的次方数作为位数值;
根据位数值和量化目标位数得到缩放比例;
按缩放比例对激活值或权重进行缩放并四舍五入取整;
截断超过预设表示范围的取整数据,返回结果作为量化后的激活值或权重输出。
6.根据权利要求5所述的一种神经网络量化部署方法,其特征在于,权重的预设表示范围下限值为激活值的预设表示范围下限值减一。
7.根据权利要求6所述的一种神经网络量化部署方法,其特征在于,所述网络量化部署在端侧时的推理过程为全量化推理,具体包括:
读取所述缩放比例,并采用量化训练时的量化方法对权重执行量化处理;
对初始输入执行量化操作,并将输出结果作为量化后的激活值和量化后的权重执行数据运算;
对运算输出结果执行再量化处理,并将处理结果作为下一个操作的输入;
所述再量化处理具体为根据权重和激活值的位数值对运算输出结果执行移位操作。
8.一种神经网络系统,包括数据预处理模块、网络模型模块和量化部署模块,其特征在于,所述网络模型模块配置为用于采用神经常微分方程配置网络架构,通过ODE-solver求解器匹配硬件设备进行网络深度和数值误差的配置;采用量化感知训练量化神经常微分方程网络,对激活值和权重量化后执行数据运算的结果直接进行反量化,保持网络量化部署在端侧时的推理过程和训练时的推理过程一致,并采用直通估计直接将梯度回传到量化之前的权重上,更新权重,其中,
ODE-solver求解器通过调整计算间隔时间以增加或减少计算次数进行网络层数的调整;
权重采用层级量化,激活值和权重通过缩放系数量化数据,并直接采用移位运算完成量化,具体包括:
采用滑动平均统计激活值或权重的最大值和最小值;
返回最大值的绝对值和最小值绝对值的最值;
对最值求取其最接近的2的次方数作为位数值;
根据位数值和量化目标位数得到缩放比例;
按缩放比例对激活值或权重进行缩放并四舍五入取整;
截断超过预设表示范围的取整数据,返回结果作为量化后的激活值或权重输出,所述权重的预设表示范围下限值为激活值的预设表示范围下限值减一;
所述数据预处理模块配置为用于收集整理数据并清理无关数据、特殊数据,配置每个样本数据使其规格相同,赋予数据标签并按照7:2:1划分为训练集、验证集和测试集;
所述量化部署模块配置为用于将网络量化部署在端侧时的推理过程为全量化推理,具体包括:
读取所述缩放比例,并采用量化训练时的量化方法对权重执行量化处理;
对初始输入执行量化操作,并将输出结果作为量化后的激活值和量化后的权重执行数据运算;
对运算输出结果执行再量化处理,并将处理结果作为下一个操作的输入;
所述再量化处理具体为根据权重和激活值的位数值对运算输出结果执行移位操作。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的神经网络量化部署方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-7中任一项所述的神经网络量化部署方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210272527.4A CN114707637A (zh) | 2022-03-18 | 2022-03-18 | 一种神经网络量化部署方法、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210272527.4A CN114707637A (zh) | 2022-03-18 | 2022-03-18 | 一种神经网络量化部署方法、系统及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114707637A true CN114707637A (zh) | 2022-07-05 |
Family
ID=82168047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210272527.4A Pending CN114707637A (zh) | 2022-03-18 | 2022-03-18 | 一种神经网络量化部署方法、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114707637A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115238873A (zh) * | 2022-09-22 | 2022-10-25 | 深圳市友杰智新科技有限公司 | 神经网络模型部署方法、装置、计算机设备 |
CN116468079A (zh) * | 2023-04-13 | 2023-07-21 | 上海处理器技术创新中心 | 用于训练深度神经网络模型的方法及相关产品 |
CN117454948A (zh) * | 2023-12-25 | 2024-01-26 | 福建亿榕信息技术有限公司 | 一种适用于国产硬件的fp32模型转换方法 |
WO2024164590A1 (zh) * | 2023-02-08 | 2024-08-15 | 华为技术有限公司 | 编解码网络模型的量化方法和相关装置 |
-
2022
- 2022-03-18 CN CN202210272527.4A patent/CN114707637A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115238873A (zh) * | 2022-09-22 | 2022-10-25 | 深圳市友杰智新科技有限公司 | 神经网络模型部署方法、装置、计算机设备 |
WO2024164590A1 (zh) * | 2023-02-08 | 2024-08-15 | 华为技术有限公司 | 编解码网络模型的量化方法和相关装置 |
CN116468079A (zh) * | 2023-04-13 | 2023-07-21 | 上海处理器技术创新中心 | 用于训练深度神经网络模型的方法及相关产品 |
CN116468079B (zh) * | 2023-04-13 | 2024-05-24 | 上海处理器技术创新中心 | 用于训练深度神经网络模型的方法及相关产品 |
CN117454948A (zh) * | 2023-12-25 | 2024-01-26 | 福建亿榕信息技术有限公司 | 一种适用于国产硬件的fp32模型转换方法 |
CN117454948B (zh) * | 2023-12-25 | 2024-07-05 | 福建亿榕信息技术有限公司 | 一种适用于国产硬件的fp32模型转换方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114707637A (zh) | 一种神经网络量化部署方法、系统及存储介质 | |
CN108510067B (zh) | 基于工程化实现的卷积神经网络量化方法 | |
CN111091184B (zh) | 一种深度神经网络的量化方法、装置、电子设备及介质 | |
CN112329922A (zh) | 一种基于质谱数据集的神经网络模型压缩方法及系统 | |
US8396716B2 (en) | Signal compression method and apparatus | |
CN112733964B (zh) | 一种强化学习自动感知权重分布的卷积神经网络量化方法 | |
CN110363297A (zh) | 神经网络训练及图像处理方法、装置、设备和介质 | |
CN110782021B (zh) | 一种图像分类方法、装置、设备及计算机可读存储介质 | |
CN109978144B (zh) | 一种模型压缩方法和系统 | |
CN111985495A (zh) | 模型部署方法、装置、系统及存储介质 | |
CN111178514A (zh) | 神经网络的量化方法及系统 | |
CN108734287A (zh) | 深度神经网络模型的压缩方法及装置、终端、存储介质 | |
CN115238893B (zh) | 面向自然语言处理的神经网络模型量化方法和装置 | |
EP3686809B1 (en) | Method and device for transforming cnn layers to optimize cnn parameter quantization to be used for mobile devices or compact networks with high precision via hardware optimization | |
CN112861996A (zh) | 深度神经网络模型压缩方法及装置、电子设备、存储介质 | |
CN112686384A (zh) | 一种自适应比特位宽的神经网络量化方法及其装置 | |
CN113409773A (zh) | 一种二值化神经网络语音唤醒方法及系统 | |
KR20200049422A (ko) | 시뮬레이션-가이드된 반복적 프루닝을 사용하는 효율적인 네트워크 압축 | |
CN116013293A (zh) | 一种基于混合精度量化神经网络的语音唤醒方法及系统 | |
CN112613604A (zh) | 神经网络的量化方法及装置 | |
WO2007041789A1 (en) | Front-end processing of speech signals | |
CN112652299B (zh) | 时间序列语音识别深度学习模型的量化方法及装置 | |
KR20170088165A (ko) | 심층 신경망 기반 음성인식 방법 및 그 장치 | |
CN116306879A (zh) | 数据处理方法、装置、电子设备以及存储介质 | |
CN111614358B (zh) | 基于分通道量化的特征提取方法、系统、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |