掌桥专利:专业的专利平台
掌桥专利
首页

具有层间关联性感知能力的多目标混合精度量化搜索方法

文献发布时间:2024-07-23 01:35:21


具有层间关联性感知能力的多目标混合精度量化搜索方法

技术领域

本发明属于,具体地,涉及具有层间关联性感知能力的多目标混合精度量化搜索方法。

背景技术

目前,针对混合精度量化策略的工作,一类是基于训练感知量化的方法,建立在多次迭代的学习过程之上,因此需要消耗大量的计算资源;另一类,是后训练量化的方法,大多是基于神经网络模型层间独立性的假设,而未考虑到层间的依赖性,同时缺少有效的搜索方法去在一个极大的搜索空间内找到最优解。

专利文献CN117392406A公开了一种单阶段实时目标检测模型低位宽混合精度量化方法,该方法利用渐进式量化策略对神经网络模型进行训练和微调,需要在学习过程中消耗大量的计算资源,且并未考虑神经网络模型的层间依赖性。

专利文献CN117217302A公开了一种基于动态规划的多目标混合精度量化搜索方法及系统,该方法基于精度损失、总操作数损失以及训练敏感度损失求得最优混合精度量化策略,但是并未考虑神经网络模型的层间依赖性。

专利文献CN113313250A公开了一种采用混合精度量化与知识蒸馏的神经网络训练方法,该方法经过多轮迭代和蒸馏训练得到任务模型,需要在学习过程中消耗大量的计算资源,且并未考虑神经网络模型的层间依赖性。

专利文献CN116720550A公开了一种深度卷积神经网络的混合精度量化方法及相关设备,该方法对量化后的神经网络模型的不同精度组合进行模型测试,从测试结果中选出最佳的混合精度量化策略,但是并未考虑神经网络模型的层间依赖性。

专利文献CN116721305A公开了一种基于神经网络结构搜索的混合精度量化感知训练方法,该方法对不同约束下的混合精度网络进行量化感知训练,需要在学习过程中消耗大量的计算资源,且并未考虑神经网络模型的层间依赖性。

专利文献CN116611493A公开了一种基于贪心式搜索的硬件感知混合精度量化方法及系统,该方法根据单层的敏感度和总操作数,搜索最优混合精度量化策略,但是并未考虑神经网络模型的层间依赖性。

专利文献CN116502691A公开了一种应用于FPGA的深度卷积神经网络混合精度量化方法,该方法根据不同层权重与激活值的分布直方图峰值来分配每一层的量化位宽,但是并未考虑神经网络模型的层间依赖性。

专利文献CN116451765A公开了一种神经网络混合精度量化节点自动搜索方法及系统,该方法依据算子模块的目标函数反馈的最终值获得混合精度量化配置,但是并未考虑神经网络模型的层间依赖性。

专利文献CN115719086A公开了一种自动获得混合精度量化全局最优化策略的方法,该方法遍历所有混合量化组合,搜寻符合推理精度和推理时间要求的策略,需要大规模搜索,造成大量计算资源的消耗,且并未考虑神经网络模型的层间依赖性。

专利文献CN116129246A公开了一种基于类别可分离性的神经网络混合精度量化方法,该方法根据每一层的由类别可分离性指标计算得到的重要性指标和其对应的计算量,使用线性规划问题求解最优混合精度量化策略,但是并未考虑神经网络模型的层间依赖性。

专利文献CN115952842A公开了一种量化参数确定方法、混合精度量化方法以及装置,该方法考虑精度转化节点处的精度损失,求解精度量化损失达到全局以及局部最优的混合精度量化策略,但是并未考虑神经网络模型的层间依赖性。

专利文献CN114692818A公开了一种低bit混合精度量化提升模型精度的方法,该方法通过对模型通道的计算及分析,决定混合精度配置,但是并未考虑神经网络模型的层间依赖性。

专利文献CN114492721A公开了一种神经网络的混合精度量化方法,该方法根据每一层量化后对应的目标函数的值决定每一层的量化精度,但是并未考虑神经网络模型的层间依赖性。

