没有合适的资源?快使用搜索试试~ 我知道了~
4852可微分软量化:桥接全精度和低位神经网络龚瑞豪1,2刘祥龙1 *蒋胜虎1,2李天祥2,3胡鹏2林佳珍2于峰伟2严俊杰21北京航空航天大学软件开发环境国家重点实验室2商汤科技集团有限公司3北京理工{gongruihao,xlliu,jiangshenghu}@ nlsde.buaa.edu.cn{litianxiang,hupeng,linjiazhen,yufengwei,yanjunjie}@ sensetime.com摘要硬件友好的网络量化(例如,二元/均匀量化)可以有效地加速推理,同时减少深度神经网络的存储器消耗,这对于在资源有限的设备(如移动电话)上的模型部署是至关重要的。然而,由于低比特量化的离散性,现有的量化方法往往面临训练过程不稳定和性能严重下降的问题。为了解决这个问题,在本文中,我们提出了微分软量化(DSQ),以弥合全精度和低比特网络之间的差距。DSQ可以在训练过程中自动进化以逐渐接近标准量化。由于DSQ的可微特性,在适当的限幅范围内,DSQ可以帮助跟踪精确的反向传播梯度,并减小正向过程中的量化损失。在几种流行的网络结构上的广泛实验表明,用DSQ训练低比特神经网络可以始终优于最先进的量化方法。此外,我们的第一个有效的实现部署2至4位DSQ的德-采用ARM架构的vices实现了高达1.7倍的速度提升,与开源的8位高性能in-参考框架NCNN [31]。1. 介绍深度卷积神经网络在计算机视觉、自然语言处理、信息检索等领域取得了巨大的成功然而,昂贵的存储器和计算成本严重阻碍了它们在广泛的资源有限的设备上的部署,特别是对于实时应用。解决*通讯作者在这个问题上,量化技术已经出现是一种很有前途的网络压缩解决方案,近年来取得了实质性进展。该算法采用不同类型的量化器,主要包括二进制/三进制[ 8,9,16,23,45,25,33]、均匀量化器、二进制/三进制[8,9,16,23,45,25,33]、均匀量化器、二进制/三进制[ 8,9,16,23,45,25,33 ]、均匀量化器、均匀量化器、均匀[46,28,6,26,43,18,36,42,20,7,2,39,21]和非均匀[44,35,13,5,41,30,38,37,3]。由于受指令集等硬件特性的限制,大多数量化方法很难实现网络加速的目标,而且仍然严重依赖于特殊的硬件设计和长期的硬件开发。例如,已经开发了一个特殊的推理引擎EIE [12]来加速[13]中的方法。幸运的是,最近的研究已经证明,二进制和均匀量化模型都具有硬件友好的特性[18,17,11,27],这使得我们能够直接在现成的硬件上使用有效的位运算或整数运算来加速推理。尽管有吸引人的益处,但是当量化成极低比特时,由于有限和离散的量化水平,现有的二进制和均匀量化模型仍然面临严重的性能降级[6]。首先,基于离散量化表示,反向传播很难获得准确的梯度,因此必须求助于适当的近似。 在文献中,直通估计(STE)[4]已被广泛用于近似。但它忽略了量化的影响,当数据量化到极低比特时,其误差会被放大,造成明显的优化不稳定性。[26,8,24]中的实验和分析表明,由量化和STE引起的梯度误差极大地损害了量化模型的准确性。此外,量子化本身不可避免地带来大的4853原始数据和它们的量化值之间的偏差,并且因此经常导致性能下降。在实践中,量化通常通过两个操作完成:剪切和舍入。前者将数据限制在较小的范围内,而后者将原始值映射到其最近的量化点。这两种操作都有助于量化损失。因此,为了减轻性能下降,找到适当的限幅范围并在限幅和舍入之间取得平衡也很重要[7,20]。为了解决这些问题,在本文中,我们引入差分软量化(DSQ)来很好地近似标准二进制和均匀量化过程(参见图1中的框架)。DSQ采用一系列超曲正切函数来逐渐接近用于低比特量化的阶梯函数(例如,符号),同时保持平滑性以便于梯度计算。我们重新制定的DSQ函数的近似特征变量,并相应地开发了一个进化训练策略,逐步学习差分量化函数。在训练过程中,DSQ和标准量化之间的近似可以由特征变量控制,特征变量与限幅值一起可以在网络中自动确定。我们的DSQ减少了由极低比特量化引起的偏差,从而使前向和后向过程在训练中更加一致和稳定。特定的设计使得DSQ与现有的解决方案相比具有以下优点:• 新颖的量子化。我们引入了DSQ函数来很好地近似标准二进制和均匀量化。化DSQ的逼近可以很容易地用进化训练的方法来控制。• 易于收敛。DSQ充当整流器,以根据量化点逐渐重新分布数据因此,反向传播变得更加一致通过前向传递,导致具有精确梯度的更容易的收敛。• 平衡损失。在DSQ的帮助下,我们可以共同确定量化的限幅范围和近似,从而平衡量化损失。包括限幅误差和舍入误差。• 高效的DSQ可以基于我们的快速计算内核实现,其推理速度超过了大多数开源的高性能推理框架。• 灵活性强。DSQ与二进制或均匀量化方法兼容,易于部署在最先进的网络结构中,并且能够获得更高的精度改进.2. 相关工作2.1. 网络量化网络量化的目的是获得具有高精度的低精度网络。加速低精度网络的一种方法是利用位运算[16,9,8,25,45、23、13、33]。 它们将权重或激活量化为{-1,+1}或{-1,0,+1}。 由于只能使用两个或三个值,因此训练具有高准确性非常具有挑战性。实现加速的另一种方式是将权重和激活统一转换为定点表示。[18]已经验证了8位均匀定点量化的可行性。但低比特量化在精度上面临更多的挑战。为了解决这个问题,[7,20]尝试以端到端的方式优化任务特定损失的限幅值或量化间隔。[36,46,39]应用不同的技术来找到每一层的最佳比特宽度。[42]和[20]用增量和渐进量化优化训练过程[29]和[16]调整网络结构以适应量化。[28]引入知识蒸馏来改进量化网络[41]学习具有基向量的更灵活的量化器。此外,还有其他非均匀方法,如[30,13,3,35,37,38,44],可能需要精密的硬件来获得加速。2.2. 有效部署随着硬件友好的网络量化,许多高效的部署框架正在出现。NVIDIA Ten- sorRT [27]是一个高性能的深度学习推理平台。它为GPU设备上的部署提供INT8优化。Intel Caffe [11]是官方Caffe[19]以提高CPU的性能,特别是Intel Xeon处理器。Gemmlowp是Tensorflow [1]中的低精度GEMM库,支持ARM和Intel X86。NCNN [31]是腾讯针对移动平台优化的推理框架。这些框架通常支持8位整数运算,但不对较低位计算进行特定的优化。为了验证我们的量化方法的效率,在本文中,我们实现了2位快速整数算法的ARM NEON技术,这是一个先进的SIMD架构扩展的ARM Cortex-A系列和Cortex-R52处理器。3. 可微软量化在本文中,我们考虑了标准的1位二进制和多位均匀量化。3.1. 预赛对于1比特二进制量化,二进制神经网络(BNN)将其激活和权重限制为-1或+1。48542b−1Float32W火车可微软量化自动进化部署2比w编号#2位一…a#时期1时期2第一2位快速卷积核可微反向传播图1.可微分软量化(DSQ)的概述,以2位均匀量化为例。在训练过程中,我们应用分段DSQ来重新分配数据,并使其在每个时期自动演变,以表现得更像均匀量化。在训练之后,分段DSQ可以通过符号运算完全转换为硬均匀量化,从而确保在资源有限的设备上容易且通常使用二进制函数:.基于渐近函数,我们可以有我们的差分软量化(DSQ)函数,近似为Qb(x)=sgn(x)=+1,如果x≥0,-1,否则。(一)使均匀量化器:l,xl,对于多比特均匀量化,给定比特宽度b和浮点激活/权重xQS( x)=. u ,Σx > u,(五)range(l,u),均匀量化的完整量化-解量化过程可以定义为:l+∆i+(x)+1、 x∈PiXQU(x)=round(x),(2)其中原始范围(l,u)被划分为2个b− 1个区间Pi,i ∈(0,1,.. . . ,2b− 1),且n =u−l是区间长度。3.2. 量化函数二进制/均匀量化函数的导数几乎处处为零,这不仅使量化网络的训练不稳定,而且大大降低了精度。为了减小全精度模型与其量化的低精度模型之间的差距,首先引入可微分渐近函数来近似地建模二进制/均匀量化器。这个功能-tion处理落在不同间隔Pi中的点x:(x)=stanh(k(x−m)),如果x∈P,( 三)如图1所示,渐近函数的曲线-当k变大时,Tion逐渐接近统一量化器的分段曲线。因此,在实践中,我们还可以利用它来模拟前向传递中的实量化的影响,并且该函数对于计算后向传递中的梯度的目的表现良好从另一个角度来看,DSQ充当整流器,其通过简单地重新分配将数据与其具有小量化误差的量化点对准随后,在反向传播期间,梯度可以更好地反映更新的正确方向。当与符号函数复合时,DSQ可以充当分段均匀量化器(见图2(a))。 值得一提的是,当只有一个区间时,我们也可以用这种方式模拟标准模型的二值化(见图2(b))。这意味着(1)中的二进制量化也可以被视为我们的软量化的特殊情况。与初始化函数13.3. 向标准量化的演变m i= l+(i +0. 5)∆和s = tanh(0. 5k∆)。(四)缩放参数s保证了相邻区间的的tanh函数可以平滑连接(参见图2(a))。由于tanh函数的高度对称性,将在任何地方连续可微。此外,系数k确定渐近函数的形状。即,k越大,渐近函数表现得越像由具有多个量化级别的均匀量化器生成的期望的阶梯函数与DSQ功能,我们可以很容易地找到一个different-entiable替代标准量化。然而,DSQ如何接近标准量化可以很大程度上影响量化模型的行为。即在训练过程中,要求能够自适应地选择合适的DSQ参数,从而根据量化网络的优化目标保证可控逼近。为了实现这一目标,重要的是找到一个特征变量来衡量DSQ之间的近似性24855<$QS(x),x∈Pi2b−10.40.2y0.0-0.2-0.4均p0P1P2uM2M1m0L−0.6-0.4-0.20.00.20.40.6X(a) 分段DSQ1.00.5y0.0-0.5-1.0−0.6-0.4-0.20.00.20.40.6X(b) 二进制DSQ现在我们可以看到,DSQ的逼近能力实际上取决于适当的α,这在优化中起着重要的作用。为了适应性地确定该参数,我们引入了一种进化训练策略,该策略以α为变量在量化网络中进行优化。通过这种方式,我们可以在训练期间自适应地调整α并迫使DSQ演化为标准量化器。例如,我们可以将其公式化为关于每一层的输入x和输出y的网络损耗图2.(a)均匀量化,(b)二进制量化,(a)的特殊情况的可微分软量化函数的曲线和标准量化。图3(a)显示了一个间隔内DSQ的曲线,没有缩放到−1和+1。很容易证明,当从曲线中的最大点到上界+1的距离足够小时,DSQminL(α; x,y)s.t.||2 λ(9)||2<λ (9)α根据该公式,我们可以在向后过程中计算α的梯度,然后使用L2正则化约束自动调整它。0,x l,伊函数可以完美地近似标准量化器。基于这一观察,我们引入特征变量α如下:α=∂α(十)1.000.750.500.25y0.00−0.25-0.50-0.75-1.00α= 1 − tanh(0. 5k∆)=1−K = 290.080.070.060.050.040.030.020.010.0-0.4-0.20.00.20.4X1 .一、(六)Sα3.4. 平衡削波误差和舍入误差削波和舍入一起导致量化误差。通常,当量化器削波更多时,削波误差增加并且舍入误差减小。由于软量化器到标准量化器的可微分演化,我们可以进一步分析DSQ中限幅误差和舍入误差之间的关系。具体地,我们可以联合优化限幅的下限和上限,以追求限幅误差和舍入误差之间的平衡。(a) α的特征(b) αⅪ的影响图3. DSQ中的特征变量α∂y1,x 1,此外,我们可以仅针对参数α和Δ重新公式化DSQ函数。具体而言,基于xl=x0,x > u,1 +q∆+∆(x),x∈ Pi(十一)200毫升在上面的等式中,我们有s=1。(七)1 −α∂y=∂u∂∆0,x l,1,x > u,电子邮件(x)(十二)有了事实∆ =u−l和(0. 5)= 1,我们也有哪里qu+2厄舒 、x∈ P i1 21k=log(−1)。(八)∆α图3(b)说明了α的影响,其中首先使用DSQ针对不同的α训练2位量化模型。曲线分别给出了DSQ、DSQ加符号函数和标准均匀量化的推理精度性能。很容易看出,我们的带符号函数的DSQ可以执行相当一致的均匀量化。特别是当α较小时,DSQ可以很好地逼近均匀量化的性能。这意味着适当的α将使DSQ能够帮助训练具有高精度的量化模型。q=i+((x)+1).(十三)2从(11)和(12)中,我们可以得出结论:大的离群点被u裁剪,并且主要贡献于u的更新,而小的离群点被l裁剪,并且主要贡献于l的更新.落在中间范围内的数据点将影响u和l的导数。当限幅误差主导整个量化误差时,离群值的梯度将很大,并且因此充当权重更新的主要力量。否则,当舍入误差占优势时,中间范围的点在反向传播过程中将影响更大。αtanh(0.5k Δ)无sgn的DSQ准确度(%)48562比特(−2b−12)272现在我们可以看到我们的DSQ函数有三个关键参数:α、l和u,所有这些参数都可以在训练过程中进行优化通过优化限幅值与sim-一个16位的寄存器。图4显示了GEMM内核的完整数据流。直到溢出通过引入量化因子α,我们不仅找到了标准量化函数的进化和可微分近似,而且还平衡了限幅误差和舍入误差,这两者共同有助于弥合全精度和极低比特量化模型之间的精度差距。16×8位···16×8位4×32位MLA直到溢出SADDW···16×8位8×16位···直到溢出SADDW3.5. 培训和部署本文提出了DSQ函数,通过进化训练优化DSQ和网络参数,目的是从全精度网络中微调量化网络。算法1中列出了卷积网络的详细微调过程。图4.快速GEMM实现中的数据流虽然SADDW需要额外的计算成本比MLA,幸运的是,我们可以减少数据传输发生的概率。给定两个b位有符号数,我们可以调用MLA指令多达2- 1次,直到算法1用于用DSQ量化的卷积层的前馈和反向传播过程。输入:输入激活参数:权重w,裁剪值la,ua,lw,uw和相似因子αa,αw输出:输出激活前馈1: 用la,ua剪裁a,用lw,uw剪裁w2:申请 渐近 功能 ϕ 到 激活和重量asq=a( a)wsq=w( w)3:与标准量化aq=sgn(asq)wq=sgn(wsq)4:对aq和wq进行a=la+∆a(i+aq+1)w=lw+∆w(j+wq+1)5:计算输出:〇=卷积(w,a)反向传播6:计算梯度(以a为例)L=通过SADDW将结果传送到16位寄存器的表1中列出了调用MLA和16位寄存器SADDW的次数比。可以得出结论,更好的加速性能将实现与较低的量化位。在实践中,我们的低比特GEMM内核可以优于其他开源推理框架。表1.调用MLA(8位寄存器)和SADDW(16位寄存器)的时间与不同量化位数的比率。B234MLA/SADDW31/17/11/14. 实验在本节中,我们进行了大量的实验,以证明所提出的DSQ在两个流行的图像分类数据集上的有效性:CIFAR-10 [22] 和 ImageNet ( ILSVRC 12 ) [10] 。CIFAR-10数据集由50 K训练图像和10 K测试图像组成,大小为32×32,有10个类。ImageNet ILSVRC12包含约120万张训练图像和50K张测试图像有1,000个班级。4.1. 设置a 亚L=DSQ功能:我们使用Pytorch [ 32 ]实现DSQ,如αaL=一个灵活的模块,可以很容易地插入到二进制阿佩尔a∂ˆa2000美元a2000美元aL=或均匀量化模型。因为DSQ函数河∂ˆa2ua2个月a是可微的,它可以直接用Py实现参数更新7:用学习率η为了部署在计算资源有限的设备上,我们还实现了低比特计算内核,以加速ARM架构上的推理在卷积网络中,乘和累加是通用矩阵乘法(GEMM)的核心运算,利用ARM NEON上的MLA指令可以高效地完成。MLA在8位寄存器中乘以两个数字,并将结果累加到8位寄存器中。在累加器几乎溢出的情况下,我们可以转移值火炬有两种方式将模型量化为1比特,即,二值化{-1,+1}和均匀量化。我们的DSQ函数与这两种方法兼容。当建立在量化模型中,我们简单地将DSQ函数插入到将被量化的所有位置,例如,卷积层的输入和权重网络结构:我们采用了广泛使用的网络结构,包括VGG-Small [41],用于CIFAR-10的ResNet-20,以及ResNet-18,ResNet-34 [14],MobileNetV 2[34] ImageNet。用于二进制化 模特 我们采用2比特···4857630-0.4-0.20.00.20.4无参数类型-A快捷方式如[15],并应用[16]引入的激活函数替换。除了第一层和最后一层之外的所有卷积层和全连接层都用DSQ量化。初始化:对于初始化,我们尝试从预训练模型进行微调,并从头开始训练。对于超参数,我们遵循原始文件[7,14,15,41]中描述的规则。对于参数α,我们选择0.2作为初始值。 对于裁剪值l和u,我们尝试以下两种策略:移动平均统计与优化通过对DSQ的重新分配,减少了量化数据与全精度数据之间的数值从另一个角度来看,DSQ的引入可以看作是STE的优化器,它可以提高优化过程的收敛能力。图6比较了当在CIFAR-10上的VGG-Small中使用二进制化和在ImageNet上的ResNet-34中使用3位均匀量化时,使用和不使用DSQ的验证的准确度曲线。我们可以发现使用DSQ训练可以达到更高的准确率。通过反向传播。4.2. DSQ分析首先,从矫正、收敛、演化等方面对DSQ进行了实证分析。4.2.1整改DSQ函数的一个重要作用是重新分配数据并将它们与量化值对齐,从而降低反向传播误差。投资-CIFAR-10上的VGG-Small90858075706560550 100 200 300 400时代(a) VGG-SmallImageNet上的ResNet-34727170696867660 25 50 75 100时代(b) ResNet-34为了验证这一点,在图5中,我们可视化了2位DSQ函数之前和之后ResNet-20在CIFAR-10上的权重从该图中,我们可以观察到,最初类似于正态分布的数据分布(图5(a))在DSQ的校正之后在直方图中出现几个峰值这一观察结果证明,DSQ作为一个有前途的桥梁之间的原始全精度模型和低比特量化模型,大大减少了量化损失,在实践中。layer2.2 conv2 filter#1图6.使用/不使用DSQ函数训练量化模型。4.2.3进化DSQ函数的自动演化是实现对标准量化的可行逼近的关键,而标准量化的可行逼近由相似因子α决定。在我们的实验中,对于CIFAR- 10上ResNet-20的权重和激活,α被初始化为0.2,并且为了确保稳定性,我们限制了它是一个合理的范围(0,0。5)k≤1000。图7(a)和(b)分别绘制了以下条件下的每步α曲线:在进化训练期间的激活和权重6 150.400.24三点三五0.220.200-0.4-0.20.00.20.40-0.4-0.20.00.20.40.300.180.16layer3.2 conv2 filter#160300.250.200 50 100150时代(a) 激活α0.140.120 50 100 150时代(b) 权重α0-0.2-0.10.00.10.2图7.在训练过程中自动进化α(a) DSQ前(b) DSQ后(c) 签署后对于激活和权重,我们可以看到图5. DSQ(2位)之前和之后的数据分布。4.2.2趋同现有的二进制/均匀量化网络通常采用在前向过程中直接应用量化而在后向过程中应用STE的训练策略它们忽略了量化损失对梯度计算的负面影响,因此在大多数情况下往往面临不稳定的训练。我们在这里表明,使用我们的DSQ训练这些模型可以显着提高收敛能力在训练开始时,α将急剧增加。考虑到当α变大时,DSQ表现得更像是一种身份操作,这种现象意味着我们不应该在开始时量化太多。之后,α逐渐减小并最终收敛到一个稳定值,使得DSQ逼近标准量化。在整个训练过程中,α根据网络损耗自动调整,比依赖人工调整的增量量化具有更强的灵活性。20100-0.2−0.10.00.10.230150-0.2−0.10.00.10.2二进制DSQ均匀量化分段DSQ准确度(%)准确度(%)4858表2. ResNet-20的激活和权重的Learntα层重量激活layer1.0.conv10.10750.3455layer1.0.conv20.09500.3101layer1.1.conv10.08950.3046layer1.1.conv20.08680.2526layer1.2.conv10.13680.3621layer1.2.conv20.09260.3401layer2.0.conv10.15780.3903layer2.0.conv20.18100.3785layer2.0.downsample.00.08280.2887layer2.1.conv10.16410.2722layer2.1.conv20.11620.2663layer2.2.conv10.16050.2690layer2.2.conv20.10590.2440layer3.0.conv10.20420.3993layer3.0.conv20.27790.4532layer3.0.downsample.00.09140.2327layer3.1.conv10.24840.4241layer3.1.conv20.23010.3918layer3.2.conv10.19650.4238layer3.2.conv20.09750.3277表2还报告了每层的最终最佳α。首先,我们发现权重的α通常小于激活的α。这意味着在低比特量化网络中,权重通常对量化更宽容,而激活更敏感,这符合先前研究的经验和结论[43,7]。第二,不同的层对量化表现出不同的敏感性。例如,下采样卷积层可以量化很多(小α),而诸如layer3.0.conv2的一些层不适合量化(大α)。这一结论对于理解和改进网络量化是非常有用的4.3. 消融研究为了进一步了解DSQ在实践中的工作原理,我们还对模型二值化和均匀量化进行了消融研究。对于网络二值化实验,我们指定α为0.2。从表3中,我们可以看到,即使是具有固定α的朴素DSQ也比直接在CIFAR-10上的ResNet-20上应用符号函数的基本二进制化策略带来了稳定的改进,例如,近2%的性能增益为1W1A(1位量化的重量和激活)的情况下。在表4中,我们进一步研究了ResNet-20的2位均匀量化 上 的 进 化 训 练 ( learnedα ) 和 平 衡 量 化 误 差(learnedl,u)对CIFAR-10的影响。显然,学习自适应α和限幅值l、u分别带来准确度提高。此外,由于DSQ可以方便地插入到任何标准的量化方法,我们进一步研究了它的表3.1位二值化量化的消融研究方法位宽(W/A)准确度(%)FP32/3290.84二进制1/182.46二进制DSQ1/183.80分段DSQ1/184.11二进制1/3290.11二进制DSQ1/3290.24分段DSQ1/3290.03性能优于最先进的量化方法PACT [7]。我们实现了PACT方法,表4中的结果表明DSQ可以进一步提高PACT的性能,证明了DSQ的灵活性和通用性表4.2位均匀量化的消融研究方法前1名(%)前5名(%)标准量化86.6399.35固定α86.9599.50Learntα87.2599.49学习α,l,u88.4499.50表5.2位PACT的消融研究方法前1名(%)前5名(%)公约88.2499.60PACT+DSQ90.1199.714.4. 与最新技术水平的比较接下来,我们通过与现有的最先进的量化方法进行比较,全面评估DSQ与CIFAR-10比较:表6列出了在CIFAR-10上使用不同方法的性能,分别包括VGG-Small上的BNN [16]、XNOR-Net [33 ] 和 ResNet-20 上 的 DoReFa-Net [43] 、LQ-Net [41]。所有方法将权重或激活量化为1位。在所有情况下,我们的DSQ获得最佳性能的两个不同的网络结构。更重要的是,当使用1位激活和1位权重(1/1)时,我们的方法得到非常显著的改进(即,84.11% vs. 79.30%)超过最先进的DoReFa-Net [43]。注意,对于VGG-Small,使用1位权重和激活的DSQ甚至可以获得比全精度模型更好的性能。ImageNet上的比较:对于大规模的情况,我们研究了DSQ在ResNet-18,ResNet-34和MobileNetV 2上的性能。表7示出了许多现有技术的量化方法,包括BWN[33] 、 HWGQ [5] 、 TWN [23] 、 PACT [7] 、 LQ-Net[41]、ABC-1 [42]、LQ-Net [43]和LQ-Net [44]。[25]和BCGD [40],相对于不同的设置。从该表中,我们可以观察到,当仅在ResNet-18上量化权重时,使用1位的DSQ比BWN和HWGQ表现得更好,甚至超过使用2位的TWN。此外,在ResNet-18和ResNet-34上,我们使用2位和3位量化的方法的准确性也一致高于LQ-Net4859表6.CIFAR-10上1位量化模型的比较4.5. 部署效率模型方法位宽(W/A)准确度(%)最后,我们强调了我们的DSQ的独特性VGG-SmallResNet-20FP 32/32 91.65[16] 1/1 89.90XNOR [33] 1/1 89.80我们的1/191.72FP 32/32 90.78[43] 1/1 79.30我们的1/184.11[43] 2016年12月29日LQ-Net [41] 1/32 90.10我们的1/3290.24我们支持基于具有ARMNEON8位指令的GEMM内核的极低位(小于4位)整数算法,而现有的开源高性能推理框架(例如,NCNN-8位[31])通常只支持8位操作。在实践中,较低的位宽并但幸运的是,如表8所示,我们的实现可以加速推理,甚至使用极端低位。我们还测试了在Rasp上使用DSQ量化ResNet-18时我们实现的实际速度。表7.ImageNet上不同量化模型的比较berry Pi 3B,它有一个1.2 GHz的64位四核ARM模型方法位宽(W/A)准确度(%)皮质A53如表9所示,使用DSQ的推理速度比NCNN快得多。ResNet-18ResNet-34移动-NetV 2FP 32/32 69.90BWN [33] 1/32 60.80HWGQ [5] 1/32 61.30TWN [23] 2/32 61.80我们的1/3263.71PACT [7] 2/2 64.40LQ-Net [41] 2/2 64.90我们的2/265.17[25] 2016年12月25日[7] 3/3 68.10LQ-Net [41] 3/3 68.20我们的3/368.66BCGD [40] 4/4 67.36†我们的4/469.56†FP 32/32 73.80LQ-Net [41] 2/2 69.80我们的2/270.02[25] 2016年12月26日LQ-Net [41] 3/3 71.90我们的3/372.54BCGD [40] 4/4 70.81†我们的4/472.76†FP 32/32 71.87PACT [7,36] 4/4 61.40我们的4/464.80表8.ResNet中使用不同位数(单线程)的典型3×3卷积的时间成本(ms)输入大小#输出4位3比特2比特64x56x566443.8040.0638.11128x28x2812833.8929.9428.15256x14x1425637.0331.1629.20512x7x751230.2026.1425.43表9.ResNet-18在不同位的不同推理框架上的时间开销比较(单线程)。DSQ 2-bitNCNN 8-bit [31]time(ms)551.22935.51*NCNN于2019.3.15使用提交d263cd5进行了测试。5. 结论本文提出了可微分软量化(DSQ)方法来消除全精度网络和低比特(二进制/均匀)量化网络之间的精度差距。DSQ可以在端到端训练期间动态地演变以近似标准量化。由于它可以减少后向传播的梯度偏差和前向推理中的量化损失,因此可以保证各种网络结构的最新精度。作为一个通用模块,支持模型二值化和uniform。*表示所有卷积层上的激活和权重的完全量化的结果。ABC网应当指出,LQ-Net是一种非均匀量化方法。这意味着,我们的DSQ同时享有高效的推理,统一的方法,和竞争力的性能,更复杂的非统一的解决方案。更重要的是,DSQ在诸如MobileNetV2的高效网络上的准确性也显著超过现有方法(例如,比使用4位的PACT [7,36]高3.4%),这证明了DSQ在具有少量参数的硬件友好网络上的潜力。形式量化,它也具有很强的灵活性,以im-证明了不同量化方法的性能,以及基于快速定点GEMM内核实现的高硬件友好效率承认本 课 题 得 到 了 国 家 自 然 科 学 基 金 ( 61690202 ,61872021)、中央高校基础研究基金(YWF-19-BJ-J-271)、北京市科委(Z171100000117022)和软件开发环境国家重点实验室(SKLSDE-2018 ZX-04)的资助。4860引用[1] Martin Abadi , Paul Barham , Jianmin Chen , ZhifengChen , Andy Davis , Jeffrey Dean , Matthieu Devin ,Sanjay Ghe-mawat , Geoffrey Irving , Michael Isard ,Manjunath Kudlur , Josh Levenberg , Rajat Monga ,Sherry Moore,Derek G.Mur-ray,Benoit Steiner,PaulTucker , Vijay Vasudevan , Pete War-den , MartinWicke,Yuan Yu,and Xiaoqiang Zheng.十- sorflow:一个大规模机器学习系统。在第12届USENIX操作系统设计和实现研讨会(OSDI 16),第265-283页[2] Ron Banner,Yury Nahshan,Elad Hoffer,and DanielSoudry.卷积网络的训练后4位量化,用于快速部署。arXiv预印本arXiv:1810.05723,2018。[3] Chaim Baskin,Eli Schwartz,Evgenii Zheltonozhskii,Natan Liss,Raja Giryes,Alex M.布朗斯坦和阿维·门德尔松。Uniq:用于神经网络非均匀量化的均匀噪声注入。arXiv预印本arXiv:1804.10969,2018。[4] 约瑟芬·本吉奥尼古拉斯·朗纳德亚伦·库维尔。通过随机神经元估计或传播梯度以进行条件计算。arXiv预印本arXiv:1308.3432,2013。[5] 蔡兆伟,何晓东,孙健,努诺. 通过半波高斯量化进行低精度深度学习2017年IEEE计算机视觉和模式识别会议(CVPR),2017年7月。[6] Jungwook Choi 、 Pierce I-Jen Chuang 、 Zhuo Wang 、Swa-gath Venkataramani 、 Vijayalakshmi Srinivasan 和Kailash Gopalakrishnan。 桥接 的 精度 间隙 为 2-比特量化神经网络(QNN)。arXiv预印本arXiv:1807.06964,2018。[7] Jungwook Choi,Zhuo Wang,Swagath Venkataramani,Pierce I-Jen Chuang , Vijayalakshmi Srinivasan , andKailash Gopalakrishnan. Pact:量化神经网络的参数化裁剪激活。arXiv预印本arXiv:1805.06085,2018。[8] Matthieu Courbariaux , Yoshua Bengio 和 Jean-PierreDavid。Binaryconnect:在传播过程中使用二进制权重训练深度神经网络。arXiv预印本arXiv:1511.00363,2015。[9] Matthieu Courbariaux、Itay Hubara、Daniel Soudry、RanEl-Yaniv和Yoshua Bengio。二进制神经网络:训练权重和激活被约束为+1或-1的深度神经网络。arXiv预印本arXiv:1602.02830,2016。[10] J. Deng,W.东河,巴西-地索赫尔湖J. Li,K. Li和L.飞飞。ImageNet:一个大规模的分层图像数据库。2009年IEEE计算机视觉和模式识别会议(CVPR),2009年7月。[11] Jiong Gong , Haihao Shen , Guoming Zhang , XiaoliLiu,Shane Li,Ge Jin,Niharika Maheshwari,EvaristFomenko,and Eden Segal.具有智能的卷积神经网络的高 效 8 位 低 精 度 推 理 。 Proceedings of the 1st onReproducible Quality-Efficient Systems Tournament on Co-designing Pareto-efficient Deep Learning - ReQuEST 18,2018.[12] 宋汉,刘星宇,毛慧子,蒲景,阿尔达万,马克.Horowitz,and William J. Dally呃。ACMSIGNABLE Computer Architecture News , 44 ( 3 ) :243254,Jun 2016.[13] Song Han,Huizi Mao,and William J. Dally深度压缩:使用修剪、训练量化和霍夫曼编码压缩深度神经网络。arXiv预印本arXiv:1510.00149,2015。[14] Kaiming He,Xiangyu Zhang,Shaoying Ren,and JianSun.用于图像识别的深度残差学习。2016年IEEE计算机视觉和模式识别会议(CVPR),2016年6月。[15] Kaiming He,Xiangyu Zhang,Shaoying Ren,and JianSun.深度剩余网络中的身份映射。计算机科学讲义,第630645页,2016年。[16] Itay Hubara、Matthieu Courbariaux、Daniel Soudry、RanEl-Yaniv和Yoshua Bengio。二值化神经网络神经信息处理系统进展29,第4107-4115页。Curran Associates,Inc.2016年。[17] Benoit Jacob等人gemmlowp:一个小型的自包含的低精度gemm库。(2017),2017.[18] Benoit Jacob、Skirmantas Kligys、Bo Chen、MenglongZhu、Matthew Tang、Andrew Howard、Hartwig Adam和Dmitry Kalenichenko。神
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Android圆角进度条控件的设计与应用
- mui框架实现带侧边栏的响应式布局
- Android仿知乎横线直线进度条实现教程
- SSM选课系统实现:Spring+SpringMVC+MyBatis源码剖析
- 使用JavaScript开发的流星待办事项应用
- Google Code Jam 2015竞赛回顾与Java编程实践
- Angular 2与NW.js集成:通过Webpack和Gulp构建环境详解
- OneDayTripPlanner:数字化城市旅游活动规划助手
- TinySTM 轻量级原子操作库的详细介绍与安装指南
- 模拟PHP序列化:JavaScript实现序列化与反序列化技术
- ***进销存系统全面功能介绍与开发指南
- 掌握Clojure命名空间的正确重新加载技巧
- 免费获取VMD模态分解Matlab源代码与案例数据
- BuglyEasyToUnity最新更新优化:简化Unity开发者接入流程
- Android学生俱乐部项目任务2解析与实践
- 掌握Elixir语言构建高效分布式网络爬虫
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功