没有合适的资源?快使用搜索试试~ 我知道了~
HAWQ:混合精度神经网络的Hessian AWare量化
293HAWQ:混合精度神经网络的Hessian AWare量化Zhen Dong刘伟,Zhewei Yao刘伟,Amir Gholami刘伟,Michael W.加州大学伯克利分校{zhendong,zheweiy,amirgh,mahoneymw,and keutzer}@ berkeley.edu摘要模型大小和推理速度/能力已成为许多应用中部署神经网络的主要挑战。解决这些问题的一个有前途的方法是量化。然而,将模型均匀量化到超低精度会导致显著的精度下降。一种新颖的解决方案是使用混合精度量化,因为与其他层相比,网络的某些部分可能允许较低的精度。然而,目前还没有系统的方法来确定不同层的精度.强力方法对于深度网络是不可行的,因为混合精度的搜索空间在层数上是指数级的。另一个挑战是当将模型量化到目标精度时,用于确定逐块微调顺序的类似阶乘复杂度在这里,我们介绍了海森AWARE量化(HAWQ),一种新的二阶量化方法来解决这些问题。HAWQ允许自动选择的相对量化精度的每一层,根据该层的Hessian频谱。此外,HAWQ为量化层提供了确定性的微调顺序。我们使用ResNet 20在Cifar-10上展示了我们的方法,并使用Inception-V3,ResNet 50和SqueezeNext模型在ImageNet上展示了我们的方法。 HAWQ与最先进的比较表明,我们可以实现类似/更好的准确性在ResNet20上具有8倍的激活压缩比,与DNAS [39]相同,与最近提出的RVQuant [27]和HAQ [38]方法相比,ResNet 50和Inception-V3上的模型最多小14%此外,我们还证明了我们可以将SqueezeNext的模型大小缩小到1MB,同时在ImageNet上达到68%1. 介绍神经网络(NN)训练和推理所需的计算资源显著增加。这主要是由于较大的输入大小*同等缴款。(例如:更高的图像分辨率)以及需要更多FLOP和显著更大的存储器占用的更大NN模型。例如,在1998年,LeNet-5 [19]将最先进的NN应用于具有输入图像的MNIST数据集尺 寸 1×28×2820 年 后 , 一 个 常 见 的 基 准 数 据 集 是ImageNet,其输入分辨率比MNIST大200倍,NN模型的内存占用量也高出几个数量级。事实上,ImageNet分辨率现在被认为是较大模型和较高分辨率图像的这种组合在具有计算受限资源的应用环境(在不久的将来,这一趋势将进一步加速。许多研究者为解决这些问题付出了巨大的努力.这些问题可大致分类如下。(i)找到提供所需精度的NN,同时通过设计保持紧凑(即,具有小的存储器占用空间)并且需要相对小的FLOP。SqueezeNet [15]是这里的早期努力,随后是更有效的NN,如[32,22]。(ii)共同设计NN架构和硬件。这可以允许显着的加速以及节省硬件的功耗,而不会失去准确性。SqueezeNext [7]是一个示例工作,其中神经网络和相关加速器是共同设计的。(iii)修剪NN层的这里的种子工程是[9,26,21,23]。(iv) 使用量化(降低精度)代替浮点或双精度,可以显著加快推理时间并降低功耗。(v)将AutoML应用于硬件感知的NN设计以及量化。其中最著名的作品是DNAS [39]和HAQ [38]。本文专门关注量化,但其他方法可以结合我们的方法使用,以允许进一步减少模型大小。需要对两个NN PA执行量化294RES NET 20ON CIFAR-10第9次B loc Kλ 0 =18。910−1−2-0。4-0。2 00的情况。4ǫ10的情况。20的情况。20的情况。4-0。4-0。20I图像网络上的 I接收-V3上Hessian特征值→101102ǫ2ǫ 21011001001234567891011区块→1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17区块→ǫ2ǫ 2图1. Cifar-10(左)和ImageNet(右)上的Inception-V3的每个预训练ResNet 20块的顶部特征值。注意,不同块的特征值的幅度按数量级变化。其他区块的三维损失情况见附录中的图6和图7参数(即,权重)以及激活以减少推理期间模型的总存储器占用。然而,这里的主要挑战是,天真的量化可能会导致准确性的显著损失。特别地,不可能将一般卷积网络的所有权重/激活的比特数减少到超低精度而没有显著的精度损失。这是因为并非卷积网络的所有层都允许相同的量化级别。解决这个问题的一种可能方法是使用混合精度量化,其中较高精度用于网络的某些然而,为每一层找到正确精度的搜索空间在层数上是指数的此外,为了避免精度损失,我们需要对模型进行微调(即正如我们将在下面讨论的,一次量化整个模型然后进行微调不是最佳的。相反,我们需要执行多级量化,在每个阶段,网络的部分被量化为低精度,然后进行量化感知微调以恢复精度。但是,用于确定首先搜索哪些图层的搜索空间是图层数量的阶乘。在本文中,我们提出了一个黑森指导的方法来解决这些挑战。具体而言,我们的贡献如下。1. 用于选择混合精度量化的搜索空间在层数上是指数的因此,我们提出了一种新的,确定性的方法,用于确定相对量化水平的层的基础上的每一层的Hessian频谱。2. 用于模型的量化感知微调的搜索空间因此,我们提出了一种基于Hessian的方法来确定不同NN块的微调顺序。3. 我们对HAWQ进行了消融研究,并在Cifar10上使用ResNet20呈现了新的量化结果,以及ImageNet上的Inception-V3/ResNet50/SqueezeNext。与现有方法相比,该方法具有更高的精度(最高可达1%),更小的模型尺寸(高达20%)和更小的激活尺寸(高达8倍)。本文的结构如下。首先,在§2中,我们将讨论模型压缩的相关工作。接下来在§3中描述了我们的方法,并在第四节。 最后,我们在§5中介绍了消融研究,结论.2. 相关工作最近,已经花费了大量的努力来对新的模型压缩解决方案进行解压缩,以减少NN的参数大小以及计算复杂性[4,8,11,29,5,46,35,17,13,3,45]。在[9,23,21]中,修剪用于减少NN模型中非零权重的数量。这种方法对现代人来说非常有用。具有非常大的全连接层的元素(例如AlexNet [18]或VGG [34])。例如,VGG-16中的第一个全连接层仅占用408 MB,占总模型大小的77.3%。在后来的卷积神经网络中,如ResNet [10]和Inception家族[37,36]中,已经删除了大型全连接层。[11]中介绍的知识蒸馏是压缩NN的另一个方向。其主要思想是将信息从预训练的大型模型中提取到较小的模型中。例如,它表明,与知识蒸馏,它是可能的,以减少模型大小的一个因素3。准确度为91。Cifar-10的61%[31]。另一个基本的方法是设计一个既小又有硬件效率的模型.这里的一个初步努力是SqueezeNet [15],它可以以50倍的小通过网络设计实现的占地面积,以及额外的10倍的通过量子化的推导[8],得到一个NN,500倍更小的内存占用空间。 其他著名作品第11次B LO c Kλ 0 =0。210−1−2-0。4-0。200的情况。4ǫ0的情况。20的情况。210的情况。4-0。4-0。20第二个B loc Kλ 0 =581。910的情况。50-0。4-0。2 0ǫ10的情况。20的情况。20的情况。40的情况。4-0。4-0。20第17次B LO c Kλ 0 =0。710的情况。50-0。4-0。2 0ǫ0的情况。20的情况。20的情况。410的情况。4-0。4-0。20上Hessian特征值→损失(对数)损失(对数)损失(对数)损失(对数)295第一个B loc Kλ0=1。9第二次B locKλ0= 7。03 RD B locKλ0= 7。84 TH B LOc Kλ0= 14. 75 TH BLO c Kλ0= 5. 6第六次B loc Kλ0= 8。57 TH B LO c Kλ0= 8.48 TH B LO c Kλ0=12。19 TH B LO cKλ0= 19. 010 TH B LOc Kλ0= 13。211阶Bloc Kλ0= 0。2ǫǫ987654321-00五比零25002505987654321-00五比零25002505图2. Cifar-10上ResNet 20不同块的一维损失景观。通过沿着每个块的顶部Hessian特征向量扰动模型权重来绘制景观,幅度为1/2(即,,λ= 0对应于无扰动)。是[13,32,45,22,3],其中提出了更精确的网络。这里的另一项工作是SqueezeNext [7],其中采用了类似的方法,但是两个硬件架构的协同设计以及紧凑的NN模型。量化[1,4,29,40,20,49,46,47,2,44]是用于模型压缩的另一种正交方法,其中使用较低比特表示而不是重新设计NN。量化的主要好处之一是它增加了NN的算术强度(即FLOP与内存访问的比率)。 这是特别有帮助的-对于受存储器限制且具有低算术强度的层是有效的。在量化之后,存储器访问的量减少,这可以缓解/消除存储器瓶颈。然而,直接将NN量化到超低精度可能导致显著的精度降低。解决这一问题的一种可能性是使用混合精度量化[39,48]。第二种可能性,多级量化,由[46,6]提出。混合精度和多级量化都可以提高量化神经网络的精度,但面临指数级大的搜索空间。应用现有的方法通常需要巨大的计算资源或ad-hoc规则来选择不同层的精度,这些层是特定于问题/模型的并且不通用。我们在这里工作的目标是使用二阶信息来解决这一3. 方法假设NN被划分为m个块,由{B1,B2}表示。. .,Bm},具有可学习的 参数{W1,W2,. . .,Wm}。 块可以是单个/多个层(或对于这种情况,单个/多个残余块剩余网络)。对于监督学习框架,损失函数L(θ)为:1ΣN其中θ∈Rd是{W1,W2,. . .,Wm},l(x,y,θ)是数据(x,y)∈(X,Y)的损失。这里,X是输入集,Y是对应的标签集,并且N = N。|X|是训练集的大小。训练是通过解决经验风险来进行的。最小化问题,找到最优模型参数。此过程通常以单精度执行,其中权重和激活都以32位精度存储。训练完成后,这些块中的每一个都将具有参数θ以及输入/输出激活的浮点数的特定分布。对于量化,我们需要将这些浮点数限制为一组有限的值,由以下函数定义Q(z)=qj,对于z∈(tj,tj+1],(2)其中,(tj,tj+1]表示实数(j= 0,. . .,2k-1),k是量化比特,z是激活或权重。 这意味着(tj,tj+1]范围内的所有值都映射到qj。在二进制量化(k= 1)的extreme情况下,Q(z)基本上是符号函数。对于除二进制量化之外的情况,这些间隔的选择可能是重要的。一种流行选项是使用均匀量化函数,其中上述范围被平均分割[47,14]。然而,有人认为(i)并非所有层都具有相同的浮点值分布,以及(ii)网络对每一层的量化可能具有显著不同的灵敏度。为了解决第一个问题,已经提出了不同的量化方案,例如均匀离散化的离散域[25]。然而,这并不能完全解决敏感性问题。敏感层不能量化为与非敏感层相同的水平。可用于测量量化灵敏度的一种可能方法然而,梯度可能非常具有误导性。 这可以通过考虑一个简单的一维抛物函数的形式y=1ax2在ori-L(θ)=N i=1l(xi,yi,θ),(1)2杜松子酒(即,,x= 0)。原点处的梯度信号为零,损失→损失→296dWiv我算法1:Hessian特征值计算的幂迭代输入:块参数:Wi.通过反向传播计算W i的梯度,即、gi=dL。画一个随机向量v(与Wi的维数相同)。归一化v,v=v算法2:Hessian AWare量化输入:逐块Hessian特征值λi(根据算法1计算),以及块参数大小ni,其中i=1,···,m。对于i = 1,2,. . . ,m do//量化精度Si = λi/ni//参见等式5以降序对Si进行排序,并确定每个块的相对量化精度。基于等式计算Wti二、对于i = 1,2,. . . ,m do//微调顺序Ω=λW2//参见等式6我我我按降序对RPMI进行排序不管a的值是多少。然而,这并不意味着该函数对x的扰动不敏感。在Hessian矩阵的基础上,利用二阶信息可以得到更好的灵敏度度量这清楚地表明,a的值越高,对输入扰动的敏感度越高。对于高维的情况,二阶信息存储在Hessian矩阵中,每个块的大小为ni×ni对于这种情况,我们可以计算Hessian的特征值来测量灵敏度,如下所述。3.1. 二阶信息我们计算Hessian的特征值(即,二阶算子)。注意,不可能显式地形成Hessian,因为块的大小(对于第i个块由ni表示)可以相当大。然而,可以使用无矩阵幂迭代算法[43,24,42]来计算Hessian特征值而不显式地形成它该方法需要计算所谓的Hessian矩阵,其是Hessian矩阵与给定(可能是随机的)向量v相乘的结果。为了说明如何对深度网络进行这一操作,让我们首先将gi表示为损失L相对于第i个块参数的梯度Lgi=.(3)中国对于随机向量v(其具有与gi),我们有:众所周知,基于最小描述长度(MDL)理论,指定达到给定阈值的平坦区域所需的比特数较少,对于具有尖锐曲率的区域,反之亦然[30,12]。对此的直觉是,由平坦区域的不精确位置产生的噪声对于平坦区域不会被放大,使得其更适合于积极的量化。对于尖锐区域,情况正好相反,因为即使很小的舍入误差也可能被放大。因此,预期具有较高Hessian 谱的层(即,较大的本征值)对量化更敏感。图1显示了CIFAR-10上ResNet 20和ImageNet上Inception-V3的不同块的这些特征值的分布。可以看出,不同的块在海森谱中表现出数量级的差异。例如,ResNet20对于其第9个块的扰动比其最后一个块更敏感一个数量级为了进一步说明这一点,我们还提供了损失景观的1D可视化为此,我们首先计算每个块的Hessian特征向量,然后沿着特征向量单独扰动每个块,并计算损失如何变化。图2和图3分别针对ResNet 20(在Cifar-10上)和Inception-V3(在ImageNet上)进行了说明。可以清楚地看到,具有较大Hessian特征值的块(即,,更尖锐的曲率)表现出更大的波动的损失,相比之下,那些具有较小的海森特征值(即,更平坦的曲率)。一个相应的-(gTv)gT俄罗斯联邦图1中还显示了3D绘图,其中,I=iv+gT=iv=Hiv,(4)WiWiiWiWi考虑到顶部特征向量,我们还计算第二个特征向量,第二个顶部特征向量,并通过扰动其中Hi是L关于Wi的Hessian矩阵。然后,我们可以使用幂迭代方法来计算Hi的顶部特征值,如算法1所示。直观地说,该算法需要对Hessian矩阵进行多次评估,这可以使用Eq. 4.第一章这两个方向的重量。这些表面图是针对ResNet 20的第9个对于i = 1,2,. . . ,n do计算gv=gTv我// PowerIteration// Inner product通过反向传播计算Hv,Hv=d(gv)dWi//获取Hessian向量积归一化并重置v,v=HvHv297第一个B loc Kλ0=16。12次B loc Kλ0=582。03 RD B locKλ0= 176。04 TH B LOc Kλ0= 89。95阶B locKλ0= 143。0第 10 次 B locKλ0=83 。 011TH B LO cKλ0= 37。812次B locKλ0= 19。713次B locKλ0= 14。1第六次B loc Kλ0=117。17 TH B LO cKλ0= 105。88th B LOc Kλ0= 60。79 TH BLO c Kλ0= 29。8第 14 次 B locKλ0=39。715次B loc Kλ0=25。416阶B loc Kλ0=27 。 517TH B LO cKλ0= 0. 7ǫǫǫǫi=1287654321-00五比零2500250587654321-00五比零2500250587654321-00五比零2500250587654321-00五比零25002505图3.ImageNet上Inception-V3所有区块的一维损失景观,沿着Hessian的第一个主特征向量这里,λ是沿着第一主特征向量扰动相应块的参数的标量。3.2. 算法我们将Hessian近似为块对角矩阵,由其顶部特征值λ缩放为{Hi<$λiI}m,其中m是网络中的块数。基于MDL理论,具有大λ的层不能被量化到超精度低,对模型无显著扰动因此,我们可以使用每个块的Hessian谱来对不同的块进行排序,并对具有大Hessian谱的层执行不太积极的量化。然而,这些块中的一些可能包含非常大量的参数,并且在这里使用更高的比特将导致量化网络的大因此,作为妥协,我们用块的内存占用对Hessian谱进行加权Si=λi/ni,(5)其中λi是Hi的顶部特征值。基于这种排序,具有大量参数且具有小特征值的层将被量化到较低比特,反之亦然。也就是说,在计算Si之后,我们以降序对Si进行排序,并将其用作确定量化精度的度量1神经网络的量化感知重新训练对于恢复由于超低精度量化而急剧下降的性能是必要的。一个直截了当1注意,如限制部分所述,Si并没有给我们精确的位精度,而是不同块的位的相对排序。这样做的方式是立即重新训练(以下称为微调)整个量化网络。然而,正如我们将在§4中讨论的那样,这可能导致次优结果。更好的策略是执行多阶段微调。怎么-多级调谐中的顺序是重要的,不同的顺序可能导致非常不同的精度。我们根据以下指标对不同的块进行排序以进行微调其中i是指第i个Q(Wi)−Wi第 这里的直觉是首先微调层,高曲率以及在量化之后引起更多扰动的大量参数注意,后一度量取决于用于量化的比特,因此不是固定度量。(See附录中的表5,其中我们显示了该指标如何针对不同的量化精度而变化。)选择这种顺序的动机是,微调具有大的DRI的块可以显著地影响其他块,从而使得先前微调具有小的DRI的层无效。4. 结果在本节中,我们首先展示了Cifar-10上ResNet 20的量 化 结 果 , 然 后 展 示 了 ImageNet 上 Inception-V3 、ResNet 50和SqueezeNext有关训练程序和使用的超参数的详细信息,请参见附录。损失→损失→损失→损失→298表1. ResNet 20在Cifar-10上的量化结果。我们将用于权重的量化比特缩写为“w比特”,将激活缩写为“a比特”,将测试准确 度 缩 写 为 “Acc” , 将 权 重 / 激 活 的 压 缩 比 缩 写 为 “W-Comp/A-Comp” 。 此 外 , 我 们 展 示 了 不 使 用Hessian 信 息(“直接”)以及其他最先进方法的结果特别是,我们与最近提出的[39]的DNAS方法进行了比较。我们的方法实现了类似的测试性能,具有显着更高的压缩比(特别是在激活)。这里还请注意,[47,2,44]对第一层和最后一层使用8位混合精度量化ResNet20的精确每层配置见附录。量化 w-bit a-bit ACC W-Comp A-Comp基线323292.371.00×1.00×多雷法[47]2288.2016.00×16.00×多雷法[47]3389.9010.67×10.67×PACT [2]2289.7016.00×16.00×PACT [2]3391.1010.67×10.67×[44]第四十四话2290.2016.00×16.00×[44]第四十四话3391.6010.67×10.67×[44]第四十四话23291.8016.00×1.00×[44]第四十四话33292.0010.67×1.00×DNAS [39]1MP3292.0016.60×1.00×DNAS [39]1MP3292.7211.60×1.00×直接2MP490.3416.00×8.00×HAWQ2MP492.2213.11×8.00×Cifar-10在计算块Hesian的特征值(如图1所示)之后,我们计算Eq. 5,以及基于Eq. 6.然后,我们执行基于HAWQ算法的量化。结果示于表1中。为了比较,我们在不使用Hessian信息的情况下测试量化性能,我们将其称为对于使用混合精度(MP)量化的方法,报告用于权重(“w位”)和激活(“a位”)的最低位直接方法实现了良好的压缩,但它导致2。此外,与其他最先进的技术相比,显示出类似的趋势。在文献中已经提出了几种方法来解决这种减少,最新的方法在[44]中介绍,其中使用了可学习的量化方法。 可以看到,LQ-Nets的结果为0。77%的准确率10. 67×压缩比,而HAWQ只有0. 15%的准确率下降13。11倍压缩。此外,HAWQ与DNAS [39]相比实现了类似的准确性,但激活的压缩比高出8倍ImageNet在这里,我们在ImageNet上测试HAWQ方法用于量化Inception-V3 [37]。Inception-V3适用于高效的硬件实现,因为它不使用任何剩余连接。这种非线性结构产生的依赖性可能很难优化快速推理[41]。如前所述,我们首先计算图1中报告的块Hessian特征值,然后计算相应的加权灵敏度度量。我们还在图3中绘制了所有Inception-V3块的1D损失情况。我们在表2中报告了量化结果,其中与之前一样,我们与直接量化以及最近提出的Inception-V3的直接量化(即,不使用二阶信息),结果为7。准确度下降69%。使用[16]中提出的方法会导致超过2%的精度下降,即使它使用更高的位精度。然而,HAWQ会导致2%,压缩比为12。04×,两者都优于以前的工作[16,27]。2我 们 还 比 较 了 深 度 压 缩 [8] 和 最 近 引 入 的 基 于AutoML 的 HAQ 方 法 [38] 。 我 们 将 HAWQ 结 果 与ResNet50量化结果进行比较,如表3所示。HAWQ在模型大小为7.96MB的情况下实现了75.48%的较高top-1准确度,而基于AutoML的HAQ方法即使在模型大小为9.22MB的情况下也具有75.30%的top-1准确度。此 外 , 我 们 将 HAWQ 应 用 于 ImageNet 上 的SqueezeNext [7]。我们选择了更宽的SqueezeNext模型,其基线精度为69。38%,250万个参数(单精度10.1MB)。我们能够将此模型扩展到统一的8位精度,仅具有0.04%的top-1精度下降。SqueezeNext的直接量化(即,不使用二阶信息),结果为3。98%的准确度下降。HAWQ的结果是前所未有的1 MB模型大小,只有1.36%的top-1精度下降。这一结果的意义在于,它允许在具有非常有限的存储器和功率约束的芯片上或硬件上部署整个模型5. 消融研究在此,我们讨论HAWQ的消融研究。HAWQ方法有两个主要步骤:(i)使用二阶信息的不同块的相对精度顺序,以及(ii)用于微调这些块的相对顺序。下面我们分别讨论每个步骤的消融研究。[2]在这里我们要强调的是,[16]的工作使用的是整数算法,将他们的结果与我们的结果进行比较是不完全公平的。2990HAWQHAWQ-R逆反射0000000005 10 15 20 25 30 35 40 45 50.5HAWQHAWQ-R反向调谐76.575.574.5.5725 10 15 20 25 30 35 40 45 50Top1精度→表2. Inception-V3在ImageNet上的量化结果。我们将用于权重的量化比特表示为“w比特”,将激活表示为“a比特”,将top-1测试准确度表示为“Top-1”,将权重压缩比表示为“W-Comp”。此外,我们将HAWQ与直接量化方法相结合,而不使用Hesian(“直接”)和仅整数方法[16]。这里“MP”指的是混合精度量化。我们在附录中报告了混合精度量化与[16,27]相比,我们实现了更高的压缩比和更高的测试精度。方法w-bits a-bits Top-1 W-Comp大小(MB)100987654321时代→表3.ResNet50在ImageNet上的量化结果我们展示了最先进方法的结果[47,2,44,8]。特别是,我们还比较了最近提出的AutoML方法[38]。与[38]相比,我们实现了更高的压缩比和更高的测试还请注意,[47,2,44]对第一层和最后一层使用8位。图4. Hessian感知混合精度量化与HAWQ反向精度量化的准确度恢复。在这里,我们展示了ImageNet上量化的Inception-V3的顶级准确度。HAWQ-Reverse-Precision实现了66.72%(压缩比7.2)的top-1准确度,而我们的HAWQ方法实现了74.36%(压缩比12.0)的top-1准确度(高7.64%),具有更高的收敛速度(30个epochs vs.HAWQ-Reverse-Precision的50个777675方法w-bits a-bits Top-1 W-Comp大小(MB)基线323277.391.00×97.8多雷法[47]2267.1016.00×6.11多雷法[47]3369.9010.67×9.17PACT [2]2272.2016.00×6.11PACT [2]3375.3010.67×9.17[44]第四十四话3374.2010.67×9.17深度压缩[八]《中国日报》3MP75.1010.41×9.36[第38话]MPMP75.3010.57×9.22HAWQ2MP4MP75.4812.28×7.96表4. SqueezeNext在ImageNet上的量化结果。我们展示了HAWQ用于实现权重和激活均为8位的均匀量化的情况,其精度类似于ResNet18。我们还展示了一个具有混合精度的案例,在这个案例中,我们将SqueezeNext压缩到一个只有1MB大小的模型,精度下降只有1.36%。此外,我们还将HAWQ与不使用Hesian(方法w-bits a-bits Top-1 W-Comp大小(MB)747372时代→图5. Hessian感知块微调的有效性。在此,HAWQ示出了基于具有Hessian感知量化顺序的Inception-V3的BW1HAWQ-Reverse-Tuning显示了Inception-V3的量化请注意,HAWQ鳍-在仅仅25个时期内消除了这个块的微调,并切换到微调另一个块,而HAWQ-Reverse-Tuning在收敛到次优top-1之前需要50个时期5.1. Hessian AWare混合精度量化我们首先讨论步骤(i)的消融研究,其中基于等式(1)选择量化精度。5.如上所述,分配具有较高Si值的Top1精度→基线323277.451.00×91.2仅整数[16]8875.404.00×22.8仅整数[16]7775.004.57×20.0[27]第二十七话3MP3MP74.1410.67×8.55直接2MP4MP69.7615.88×5.74HAWQ2MP4MP75.5212.04×7.57基线323269.381.00×10.1更高的量化精度,反之亦然[28]第二十八话323269.761.00×44.7相对较低的Si值。 对于消融研究,我们重新-HAWQ8869.344.00×2.53这一点,让人不禁唏嘘不已。直接3MP865.399.04×1.12调整步骤(ii),因此我们可以分离步骤(i)。 代替HAWQ3MP868.029.25×1.09在微调阶段,我们立即重新训练整个网络在执行量化之后。 结果示在图4中,我们对用户进行了50次微调,在ImageNet上运行Inception-V3。可以看到,华为重新...300结果表明,与反向方法(标记为“HAWQ-反向精密度”)相比,其准确度显著更高(74.26%对66.72%)。尽管后一种方法的压缩比仅为7。2倍,而HAWQ的压缩比为12。0×。另一个有趣的观察是,Hessian感知方法的收敛速度明显快于反向方法。在这里,HAWQ收敛于大约30个历元,而HAWQ-Reverse-Precision情况在收敛到次优值之前需要50个历元(图4)。5.2. 块级微调在这里,我们进行消融研究的Hessian的微调部分HAWQ。块式微调是基于Rt1(等式2)来执行的。6)每个街区。这些块是根据RPMI的降序进行微调的。与上述类似,我们比较了使用逆序时的量化性能(即,,我们使用HW1的升序,并将其称为我们在ImageNet上使用Inception-V3测试了该消融研究,如图5所示可以看到,HAWQ方法的然而,在这个街区汇合6. 结论我们介绍了HAWQ,一种新的量化我们的方法是基于开发二阶(Hessian)信息系统地选择两个量化精度,以及顺序为分块微调。我们对不同块的相对量化比特顺序以及微调顺序进行了消融研究。 我们表明,HAWQ可以实现良好的测试性能与高压缩比,相比,国家的最先进的。特别是,我们在Cifar-10上展示了ResNet 20的结果,在那里我们可以实现与 [3 9 ] 相似的测试性能,但是具有8倍更高的激活压缩比。我们还在ImageNet上展示了Inception-V3的结果,我们示出了超低精度量化结果,其中2位用于权重,4位用于激活,而仅1位用于激活。准确率下降93%。对于ResNet 50模型,我们的方法结果是75.48%的更高准确度,模型大小为7.96MB,而HAQ方法的top-1为75.30% 和 9.22MB [38]。 此 外 , 我 们 的 方 法 应 用 于SqueezeNext可以在ImageNet上产生前所未有的1 MB模型大小,并具有68.02%的top-1准确率。局限性和未来的工作。我们认为,每项工作都必须明确说明其局限性,特别是在这一领域。一个重要的限制是,二阶信息增加了一些计算开销。然而,我们只需要计算Hessian的顶部特征值,其可以使用算法1中提出的无矩阵方法来找到。(The总的计算开销相当于大约20个梯度反向传播来计算每个块的顶部Hessian特征值)。另一个局限性是,在这项工作中,我们只关注图像分类,但有趣的是,HAWQ将如何执行更复杂的任务,如分割,对象检测或自然语言处理。此外,必须考虑到,嵌入式处理器的混合精度推理NN的实现并不像均匀量化精度的情况那样简单。在最近的工作中已经提出了实用的解决方案[33]。另一个限制是,我们只能确定量化精度的相对顺序,而不是位的绝对值然而,搜索空间明显小于原始的指数复杂度。最后,尽管我们展示了HAWQ与DNAS [39]或HAQ [38]相比的优势,但可以将这些方法结合起来,以实现更有效的AutoML搜索。我们将此作为今后工作的一部分。致谢这 项 工 作 得 到 了 Intel 公 司 、 Berkeley Deep Drive(BDD)和Berkeley AI Research(BAIR)赞助商的慷慨基金的支持。我们要感谢英特尔VLAB团队为我们提供访问其计算群集的权限我们也非常感谢NVIDIA公司的支持,他们捐赠了两个用于这项研究的TitanXpGPU我们还希望感谢ARO、DARPA、NSF和ONR为这项工作提供部分支持。引用[1] Krste Asanovic和Nelson Morgan 人工神经网络反向传播训练精度要求的实验确定。国际计算机科学研究所,1991年。[2] Jungwook Choi,Zhuo Wang,Swagath Venkataramani,Pierce I-Jen Chuang , Vijayalakshmi Srinivasan , andKailash Gopalakrishnan. Pact:量化神经网络的参数化裁剪激活。arXiv预印本arXiv:1805.06085,2018。[3] 弗朗索瓦·肖莱。Xception:使用深度可分离卷积的深度学习在Proceedings of the IEEE conference on computervision and pattern recognition,第1251-1258页[4] Matthieu Courbariaux , Yoshua Bengio 和 Jean-PierreDavid。Binaryconnect:在传播过程中使用二进制权重训练深度神经网络。神经信息处理系统的进展,第3123-3131页,2015年301[5] 艾米丽·L·丹顿、沃伊切赫·扎伦巴、琼·布鲁纳、扬·勒昆和罗布·弗格斯。利用卷积网络中的线性结构神经信息处理系统的进展,第1269-1277页,2014年[6] Yinpeng Dong,Renkun Ni,Jianguo Li,Yurong Chen,Jun Zhu,and Hang Su.使用随机量化学习精确的低位深度神经网络。2017年英国机器视觉会议[7] Amir Gholami 、 Kiseok Kwon 、 Bichen Wu 、 ZizhengTai 、 Xiangyu Yue 、 Peter Jin 、 Sicheng Zhao 和 KurtKeutzer。Squeezenext:硬件感知神经网络设计。2018年CVPR工作室论文[8] Song Han,Huizi Mao,and William J Dally.深度压缩:使用修剪、训练量化和霍夫曼编码压缩深度神经网络。2016年学习表征国际[9] Song Han,Jeff Pool,John Tran,and William Dally.学习权值和连接以实现高效的神经网络。神经信息处理系统的进展,第1135-1143页,2015年[10] Kaiming He,Xiangyu Zhang,Shaoying Ren,and JianSun.用于图像识别的深度残差学习。在Proceedings ofthe IEEE conference on computer vision and patternrecognition,第770-778页[11] Geoffrey Hinton Oriol Vinyals和Jeff Dean。在神经网络中提取知识。研讨会论文,NIPS,2014年。[12] SeppHochreiter和JürgenSchmidhube r. 平坦极小值。神经计算,9(1):1[13] Andrew G Howard,Menglong Zhu,Bo Chen,DmitryKalenichenko,Weijun Wang,Tobias Weyand,MarcoAn- dreetto,and Hartwig Adam. Mobilenets:用于移动视觉应用的高效卷积神经网络。arXiv预印本arXiv:1704.04861,2017。[14] Itay Hubara、Matthieu Courbariaux、Daniel Soudry、RanEl-Yaniv和Yoshua Bengio。量化神经网络:使用低精度权 重 和 激 活 训 练 神 经 网 络 。 The Journal of MachineLearning Research,18(1):6869[15] Forrest N Iandola、Song Han、Matthew W Moskewicz、Khalid Ashraf 、 William J Dally 和 Kurt Keutzer 。Squeezenet:Alexnet级精度,参数减少50倍,…0.5 mb模型大小。arXiv预印本arXiv:1602.07360,2016.[16] Benoit Jacob、Skirmantas Kligys、Bo Chen、MenglongZhu、Matthew Tang、Andrew Howard、Hartwig Adam和Dmitry Kalenichenko。神经网络的量化和训练,有效的整数算术推理。在IEEE计算机视觉和模式
下载后可阅读完整内容,剩余1页未读,立即下载
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)