专利文献CN113449854A公开了一种网络模型的混合精度量化方法、设备及计算机存储介质,该方法依据网络模型中至少一个网络层相对应的敏感度决定网络模型的配置,但是并未考虑神经网络模型的层间依赖性。

专利文献CN112906883A公开了一种用于深度神经网络的混合精度量化策略确定方法和系统,该方法依据每一层各量化精度的实际推理精度和实际推理时间,搜索最优混合精度量化策略,但是并未考虑神经网络模型的层间依赖性。

专利文献CN111931906A公开了一种基于结构搜索的深度神经网络混合精度量化方法,该方法利用为先进的神经网络结构搜索算法进行搜索,需要大规模搜索,造成大量计算资源的消耗,且并未考虑神经网络模型的层间依赖性。

发明内容

针对现有技术中的缺陷,本发明的目的是提供一种具有层间关联性感知能力的多目标混合精度量化搜索方法。

根据本发明提供的一种具有层间关联性感知能力的多目标混合精度量化搜索方法,包括:

步骤S1:压缩神经网络模型,获取该神经网络模型的推理精度;

步骤S2:量化并降低神经网络模型的每层的比特位,获取对应的推理精度Acc_i,并据此计算得到敏感度ΔAcc_i;i表示层数;

步骤S3:采样得到随机的混合精度量化策略,令每个混合精度量化策略量化并降低神经网络模型中的复数层的比特位;

步骤S4:根据敏感度ΔAcc_i,获取每个混合精度量化策略量化后对应的推理精度损失,计算所有采样得到的混合精度量化策略对应的层间依赖性;

步骤S5:根据混合精度量化策略的集合,筛选出条件集合;根据所述条件集合,计算得出平均层间依赖性,从而拟合回归曲线,算出不同层数对应的层间依赖性;

步骤S6:设定神经网络模型中每层的影响值指标,根据混合精度量化策略,求出神经网络模型中每层对应的影响值的近似解;

步骤S7:设定神经网络模型中每层的位宽,并根据此进行优化,得到第一个优化目标和第二个优化目标;

步骤S8:使用NSGA-II多目标优化算法,求得满足第一个优化目标和第二个优化目标,并且满足硬件条件约束的最优混合精度量化策略。

优选地,在所述步骤S1中:将神经网络模型压缩到8位,获取该神经网络模型的推理精度Acc_uniform8;

在所述步骤S2中:将神经网络模型的每一层量化到4位,并且计算神经网络模型中每一层的敏感度ΔAcc_i;

所述敏感度ΔAcc_i,表达式为:

ΔAcc_i=Acc_uniform8-Acc_i。

优选地,在所述步骤S3中:采样得到m个随机的混合精度量化策略;

所述混合精度量化策略将8位神经网络模型中的复数层量化到4位;

在所述步骤S4中:所述推理精度损失,等于经步骤S3被量化到4位的层的敏感度的叠加,即ΔAcc_i1+ΔAcc_i2+...+ΔAcc_in;其中,n∈(2,L],L为所述神经网络模型的总层数;

所述层间依赖性,即额外推理精度损失,即ΔAcc_i 1,i2,...,in-ΔAcc_i 1-ΔAcc_i2-...-ΔAcc_in;

所述所有采样得到的混合精度量化策略对应的层间依赖性Corr_i1,i2,...,in,表达式为:

Corr_i1,i2,...,in=ΔAcc_i1,i2,...,in-ΔAcc_i1-ΔAcc_i2-...-ΔAcc_in。

优选地,在所述步骤S5中:

步骤S5.1:根据混合精度量化策略的集合S,筛选出条件集合S_n;

步骤S5.2:如果条件集合S_n中的混合精度量化策略为零;则重新执行步骤S5.1;如果条件集合S_n中的混合精度量化策略不为零,则执行步骤S5.3;

步骤S5.3:计算条件集合S_n中的平均层间依赖性Corr_n,并对其进行判断;如果平均层间依赖性Corr_n的随机层数等于神经网络模型的总层数L,则执行步骤S5.4;如果平均层间依赖性Corr_n的随机层数n不等于神经网络模型的总层数L,则重新执行步骤S5.1;

