没有合适的资源?快使用搜索试试~ 我知道了~
18612混合精度Kuan WangXiao,Zhijian LiuXiao,Yujun LinXiao,Ji Lin,and Song Han{kuanwang,zhijian,yujunlin,jilin,songhan}@ mit.edu麻省理工摘要模型量化是一种广泛用于压缩和加速深度神经网络(DNN)推理的技术。新兴的DNN硬件加速器开始支持混合精度(1-8位),以进一步提高计算效率,这对找到每层的最佳位宽提出了巨大挑战:它要求领域专家探索在准确性、等待时间、能量和模型大小之间权衡的巨大设计空间,这既耗时又不理想。有很多专门的神经网络硬件,但很少有研究已经做了专门的神经网络优化的一个特定的硬件架构。传统的量化算法忽略了不同的硬件架构,并以统一的方式量化所有层。在本文中,我们介绍了硬件感知自动量化(HAQ)框架,该框架利用强化学习来自动确定量化策略,并且我们在设计循环中采用硬件加速器而不是依赖于代理信号,如FLOP和模型大小,我们采用硬件模拟器生成直接反馈信号(延迟和能量)的RL代理。与传统的方法相比,我们的框架是完全自动化的,可以专门为不同的神经网络架构和硬件架构的量化我们的框架有效地减少了延迟1.4-1.95倍,能耗1.9倍,与固定位宽(8比特)量化。我们的框架揭示了不同硬件架构上的最优策略(即,边缘和云体系结构)在不同的资源约束下(即,延迟、能量和模型大小)是完全不同的。我们解释了不同量化策略的含义,这为神经网络架构设计和硬件架构设计提供了见解。*表示平等缴款。73727170696825 44 63 82 101 120延迟(ms)图1:我们需要不同层的混合精度。我们将MobileNets[13]映射到不同的比特数(权重和激活),它位于比固定比特量化(蓝色)更好的帕累托曲线(黄色)上。其原因是不同的层具有不同的冗余度,并且在硬件上具有不同的算术强度(OP/字节),这提倡对不同的层使用混合精度。1. 介绍在许多实时机器学习应用(如机器人、自动驾驶和移动VR/AR)中,深度神经网络受到延迟、能量和模型大小的严格限制为了提高硬件效率,许多研究人员提出直接设计有效的模型[25,13,2]或将权重和激活调整到低精度[9,35]。传统的量化方法对所有层使用相同数量的比特[3,15],但是由于不同的层具有不同的冗余并且在硬件上表现不同(计算限制或存储器限制),因此有必要对不同的层使用混合精度(如图1所示)。这种灵活性最初不受芯片供应商的支持,直到最近硬件制造商才开始实现以下功能:Apple发布了A12 Bionic芯片,支持神经网络推理的混合精度[7]; NVIDIA最近推出了图灵GPU架构,支持1位,4位,8位和16位算术运算[22];Imagination推出了灵活的神经网络IP,支持每层位宽调整,我2MB 3MB1MBel尺寸:Modon)量化)电子比特量化ets(固定8位ets(我们的MobileNMobileN前1位准确度28613推理延迟HW1HW2HW3最佳Q。策略HW116.29 ms最佳Q。HW2策略19.95 ms最佳Q。HW3策略19.94ms85.24毫秒 117.44毫秒108.64毫秒64.29毫秒66.15毫秒99.68毫秒表1:MobileNet-V1 [13]在不同量化策略下的三种硬件架构对于一个硬件优化的量化策略对于另一个硬件不是最优的。这表明我们需要针对不同硬件架构的专用量 化 解 决 方 案 。 (HW1 : BitFusion [26] , HW 2 :BISMO [27]边缘加速器,HW 3:BISMO云加速器,批次= 16)。两个权重和激活[14]。 除了工业界,最近学术界也致力于比特级灵活硬件设计:BISMO [27]提出了位串行乘法器来支持1到8位的乘法; BitFusion [26]支持以空间方式进行2、4、8和16位的乘法。然而,一个非常缺失的部分是如何确定每个层的权重和激活的位宽在不同的硬件加速器上。这是一个巨大的设计空间:M个不同的神经网络模型,每个模型有N层,在H个不同的硬件平台上,总共有O(H×M×82N)是可能的解.对于广泛使用的ResNet-50[10]模型,搜索空间的大小约为8100,这比宇宙中的粒子数还要多。 传统的方法需要领域专家(具有机器学习和硬件架构的知识)通过基于规则的算法来巧妙地探索巨大的设计空间,例如:我们应该在提取低级特征的第一层和计算最终输出的最后一层中保留更多的比特; 2而且,我们应该在卷积层中使用比在全连接层中更多的比特,因为根据经验,卷积层更敏感。随着神经网络变得越来越深,搜索空间呈指数级增长,这使得依赖手工策略变得不可行。因此,这些基于规则的量化策略通常是次优的,并且它们不能从一个模型推广到另一个模型。在本文中,我们想通过一个基于学习的框架来自动化这个探索过程另一个挑战是如何优化硬件上给定模型的延迟和能耗。广泛采用的方法是依赖于某些代理信号(例如,FLOPs,内存引用数)[13,25]。然而,由于不同的硬件表现非常不同,因此这些代理信号不能总是准确地反映模型在硬件上的性能。因此,直接涉及硬件架构的假设权重和激活的位宽都是1到8性能反馈到设计循环中。此外,如表1所示,在一个硬件上优化的量化解决方案在另一个硬件上可能不是最佳的,这提高了对用于不同硬件架构的专用为此,我们提出了硬件感知自动量化(HAQ)框架,该框架利用强化学习来自动预测量化参数。根据硬件RL代理以逐层的方式决定对于每一层,代理接收层配置和统计数据作为观察,然后输出操作,即权重和激活的位宽然后,我们利用硬件加速器作为环境,从硬件获得直接反馈,以指导RL代理满足资源约束。在所有层都被量化之后,我们再对量化模型进行一次微调,并将短期再训练后的验证准确性作为奖励信号提供给我们的RL代理。在探索过程中,我们利用深度确定性策略梯度(DDPG)[18]来监督我们的RL代理。 我们还研究了多种硬件架构上的量化策略:云和边缘神经网络加速器,具有空间或时间多精度设计。本文的贡献有四个方面:1. 自动化:我们提出了一个自动化的量化框架,它不需要领域专家和基于规则的分析。它将人类劳动从探索选择位宽的巨大搜索空间中解放出来。2. 硬件感知:我们的框架将硬件架构纳入循环中,以便它可以直接减少目标硬件上的延迟,能量和存储,而不是依赖于代理信号。3. 专业化:对于不同的硬件架构,我们的框架可以提供专门的量化策略,该策略4. 设计见解:我们解释了针对不同硬件架构学习的不同量化策略考虑到计算和存储器访问,解释提供了对神经网络架构和硬件架构设计的见解。2. 相关工作量化。人们已经对使用量化压缩和加速深度神经网络进行了广泛的探索。Han等人[9]通过基于规则的策略量化网络权重以减小模型大小:例如,他们使用人工智能来确定卷积和全连接层的位宽。Courbariaux等人[5]将网络权重二进制化为{−1,+1}; Rastegarietal. [24] Zhouet al.[33]二进制化每个卷积滤波器38614W一WP一E图2:我们的硬件感知自动量化(HAQ)框架概述。我们利用强化学习来自动搜索巨大的量化设计空间,硬件在循环中。代理提出了给定计算资源量最优位宽分配策略(即,等待时间、功率和模型大小)。我们的RL代理集成的硬件加速器的探索循环,使它可以获得直接的反馈,从硬件,而不是依赖于间接的代理信号。成{−w,+w}; Zhuet al. [35]使用两个比特将网络权重映射到{−wN,0,+wP}; Zhou等[34]使用一个比特用于网络权重,两个比特用于激活; Ja-cob等[15]使用8位整数作为权重和激活。我们建议读者参考Kr- ishnamoorthi等人的调查论文。[17]更详细的介绍。这些传统的量化方法要么简单地将相同数量的比特分配给所有层,要么需要领域专家来确定不同层的位宽,而我们的框架使这个设计过程自动化,并且我们基于学习的策略优于基于规则的策略。AutoML。许多研究人员旨在通过搜索网络架构来提高深度神经网络的性能:Zophet al. [36]提出了神经结构搜索(NAS)来探索和设计可转换的网络构建块,其网络结构优于几种人类设计的网络; Liu等[20]引入渐进式NAS以加速架构使用基于顺序模型的优化进行5倍搜索; Pham等人[23]引入了高效NAS,使用参数共享将探索速度提高了1000倍; Cai等人[1]引入了路径级网络变换,有效地搜索树结构的架构空间。受到这些AutoML框架的激励,Heet al. [11]利用强化学习自动修剪卷积通道。我们的框架进一步探索了网络权重和激活的自动量化,并考虑了硬件架构。有效的模型。为了促进有效的部署,研究人员设计了硬件友好的方法来精简神经网络模型。例如,粗粒度通道修剪方法[12,19,21]修剪掉卷积核的整个通道以实现加速。最近,研究人员已经明确优化了硬件属性的各个方面,包括推理延迟和能量:Yanget al.[31]提出了能量感知修剪,以直接优化神经网络的能耗; Yangetal.[32]通过查找表减少了移动设备上神经网络的推理时间然而,这些方法仍然是基于规则的,主要集中在修剪。我们的框架自动化的量化过程,通过采取硬件特定的指标作为直接奖励,使用基于学习的方法。3. 方法我们将量化任务建模为强化学习问题(图2)。我们使用DDPG代理的Actor-Critic模型来给出动作:每层的位数。我们收集硬件计数器作为约束条件,与准确度作为奖励一起搜索最佳量化策略。我们有三个硬件环境,涵盖边缘和云,空间和时间架构,用于混合精度加速器。3.1. 状态空间(State Space)我们的代理以分层的方式处理神经网络。对于每一层,我们的代理需要两个步骤:一个用于权重,一个用于激活。在本文中,我们引入一个10维特征向量Ok作为我们的观察:如果第k层是卷积层,则状态Ok为Ok=(k,cin,c out,s kernel,s stride,s feat,n params,idw,i w/a,ak−1),(一)……3位权重5位激活BitFusion(On theEdge)BISMO(On thePEPEPPEPE行动anPPEanPE0a0级PEPEnPEw0PE010 0硬件映射PEnPEw0anwnw0国家&11直接&周期T(LSB)循环0&<<<<代理商:DDPG1<<政策……量化模型硬件加速器EE010010101 1001010111 00PE评论家演员01 0101 1 0 10 11 0 10第3层3bit /5 bit第4层6bit/7 bit第5层4bit/6 bit第6层5bit/6 bit38615其中,k是层索引,cin是#输入通道,cout是#输出通道,skernel是内核大小,sstride是步幅,sfeat是输入特征图大小,nparams是#参数,idw是深度卷积的二进制指示符,iw/a是权重/激活的二进制指示符,k−1是上一个时间步的动作。如果第k层是全连通层,则状态Ok为Ok=(k,hin,hout,1,0,sfeat,nparams,0,iw/a,ak−1),(2)其 中 k 是 层 索 引 , hin 是 #input hidden units , hout 是#output hidden units,sfeat是输入特征向量的大小,nparams是#parameters,iw/a是权重/激活的二进制指示符,ak−1是上一步的动作。对于观测向量Ok中的每个维度,我们将其归一化为[0,1],使它们具有相同的比例。3.2. 动作空间我们使用连续的动作空间来确定位宽。我们不使用离散动作空间的原因是因为它失去了相对顺序:例如,2-比特量化比4比特甚至比8比特更积极。在第k个时间步,我们取连续动作ak(在[0,1]的范围内),并将其舍入为离散位宽值bk:bk=round(bmin−0.5+ak×(bmax−bmin+1)),(3)其中bmin和bmax表示最小和最大位宽(在我们的实验中,我们将bmin设置为2,bmax设置为8)。资源限制。 在现实世界的应用中,我们有有限的计算预算(即,延迟、能量和模型大小)。我们希望找到具有最佳性能的量化策略。我们鼓励我们的代理,以满足计算预算的限制行动空间。在我们的RL特工采取行动{ak}对于所有层,我们测量量化模型将使用所述反馈是直接从硬件加速器获得,我们将在3.3节中讨论。如果当前策略超出了我们的资源预算(延迟,能量或模型大小),我们将依次减少每层的位宽,直到最终满足约束。3.3. 来自硬件加速器的直接反馈对我们的RL代理的直观反馈可以是FLOP或模型大小。然而,由于这些代理信号是间接的,它们不等于性能(即,延迟、能耗)。缓存的位置、内核调用的数量、内存带宽都很重要。代理反馈无法对这些硬件功能进行建模,以找到专门的策略(见表1).相反,我们使用来自硬件加速器的直接延迟和能量反馈作为资源约束,这使我们的RL代理能够根据不同层之间的细微差异来确定位宽分配策略:例如,vanilla卷积具有 更高的数据重 用性和更好的 局部性,而deperent卷积[4]具有更低的重用性和更差的局部性,这使得它具有内存限制。这种差异影响最优量化策略。3.4. 量化由于线性量化模型只需要定点运算单元,在硬件上实现起来更加高效,因此我们使用代理给出的动作ak对每一层的权重和激活进行线性具体来说,对于第k层中的每个权重值w,我们首先将其截断到[-c,c]的范围内,然后将其线性地截断为k位:(w ,ak ,c )=round ( clamp (w ,c )/s )×s,(4)其中clamp(·,x)将值截断为[−x,x],缩放因子s定义为s=c/(2ak−1−1)。本文通过寻找最优值来选择c的值x , 其 最 小 化 原 始 权 重 分 布 Wk 与 量 化 权 重 分 布 k(Wk,ak,x)之间的KL发散:c=arg minDKL ( Wk||n ( Wk , ak , x ) ) ,(五)X其中DK L(·||·)是表征两个分布之间的距离的KL-距离。对于激活,我们以类似的方式处理这些值,只是我们截断了它们进入 [0,c]的范围 ,而不是[−c,c],因为 激活值(ReLU层的输出)是非负的。3.5. 奖励函数在量化之后,我们再重新训练量化模型一个epoch以恢复性能。由于我们已经通过以下方式施加了资源约束(延迟、能量):限制动作空间(第3.2节),我们定义我们的奖励函数R仅与准确性相关R=λ×(accquant−accorigin),(6)其中acc_origin是训练集上全精度模型的前1分类精度,acc_quant是微调后量化模型的精度,λ是设置为0的缩放因子。1在我们的实验中3.6. 剂对 于 RL 代 理 , 我 们 利 用 深 度 确 定 性 策 略 梯 度(DDPG)[18],这是一种用于连续控制问题的非策略演员-评论家算法在我们的环境中,一个步骤意味着我38616们的代理执行一个动作38617k中继kk来决定分配给特定层的权重或激活的比特数,而一个片段由多个步骤组成,其中我们的RL代理对所有层进行操作。我们应用贝尔曼方程的一种变体形式当Tk=(Ok,ak,R,Ok+1)时,在探索期间,Q函数计算为:硬件批量PE阵列AXI端口块RAM Edge Zynq-7020 18×8 4× 64 b 140× 36 Kb云VU9P 16 16×16 4×256b 2160×36Kb表2:边缘和云加速器的配置以加速模型在探索过程中的微调后Qk=Rk - B+γ×Q(Ok+1,w(Ok+1)的方式|θQ),(7)探索,我们用我们最好的策略来验证模型,在完整的数据集上进行微调。损失函数可以近似为:4. 实验L=1ΣNs (Qk−Q(Ok,ak|θQ))2,(8)我们进行了大量的实验来证明Nsk=1其中,Ns表示该片段中的步骤数,并且基线B被定义为所有先前奖励的指数移动平均,以便减小梯度估计的方差贴现因子γ被设置为1,因为我们假设为每一层所做的动作对最终结果的贡献应该此外,由于步骤的数量总是有限的(由层数限制),因此奖励的总和不会爆炸。3.7. 实现细节在本节中,我们将介绍有关RL探索和微调量化模型的实现细节。剂 DDPG代理由一个演员网络和评论家网络。两者都使用相同的网络架构:它们将状态向量和上一个时间步的动作作为输入,并将它们馈送到两个独立的全连接层中,隐藏大小为400。之后,我们将两个隐藏向量加在一起,然后通过另外两个隐藏大小为{300,1}的全连接层。对于actor网络,我们使用一个额外的sigmoid函数将输出投影到[0,1]的范围内。探 索 DDPG 代 理 的 优 化 使 用 ADAM [16] 进 行 ,β1=0。9和β2=0。999我们对演员网络使用10−4的固定学习率,对评论家网络使用10−3的固定在探索过程中,我们采用以下噪声的随机过程w′(O)<$N (w(O |θw),σ2,0,1),(9)其中,Ntrunc(µ,σ,a,b)是截断正态分布,w是模型权重。噪声σ被初始化为0。5,并且在每一次发作之后,噪声以0. 九十九。微调在探索过程中,我们对一个时期的量化模型进行微调,以帮助恢复性能(使用SGD,固定学习率为10−3,动量为0)。第9段)。我们从ImageNet中随机选择了100个类别[6]38618我们的框架对多个目标的一致有效性:延迟、能量和模型大小。数据集和模型。我们的实验在ImageNet [6]数据集上进行。由于我们的重点是更有效的模型,我们广泛研究了MobileNet- V1 [13]和MobileNet-V2 [25]的量化这两个MobileNet都是从dependable可分离卷积[4]中获得灵感,并 将 常 规 卷 积 替 换 为 逐 点 和 逐 深 度 卷 积 :MobileNet-V1 重 复 堆 叠 多 个 “ 深 度 逐 点 “ 块 ; 而MobileNet-V2使用“逐点-逐层-逐点“块作为其基本构建原语。4.1. 延迟约束量化我们首先评估我们的框架在两个代表性硬件架构的延迟约束下:多精度CNN的空间和时间架构。我们表明,这我们系统地解释了人工智能给出的政策,以指导未来的人类设计。时间架构。由Yaman等人提出的位串行矩阵乘法覆盖(BISMO)。[27]是基于FPGA的神经网络加速器的经典时序设计。它引入位串行乘法器,该乘法器同时并行地从256个权重和相应的激活中获得一位数字,并通过随时间推移的移位来累积其部分乘积。空间建筑。Hardik等人提出的BitFusion架构。[26]是用于神经网络加速器的最先进的空间ASIC设计它采用了一个2D的融合单元的心脏收缩阵列,空间求和的移位部分产品的两个比特的元素从权重和激活。4.1.1BISMO体系结构的量化策略在边缘设备和云服务器上的推理神经网络可能完全不同:批量大小,内存带宽,峰值FLOPs等。我们使用Xilinx Zynq-7020 FPGA [30]作为38619#位#位边缘加速器云加速器MobileNet-V1 MobileNet-V2 MobileNet-V1比特宽度 Acc.- 1 Acc.- 5延迟Acc.- 1 Acc.-5延迟Acc.- 1 Acc.-5延迟Acc.- 1 Acc.- 5延迟PACT [3]4比特62.4484.1945.45毫秒61.3983.7252.15毫秒62.4484.1957.49毫秒61.3983.7274.46毫秒我们柔性67.4087.9045.51毫秒66.9987.3352.12毫秒65.3386.6057.40毫秒67.0187.4673.97毫秒PACT [3]5比特67.0087.6557.75毫秒68.8488.5866.94毫秒67.0087.6577.52毫秒68.8488.5899.43毫秒我们柔性70.5889.7757.70毫秒70.9089.9166.92毫秒六十九点九七89.3777.49毫秒69.4588.9499.07毫秒PACT [3]6比特70.4689.5970.67毫秒71.25 90.00 82.49毫秒70.4689.5999.86毫秒71.2590.00127.07毫秒我们柔性71.2090.1970.35 ms71.89 90.3682.34 ms71.2090.0899.66毫秒 71.8590.24127.03毫秒原始8位70.8289.8596.20毫秒 71.8190.25115.84毫秒 70.8289.85151.09毫秒 71.8190.25189.82毫秒表3:ImageNet上BISMO(边缘加速器和云加速器)上的延迟约束量化与固定位宽(8位)量化相比,我们的框架可以将延迟降低1.4倍至1.95倍,而精度损失可以忽略不计8depth:更少的位数6逐点:更多位边缘使用8位用于权重和激活,因为它具有较少的参数并且对错误非常敏感我们遵循424层66云 42层468depth:更多位逐点:更少位#weight bit(pointwise)#weight bit(depth)#activationbit(pointwise)#activation bit(depth)42第一层(8位)的类似设置,并探索所有其他层的位宽分配策略在相同的延迟下,HAQ始终在云和边缘上实现了比基线更好的准确性(表3)。在精度相似的情况下,HAQ可以将延迟减少1.4倍1.95倍于基线。解释量化政策。 我们的代理为边缘和云加速器提供了完全不同的量化策略(图3)。 对于激活,在边缘上的逐点卷积层被分配比逐点卷积层更小的位宽;而在云设备上,这两种类型的层的位宽是相似的。对于权重,这些类型的层的位宽在边缘上几乎相同;而在云计算中,深度卷积层比逐点卷积层获得更多的位宽。0层我们解释了量化政策之间的差异每字节的操作数(逐点)每字节的OP数(depth)云与云的关系[28]许多以前的作品使用FLOP或BitOP作为度量标准来衡量compu。图3:MobileNet-V1在延迟约束下的量化策略。在边缘加速器上,我们的RL代理分配较少的激活位深度卷积,这回声深度卷积是内存有界的,激活主导内存访问。在云加速器上,由于云设备具有更大的内存带宽和高并行性,网络表现为计算受限的,我们的代理将更多的比特分配给逐点卷积,而将更少的比特我们的边缘设备和Xilinx VU9P [29]作为我们的云设备。表2显示了我们在这两个平台上的实验配置以及它们的可用资源。至于比较,我们采用PACT [3]作为我们的基线,除了提取低级特征的第一层之外,所有层都使用相同的比特数,它们日38620站点复杂性然而,它们不能直接反映延迟,因为还有许多其他因素影响硬件性能,例如存储器访问成本和并行度[25,21]。考虑到计算和存储器访问,屋顶模型假设应用程序要么是计算限制的,要么是存储器带宽限制的,如果不适合片上缓存,这取决于它们的操作强度。操作强度以每字节访问的操作(神经网络中的MAC)来衡量较低的操作强度指示遭受更多的存储器访问。图3的底部显示了MobileNet-V1中卷积层的操作强度(每字节的操作数)。依赖卷积是内存有界的,而逐点卷积是计算有界的.我们的实验表明,当在边缘设备上运行MobileNet-V138621depth:更少位逐点:更多位64246层:最后几层的更多层6层:前几层的比特数较少4246depth:更多位逐点:更少位云层#权重位(逐点)#重量位(depth)#激活位(逐点)#activation bit(depth)图4:在BISMO上的MobileNet-V2的延迟约束下的量化策略与图3类似,dependency layer在边缘加速器上分配了较少的位,而pointwise layer在云加速器上分配了较少的位权重激活Acc.-1Acc.- 5延迟权重激活Acc.-1Acc.-5能源PACT [3]4比特4比特62.4484.197.86毫秒PACT [3]4比特4比特62.4484.1913.47毫焦耳我们柔性柔性67.4587.857.86毫秒我们柔性柔性64.7885.8513.69毫焦耳PACT [3]6比特4比特67.5187.8411.10毫秒PACT [3]6比特4比特67.5187.8416.57毫焦耳我们柔性柔性70.4089.6911.09毫秒我们柔性柔性70.3789.4016.30毫焦耳PACT [3]6比特6比特70.46 89.5919.99毫秒PACT [3]6比特6比特70.46 89.5926.80 mJ我们柔性柔性70.90 89.9519.98毫秒我们柔性柔性70.90 89.7326.67毫焦耳原始8位8位70.82 89.8520.08毫秒原始8位8位70.82 89.9531.03毫焦耳表 4 : BitFusion 上 的 延 迟 约 束 量 化 ( ImageNet 上 的MobileNet-V1)。与固定位宽(8位)量化相比,我们的框架可以减少2倍的延迟,几乎没有损失的准确性在小批量的情况下,其延迟由深度方向的卷积层支配。由于特征映射在dependencyconvolution层的内存中占很相比之下,当在云上以大批量运行MobileNet-V1时,我们的代理增加了深度卷积的位宽,以在低内存开销下保持准确性,因为深度卷积只占总权重的一小部分。在MobileNet-V2上的图4中可以观察到类似的现象此外,随着更深层中的激活大小变得更小,它们被分配了更多的比特。4.1.2BitFusion架构的量化策略为了证明我们的框架在不同硬件架构上的有效性,我们进一步在BitFusion [26]架构的延迟约束下将我们的框架与PACT [3]进行比较(表4)。我们的框架在相同的延迟下比手工策略执行得更好。它可以实现几乎没有精度下降,只有一半的延迟使用的原始表 5 : BitFusion 上 的 能 量 约 束 量 化 (ImageNet 上 的MobileNet-V1)。与固定位宽量化相比,我们的框架降低了2倍MobileNet-V1模型(从20.08到11.09毫秒)。因此,我们的框架是灵活的,提供专门的量化政策,为不同的硬件平台。4.2. 能量约束量子化然后,我们评估我们的框架下的能量约束。类似于延迟约束实验,我们将我们的框架与PACT [3]进行比较,PACT [ 3 ]使用固定的位数,而没有硬件反馈。从表5中,我们可以清楚地看到,我们的框架优于基于规则的基线:它实现了更好的性能,同时消耗了类似的能量。特别是,我们的框架能够实现几乎没有损失的准确性与原始MobileNet-V1模型的近一半的能量消耗(从31.03到16.57mJ),这表明,混合精度与硬件感知,专门的量化政策确实可以帮助减少能源消耗。边缘#位#位38622MobileNet-V1 MobileNet-V2 ResNet-50权重Acc.- 1Acc.- 5模型大小Acc.- 1Acc.-5模型大小Acc.- 1Acc.-5模型大小Han等人[9]第一章2比特37.6264.311.09兆字节58.0781.240.96 MB的内存68.9588.686.32 MB我们柔性57.1481.871.09兆字节66.7587.320.95兆字节70.6389.936.30 MBHan等人[9]第一章3比特65.9386.851.60兆字节68.0087.961.38兆字节75.1092.339.36 MB我们柔性67.6688.211.58兆字节70.9089.761.38兆字节75.3092.459.22 MBHan等人[9]第一章4比特71.1489.842.10 MB71.2489.931.79兆字节76.1592.8812.40 MB我们柔性71.7490.362.07兆字节71.4790.231.79兆字节76.1492.8912.14 MB原始32位70.9089.9016.14 MB71.8790.3213.37 MB76.1592.8697.49 MB表6:ImageNet上的模型大小约束量化与深度压缩[8]相比,我们的框架在相似的模型大小下(特别是在高压缩比下)实现了更高的精度。depth:更多位逐点:更少位更多参数,更少位642246#params(逐点)#params(depth)#权重位(逐点)#weight bits(depth)层图5:MobileNet-V2模型大小约束下的量化策略。我们的RL代理分配更多的位到深度卷积,因为深度卷积具有较少数量的参数。4.3. 模型尺寸约束量化最后,我们评估我们的框架下的模型大小的限制。Hanet al.[9]中,我们采用k-均值算法将值划分为k个不同的质心,而不是使用线性量化进行压缩,因为k-均值量化可以更有效地减小模型大小。我们将我们的框架与MobileNets和ResNet-50上的Deep Compression [9从表6中,我们可以看到我们的框架比Deep Compression执行得更好:它在相同的模型尺寸下实现了更高的精度。对于像MobileNets这样的紧凑模型,深度压缩会显着降低性能,特别是在积极量化的情况下,而我们的框架可以更好地保持准确性。例如,当深度压缩将MobileNet-V1的权重量化为2位时,准确度从70.90显著下降到37.62;而我们的框架仍然可以达到57.14的准确率,相同型号尺寸。 原因是我们的框架充分利用了通过系统地搜索最优量化策略来使用混合精度。讨论。在图5中,我们可视化了MobileNet-V2的位宽分配策略。从该图中,我们可以观察到,我们的框架在深度卷积层中为权重分配的位宽比逐点卷积层多。直观地说,这是因为前者中的参数数量比后者小得多。比较图4和图5,这些政策是戏剧性的-在不同的优化目标下可能不同(在等待时间优化下用于深度卷积的位宽更少,在模型大小优化下用于深度卷积的位宽更多我们的框架成功地学习,以调整其位宽的政策,在不同的限制。5. 结论在 本 文 中 , 我 们 提 出 了 硬 件 感 知 自 动 量 化(HAQ),一个自动化的量化框架,它不需要任何领域的专家和基于规则的算法。我们提供了一种基于学习的方法,可以搜索的量化策略与硬件反馈。与间接代理信号相比,我们的框架可以为不同的硬件平台提供专门的量化解决方案。大量的实验表明,我们的框架比传统的基于规则的ap-proaches多个目标:延迟,能源和模型大小。我们的框架表明,不同的硬件架构上的最佳政策是截然不同的,我们解释了这些政策的含义我们相信这些见解将激发未来的软件和硬件协同设计,以有效部署深度神经网络。鸣谢。我们感谢MIT Quest for Intelligence,MIT-IBMWatson AI Lab , Xilinx , Samsung , Intel , ARM ,Qualcomm和SONY对本研究的支持。我们感谢GoogleCloud和AWS Machine Learning Re-search Awards提供计算资源。日位数38623引用[1] 韩才,杨嘉诚,张渭南,宋涵,永玉。用于高效架构搜索的路径级网络转换。在ICML,2018。3[2] 韩才、朱立庚、宋涵。ProxylessNAS:在目标任务和硬件上进行直接神经架构搜索2019年,在ICLR。1[3] Jungwook Choi,Zhuo Wang,Swagath Venkataramani,Pierce I-Jen Chuang , Vijayalakshmi Srinivasan , andKailash Gopalakrishnan. PACT:量化神经网络的参数化裁剪激活。arXiv,2018年。一、六、七[4] 弗朗索瓦·肖莱。Xception-使用依赖可分离卷积的深度学习在CVPR,2017年。四、五[5] Matthieu Courbariaux、Itay Hubara、Daniel Soudry、RanEl-Yaniv和Yoshua Bengio。二值化神经网络:训练权重和激活约束为+1或-1的深度神经网络。arXiv,2016. 2[6] Jia Deng,Wei Dong,Richard Socher,Li-Jia Li,KaiLi,and Fei-Fei Li. ImageNet -一个大规模的分层图像数据库。CVPR,2009。5[7] EENews.苹果描述了7nm A12仿生芯片,2018年。1[8] 宋涵。深度学习的有效方法和硬件。博士论文,2017年。8[9] Song Han,Huizi Mao,and William Dally. 深度压迫:使用修剪、训练量化和霍夫曼编码压缩深度神经网络。ICLR,2016年。一、二、八[10] Kaiming He,Xiangyu Zhang,Shaoying Ren,and JianSun.用于图像识别的深度残差学习。在CVPR,2016年。2[11] Yihui He, Ji Lin , Zhijian Liu ,Hanrui Wang ,Li-JiaLi,and Song Han. AMC:用于移动设备上模型压缩和加速的AutoML。在ECCV,2018。3[12] Yihui He,Xiangyu Zhang,and Jian Sun.用于加速深度神经网络的通道修剪InICCV,2017. 3[13] Andrew G Howard,Menglong Zhu,Bo Chen,DmitryKalenichenko ,Weijun Wang,Tobias Weyand ,MarcoAn- dreetto,and Hartwig Adam. MobileNets:用于移动视觉应用的高效卷积神经网络。arXiv,2017. 一、二、五[14] 想象力Powervr神经网络加速器,2018年。2[15] Benoit Jacob、Skirmantas Kligys、Bo Chen、MenglongZhu、Matthew Tang、Andrew G Howard、Hartwig Adam和Dmitry Kalenichenko。神经网络的量化和训练,用于有效的整数算术推理。在CVPR,2018年。第1、3条[16] 迪德里克·金马和吉米·巴。亚当-随机优化的一种方法。2015年,国际会议。5[17] Raghuraman Krishnamoorthi量化深度卷积网络以实现高效推理-白皮书。arXiv,2018年。3[18] Timothy Lillicrap,Jonathan J Hunt,Alexander Pritzel,Nico- las Heess , Tom Erez , Yuval Tassa , DavidSilver,and Daan Wierstra.通过深度强化学习实现持续控制。ICLR,2016年。二、四[19] Ji Lin,Yongming Rao,Jiwen Lu,and Jie Zhou.神经修剪。在NIPS,2017年。338624[20] Chenxi Liu,Barret Zoph,Maxim Neumann,JonathonShlens,Wei Hua,Li-Jia Li,Li Fei-Fei,Alan Yuille,Jonathan Huang,and Kevin Murphy.渐进式神经架构搜索。在ECCV,2018。3[21] Zhuang Liu,Jianguo Li,Zhiqiang Shen,Gao Huang,Shoumeng Yan,and Changshui Zhang.通过网络瘦身学习高效的卷积网络InICCV,2017.三、六[22] 英伟达 Nvidia张量核心,2018年。1[23] Hieu Pham、Melody Y Guan、Barret Zoph、Quoc V Le和Jeff Dean。通过参数共享的高效神经架构搜索在ICML,2018。3[24] MohammadRastegari 、 VicenteOrdonez 、 JosephRedmon和AliFarhadi。XNOR-Net-ImageNetClas
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功