步骤S5.4:根据平均层间依赖性Corr_n,进行拟合,并推算其余层数对应的层间依赖性;

所述条件集合S_n指,混合精度量化策略的集合S中,量化到4位的层数等于n的策略集合;S_n包含于S。

优选地,在所述步骤S6中:所述影响值指标设为Infl_i;

所述混合精度量化策略对应的层间依赖性为Corr_i1,i2,...,in,表达式为:

Corr_i1,i2,...,in=Infl_i1+Infl_i2+...+Infl_in+Corr_n

使用回归方程求解,得到每一个层i对应的影响值Infl_i的近似解;

在所述步骤S7中:

定义神经网络模型中每一个层i的位宽为b_i;

所述第一个优化目标,即混合精度量化策略的推理精度损失F1,表达式为:

F1=ΣΔAcc_i×(8-b_i)

所述第二个优化目标,即推理精度损失F2,表达式为:

F2=ΣΔAcc_i×(8-b_i)+ΣInfl_i×(8-b_i)+Corr_n=|b_i≠8|

在所述步骤S8中:

所述硬件条件约束,即为模型的参数大小限制;所述参数,即模型每一层的权重的张量元素个数乘以每一层的位宽b_i。

根据本发明提供的一种具有层间关联性感知能力的多目标混合精度量化搜索系统,包括:

模块M1:压缩神经网络模型,获取该神经网络模型的推理精度;

模块M2:量化并降低神经网络模型的每层的比特位,获取对应的推理精度Acc_i,并据此计算得到敏感度ΔAcc_i;i表示层数;

模块M3:采样得到随机的混合精度量化策略,令每个混合精度量化策略量化并降低神经网络模型中的复数层的比特位;

模块M4:根据敏感度ΔAcc_i,获取每个混合精度量化策略量化后对应的推理精度损失,计算所有采样得到的混合精度量化策略对应的层间依赖性;

模块M5:根据混合精度量化策略的集合,筛选出条件集合;根据所述条件集合,计算得出平均层间依赖性,从而拟合回归曲线,算出不同层数对应的层间依赖性;

模块M6:设定神经网络模型中每层的影响值指标,根据混合精度量化策略,求出神经网络模型中每层对应的影响值的近似解;

模块M7:设定神经网络模型中每层的位宽,并根据此进行优化,得到第一个优化目标和第二个优化目标;

模块M8:使用NSGA-II多目标优化算法,求得满足第一个优化目标和第二个优化目标,并且满足硬件条件约束的最优混合精度量化策略。

优选地,在所述模块M1中:将神经网络模型压缩到8位,获取该神经网络模型的推理精度Acc_uniform8;

在所述模块M2中:将神经网络模型的每一层量化到4位,并且计算神经网络模型中每一层的敏感度ΔAcc_i;

所述敏感度ΔAcc_i,表达式为:

ΔAcc_i=Acc_uniform8-Acc_i。

优选地,在所述模块M3中:采样得到m个随机的混合精度量化策略;

所述混合精度量化策略将8位神经网络模型中的复数层量化到4位;

在所述模块M4中:所述推理精度损失,等于经模块M3被量化到4位的层的敏感度的叠加,即ΔAcc_i1+ΔAcc_i2+...+ΔAcc_in;其中,n∈(2,L],L为所述神经网络模型的总层数;

所述层间依赖性,即额外推理精度损失,即ΔAcc_i 1,i2,...,in-ΔAcc_i 1-ΔAcc_i2-...-ΔAcc_in;

所述所有采样得到的混合精度量化策略对应的层间依赖性Corr_i1,i2,...,in,表达式为:

Corr_i1,i2,...,in=ΔAcc_i1,i2,...,in-ΔAcc_i1-ΔAcc_i2-...-ΔAcc_in。

优选地,在所述模块M5中:

模块M5.1:根据混合精度量化策略的集合S,筛选出条件集合S_n;

模块M5.2:如果条件集合S_n中的混合精度量化策略为零;则重新执行模块M5.1;如果条件集合S_n中的混合精度量化策略不为零,则执行模块M5.3;

模块M5.3:计算条件集合S_n中的平均层间依赖性Corr_n,并对其进行判断;如果平均层间依赖性Corr_n的随机层数等于神经网络模型的总层数L,则执行模块M5.4;如果平均层间依赖性Corr_n的随机层数n不等于神经网络模型的总层数L,则重新执行模块M5.1;

模块M5.4:根据平均层间依赖性Corr_n,进行拟合,并推算其余层数对应的层间依赖性;

所述条件集合S_n指,混合精度量化策略的集合S中,量化到4位的层数等于n的策略集合;S_n包含于S。

优选地,在所述模块M6中:所述影响值指标设为Infl_i;

所述混合精度量化策略对应的层间依赖性为Corr_i1,i2,...,in,表达式为:

Corr_i1,i2,...,in=Infl_i1+Infl_i2+...+Infl_in+Corr_n

使用回归方程求解,得到每一个层i对应的影响值Infl_i的近似解;

在所述模块M7中:

定义神经网络模型中每一个层i的位宽为b_i;

所述第一个优化目标,即混合精度量化策略的推理精度损失F1,表达式为:

F1=ΣΔAcc_i×(8-b_i)

所述第二个优化目标,即推理精度损失F2,表达式为:

F2=ΣΔAcc_i×(8-b_i)+ΣInfl_i×(8-b_i)+Corr_n=|b_i≠8|

在所述模块M8中:

所述硬件条件约束,即为模型的参数大小限制;所述参数,即模型每一层的权重的张量元素个数乘以每一层的位宽b_i。

与现有技术相比,本发明具有如下的有益效果:

1、本发明通过采用均匀采样和线性回归的方法,获取了神经网络模型中每一层对层间依赖性的影响值,以及量化到低比特位的总层数对于层间依赖性的影响值,解决了如何定量地测量任意一个混合精度量化策略对应的层间依赖性的问题,达到了对神经网络模型量化后的推理精度更加准确的预测。

2、本发明通过NSGA-II多目标优化算法,结合采样得到的指标和对层间依赖性的预测公式,在较大的搜索空间中找到最小化推理精度损失和满足硬件条件限制的最优解,从而获得能够得到更高的模型效率的混合精度量化策略。

3、本发明在庞大的搜索空间中找到一个最小化层间依赖性和推理精度损失,并且满足硬件开销约束的最优混合精度量化策略。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1为本发明提供的流程示意图。

具体实施方式

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。

本发明通过采用均匀采样和线性回归的方法,获取了神经网络模型中每一层对层间依赖性的影响值,以及量化到低比特位的总层数对于层间依赖性的影响值,解决了如何定量地测量任意一个混合精度量化策略对应的层间依赖性的问题,达到了对神经网络模型量化后的推理精度更加准确的预测。

本发明通过NSGA-II多目标优化算法,结合采样得到的指标和对层间依赖性的预测公式,在较大的搜索空间中找到最小化推理精度损失和满足硬件条件限制的最优解,从而获得能够得到更高的模型效率的混合精度量化策略。

本发明以神经网络模型的层间独立性为前提得到的混合精度量化策略会带来额外的推理精度损失。因此,为了考虑模型内部的层间依赖性,兼顾推理精度和硬件开销,本发明提出了一种基于多目标遗传算法的混合精度量化方法,在庞大的搜索空间中找到一个最小化层间依赖性和推理精度损失,并且满足硬件开销约束的最优混合精度量化策略。

也就是说,一种能够感知神经网络模型的层间依赖性的混合精度量化方法,以最小化层间依赖性和推理精度损失为目标,以硬件开销为约束条件,最终通过NSGA-II多目标优化算法,获取最优的混合精度量化策略,包括:

一个总层数为L的神经网络模型,在所有层统一被量化到8位时,则其推理精度,即为高精度;如果一个总层数为L的神经网络模型,在所有层统一被量化到低于8位时,则其推理精度,即为低精度;L大于8,并且,L为整数。

步骤S1:将神经网络模型压缩到8位,获取该神经网络模型的推理精度Acc_uniform8。

步骤S2:将神经网络模型的每一层量化到4位,获取对应的推理精度Acc_i,并计算得到敏感度ΔAcc_i;

也就是说,对于8位神经网络模型中的每一层,单独将第i层进一步量化到低精度的4位,并获取模型对应的推理精度Acc_i。

计算神经网络模型中每一层的敏感度,ΔAcc_i;i=1,2,3,...n;

定义每一层,即i层被量化到低比特位以后带来的推理精度的损失为其敏感度ΔAcc_i,表达式为:

ΔAcc_i=Acc_uniform8-Acc_i

步骤S3:采样得到m个随机的混合精度量化策略,每一个混合精度量化策略将8位神经网络模型中的复数层量化到4位。

这是因为,步骤S2,仅仅将单层量化到了4位;因为采集的是只和单层自身有关的性质。但是,希望采集的是复数层被量化以后,层与层之间的关联性,只看单层量化以后的模型并不能观察到这一性质,因此,步骤S3需将复数层量化到4位。

具体地,基于均匀采样的思想,采集的混合精度量化策略集合中,需要保证神经网络模型中的每一层被量化到低比特位,即4位的次数相近;

所述次数相近,具体地来说,假定总采样数为m个。对于神经网络模型中的每个层,记录采样策略中他们被量化到4位的次数。每次从2到L随机抽取一个数字n,直至2到L之间的数字全部被抽取过后重新开始抽取。对于每个n,过滤神经网络模型中被量化次数等于最小值的层,从中抽取n个层;若过滤后的层数不到n,则再从剩余层中抽取;新的采样策略为这n个层被量化到4位,这n个层的记数都加1。如果总的被采样的策略总数不足m个,继续采样;如果总的被采样的策略总数超过m个,停止采样。这样的采样结果,最终,各个层被量化到4位的次数的相差应该不超过1。

并且,各个混合精度策略中量化到低比特位,即4位的总层数,应该包含2到神经网络模型的总层数L之间的所有数,即[2,L]。

步骤S4:一个混合精度量化策略,假设,其将作为复数层的层i_1,i_2,...,i_n层量化到4位;i=1,2,3...,L;这些层如S3中解释,是神经网络模型中的随机n个层,并无特指。具体地说,步骤S2中考虑单层量化的情况,一个层即i层被量化到4位;步骤S3后,考虑复数层被量化的情况,n个层即i_1,...,i_n层被量化到4位;对于采样得到的每一个混合精度量化策略,获取其对应的推理精度损失分别为ΔAcc_i1,i2,...,in。

在层间独立性的假设下,该混合精度量化策略的推理精度损失,等于其中被量化到4位的层的敏感度的叠加,即ΔAcc_i1+ΔAcc_i2+...+ΔAcc_in。

因此,定义任意一个混合精度量化策略对应的层间依赖性为,由于复数层同时被量化到4位带来的额外推理精度损失,即ΔAcc_i1,i2,...,in-ΔAcc_i1-ΔAcc_i2-...-ΔAcc_in;

计算所有采样得到的混合精度量化策略对应的层间依赖性Corr_i1,i2,...,in,表达式为:

Corr_i1,i2,...,in=ΔAcc_i1,i2,...,in-ΔAcc_i1-ΔAcc_i2-...-ΔAcc_in

一个混合精度量化策略对应的层间依赖性,为一个值。

步骤S5:对于层2到神经网络模型的总层数L之间的每一个数n,筛选出采样得到的混合精度量化策略中,量化到4位的层数等于n的混合精度量化策略。

具体地,所有采样得到的混合精度量化策略的集合为S。对于2到L之间的每一个数n,筛选出集合S中量化到4位的层数等于n的混合精度量化策略,定义这个筛选出的集合为S_n,且S_n包含于S。

如果筛选出的混合精度量化策略数为零,则重新筛选出集合S中量化到4位的层数等于n的混合精度量化策略定义S_n。

如果筛选出的混合精度量化策略数不为零,则计算这些混合精度量化策略的平均层间依赖性,并定义该值为层数等于n时对应的层间依赖性为Corr_n。

判断n是否等于模型总层数L;如果n等于L,则根据已求得的层数n对应的层间依赖性为Corr_n,拟合关于层数n的回归曲线,并推测,剩下的层数对应的层间依赖性;如果n不等于L,则重新筛选出集合S中量化到4位的层数等于n的混合精度量化策略,定义S_n。

也就是说,对于筛选出的策略数为零的层数,根据已求得的层数n对应的层间依赖性为Corr_n,拟合关于层数n的回归曲线,并推测,剩下的层数对应的层间依赖性。

换句话说,在所述步骤S5中:

步骤S5.1:根据混合精度量化策略的集合S,筛选出条件集合S_n;

步骤S5.2:如果条件集合S_n中的混合精度量化策略为零;则重新执行步骤S5.1;如果条件集合S_n中的混合精度量化策略不为零,则执行步骤S5.3;

步骤S5.3:计算条件集合S_n中的平均层间依赖性Corr_n,并对其进行判断;如果平均层间依赖性Corr_n的随机层数等于神经网络模型的总层数L,则执行步骤S5.4;如果平均层间依赖性Corr_n的随机层数n不等于神经网络模型的总层数L,则重新执行步骤S5.1;

步骤S5.4:根据平均层间依赖性Corr_n,进行拟合,并推算其余层数对应的层间依赖性;

所述条件集合S_n指,混合精度量化策略的集合S中,量化到4位的层数等于n的策略集合;S_n包含于S。

步骤S6:对于神经网络模型中的每个层,设定一个影响值Infl_i指标;

通过观察可知,任意一个混合精度量化策略的层间依赖性,和具体被量化到低比特位的层的性质强相关,和中间的层弱相关,并且这种关联性是能够线性叠加的。

因此,一个混合精度量化策略对应的层间依赖性为Corr_i1,i2,...,in,为量化到4位的层数n带来的影响Corr_n,加上被量化到4位的层的影响值Infl_i的总和,表达式为:

Corr_i1,i2,...,in=Infl_i1+Infl_i2+...+Infl_in+Corr_n

该公式为多元一次方程组;

使用回归方程求解能够得到每一个层i对应的影响值Infl_i的近似解;

步骤S7:定义神经网络模型中每一个层i的位宽为b_i。获得以上所有的指标,包括神经网络模型中第i层的敏感度ΔAcc_i、第i层的影响值Infl_i,以及量化到低比特位,即4位的总层数为n时对应的层间依赖性Corr_n以后,列出两个优化目标。

第一个优化目标,是基于层间独立性的假设推测的,混合精度量化策略的推理精度损失F1,表达式为:

F1=ΣΔAcc_i×(8-b_i)

第二个优化目标,是考虑到层间依赖性后推测出的推理精度损失F2,表达式为:

F2=ΣΔAcc_i×(8-b_i)+ΣInfl_i×(8-b_i)+Corr_n=|b_i≠8|

其中,约束条件为模型的参数大小限制,即每一层的权重的张量元素个数乘以每一层的位宽,即b_i。

步骤S8:使用NSGA-II多目标优化算法,求得最小化两种推理精度损失,并且满足硬件条件约束的最优混合精度量化策略;

具体地,该策略中定义了神经网络模型中每一层的位宽大小。

本发明还提供一种具有层间关联性感知能力的多目标混合精度量化搜索系统,所述具有层间关联性感知能力的多目标混合精度量化搜索系统可以通过执行所述具有层间关联性感知能力的多目标混合精度量化搜索方法的流程步骤予以实现,即本领域技术人员可以将所述具有层间关联性感知能力的多目标混合精度量化搜索方法理解为所述具有层间关联性感知能力的多目标混合精度量化搜索系统的优选实施方式。

根据本发明提供的一种具有层间关联性感知能力的多目标混合精度量化搜索系统,包括:

模块M1:压缩神经网络模型,获取该神经网络模型的推理精度;

模块M2:量化并降低神经网络模型的每层的比特位,获取对应的推理精度Acc_i,并据此计算得到敏感度ΔAcc_i;i表示层数;

模块M3:采样得到随机的混合精度量化策略,令每个混合精度量化策略量化并降低神经网络模型中的复数层的比特位;

模块M4:根据敏感度ΔAcc_i,获取每个混合精度量化策略量化后对应的推理精度损失,计算所有采样得到的混合精度量化策略对应的层间依赖性;

模块M5:根据混合精度量化策略的集合,筛选出条件集合;根据所述条件集合,计算得出平均层间依赖性,从而拟合回归曲线,算出不同层数对应的层间依赖性;

模块M6:设定神经网络模型中每层的影响值指标,根据混合精度量化策略,求出神经网络模型中每层对应的影响值的近似解;

模块M7:设定神经网络模型中每层的位宽,并根据此进行优化,得到第一个优化目标和第二个优化目标;

模块M8:使用NSGA-II多目标优化算法,求得满足第一个优化目标和第二个优化目标,并且满足硬件条件约束的最优混合精度量化策略。

具体地,在所述模块M1中:将神经网络模型压缩到8位,获取该神经网络模型的推理精度Acc_uniform8;

在所述模块M2中:将神经网络模型的每一层量化到4位,并且计算神经网络模型中每一层的敏感度ΔAcc_i;

所述敏感度ΔAcc_i,表达式为:

ΔAcc_i=Acc_uniform8-Acc_i。

具体地,在所述模块M3中:采样得到m个随机的混合精度量化策略;

所述混合精度量化策略将8位神经网络模型中的复数层量化到4位;

在所述模块M4中:所述推理精度损失,等于经模块M3被量化到4位的层的敏感度的叠加,即ΔAcc_i1+ΔAcc_i2+...+ΔAcc_in;其中,n∈(2,L],L为所述神经网络模型的总层数;

所述层间依赖性,即额外推理精度损失,即ΔAcc_i 1,i2,...,in-ΔAcc_i 1-ΔAcc_i2-...-ΔAcc_in;

所述所有采样得到的混合精度量化策略对应的层间依赖性Corr_i1,i2,...,in,表达式为:

Corr_i1,i2,...,in=ΔAcc_i1,i2,...,in-ΔAcc_i1-ΔAcc_i2-...-ΔAcc_in。

具体地,在所述模块M5中:

模块M5.1:根据混合精度量化策略的集合S,筛选出条件集合S_n;

模块M5.2:如果条件集合S_n中的混合精度量化策略为零;则重新执行模块M5.1;如果条件集合S_n中的混合精度量化策略不为零,则执行模块M5.3;

模块M5.3:计算条件集合S_n中的平均层间依赖性Corr_n,并对其进行判断;如果平均层间依赖性Corr_n的随机层数等于神经网络模型的总层数L,则执行模块M5.4;如果平均层间依赖性Corr_n的随机层数n不等于神经网络模型的总层数L,则重新执行模块M5.1;

模块M5.4:根据平均层间依赖性Corr_n,进行拟合,并推算其余层数对应的层间依赖性;

所述条件集合S_n指,混合精度量化策略的集合S中,量化到4位的层数等于n的策略集合;S_n包含于S。

具体地,在所述模块M6中:所述影响值指标设为Infl_i;

所述混合精度量化策略对应的层间依赖性为Corr_i1,i2,...,in,表达式为:

Corr_i1,i2,...,in=Infl_i1+Infl_i2+...+Infl_in+Corr_n

使用回归方程求解,得到每一个层i对应的影响值Infl_i的近似解;

在所述模块M7中:

定义神经网络模型中每一个层i的位宽为b_i;

所述第一个优化目标,即混合精度量化策略的推理精度损失F1,表达式为:

F1=ΣΔAcc_i×(8-b_i)

所述第二个优化目标,即推理精度损失F2,表达式为:

F2=ΣΔAcc_i×(8-b_i)+ΣInfl_i×(8-b_i)+Corr_n=|b_i≠8|

在所述模块M8中:

所述硬件条件约束,即为模型的参数大小限制;所述参数,即模型每一层的权重的张量元素个数乘以每一层的位宽b_i。

本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

相关技术
  • 基于动态规划的多目标混合精度量化搜索方法及系统
  • 基于贪心式搜索的硬件感知混合精度量化方法及系统
技术分类

06120116678674