没有合适的资源?快使用搜索试试~ 我知道了~
5281∼×个基于自适应浮点量化刘方新1、2、赵文博1、2、何哲志1、王延志3、王宗武1、戴长治4、梁逍遥1、李江1、2*1.上海交通大学2.上海启智学院3. 东北大学4。深蓝科技(上海)有限公司公司{刘方新赵文波何哲志李江cs}@ sjtu.edu.cn摘要高数据格式定点数据格式浮点模型量化已经成为一种强制性技术,通过用更少的比特表示模型参数,利用高级深度神经网络(DNN)进行有效推理。然而,先验模型量化也会受到无效数据编码方法的影响,因此数据格式基于FP我们的方法APTLQ-NetADMMLSQ公约Kmeans导致非竞争性模型压缩率,或者需要耗时的量化感知训练过程。在这项工作中,我们提出了一种新的自适应浮点(AFP)作为标准IEEE-754浮点格式的变体,具有灵活的指数和尾数段配置。利用AFP进行模型定量-低数据格式INTINT8Biscaled-FXP需要去量化&再量化高zation(即,对参数进行编码)可以显著提高模型压缩率,而不会降低精度和重新训练模型。我们还想强调的是,我们提出的AFP可以有效地消除存在于由著名的机器学习框架(例如,pytorch、tensorRT等)。此外,我们开发了一个框架来自动优化和选择每个层的适当AFP配置,从而最大限度地提高压缩效率。我们的实验表明,AFP编码的ResNet-50/MobileNet-v2相对于其全精度对应物仅具有0.04/0.6%的准确度降低。在相同的位宽下,该算法的精度比现有的算法提高了1.1%能耗降低11. 2,这是相当令人印象深刻的推理。代码发布于:https://github.com/MXHX7199/ICCV_2021_AFP1. 介绍深度学习的巨大成功取决于数据的可用性和深度学习系统计算能力的持续增长部署DNN* 通讯作者:李江。硬件成本图1:硬件成本与预测精度的关系,使用各种DNN量化方法。蓝色[9]和或- anges表示量化方法[8,17,4,13,14,35],使用浮点格式或定点格式,虽然预测精度高,但计算成本相对较高。相比之下,绿色表示使用整数数据格式的量化方法[12],具有相对低的精度但低成本。正方形表示量化方法需要重新训练或微调,而三角形和我们的则不需要。诸如物联网设备或移动电话之类的边缘设备是具有挑战性的,因为这些边缘设备提供的计算和存储资源以及能量预算这些导致大的延迟,这是在推理期间的主要关注点。例如,使用VGG16 [25]在移动设备上完成图像识别需要16秒,这对于大多数应用程序来说是无法忍受的[18]。因此,必须压缩DNN以降低存储要求和简化算术运算以提高硬件效率。在各种压缩技术中,DNN量化技术将连续权重映射到离散空间中。因此,权重可以用较低的比特宽度精度5282二进制字符串,大大减少了模型的大小。按照这个想法,已经提出了各种量化方法[8,4,12,9,17]。这些量化方法通常可以分为非均匀方法和均匀方法-代表性的现有工作应与图1中的那些1.一、由深度压缩[9]表示的非均匀量化由INT8 [12]表示的均匀量化方法将权重值映射成均匀分布的整数。同时,基于2的幂的量化(例如,INQ [35],APT [17])将权重值映射到指数空间,然后将昂贵的乘法运算简化为移位运算。此外,对于低比特量化,需要重新训练DNN模型以减轻引入的量化误差(图1B中的正方形)。①的人。由于许多用户由于缺乏计算资源或重新训练数据而无法重新训练DNN,因此没有重新训练的量化成为许多现实世界场景中最流行的压缩方法[20]。在大多数非均匀量化方法中,计算中涉及的操作数属于32位浮点格 式 ( FP32 ) , 而 均 匀 量 化 通 常 是 整 数 格 式(INT)。此外,从硬件部署的角度来看,基于FP32的量化方法具有足够的表示范围和精度以使量化误差较小,但与基于INT的量化[10]相比,它们是硬件密集型的[3]在推理过程中,主要关注的问题包括延迟和能耗:低延迟对于实时交互至关重要,而低能耗可以帮助公司降低数据中心的成本并提高边缘设备的耐久性。动态量化允许在硬件平台上进行更低能量的数学运算,并且在精度仅略有下降的情况下进行更快的动态量化的关键思想是我们将基于在运行时观察到的数据范围动态地确定用于激活的缩放因子[20]。这意味着缩放因子被然而,大多数动态量化方法[12,17,4,33,13,28]必须执行去量化和重新量化过程以重新缩放参数,目的是确保准确性,如TensorRT所做的那样。这在每一层之后添加复量化器,导致更高的能量消耗和更长的延迟,从而减少量化的效率改进。作为现有量化方法在数据格式精度方面的折衷(即,为了提高量化精度)和硬件效率,我们开发了一种浮点表示变体,称为自适应浮点(AFP)。与具有固定数据格式的常规32位浮点表示符号位、指数位和尾数位)和位宽,我们继承其数据格式,但使AFP段的位宽可配置。因此,为了最小化量化引起的准确度降级和硬件效率,可以针对特定目标DNN优化AFP表示我们在这项工作中的贡献可以概括为:• 我们提出了一种新的自适应浮点(AFP)表示,其分割(即,指数和尾数部分的位宽)是完全可配置的。这种AFP格式用于编码(即,量化)DNN权重和激活,精度下降可忽略不计,同时显著降低计算成本。同时,我们融合动态量化,以提高性能相结合的去量化和再量化与AFP格式,其中所有的计算都在AFP中完成,而不必转换到FP32,所以有更少的硬件开销。• 为了利用所提出的用于DNN量化的AFP格式,我们开发了一个全面的框架来自动调整AFP配置(即,指数和尾数的位宽),使用贝叶斯优化作为求解器。给定要量化的DNN,我们的框架可以在准确性和计算成本方面提供最佳设置。• 为了证明我们提出的量化方法和相应框架的有效性,我们使用流行的MobileNet-v2和ResNet-50在大规模ImageNet数据集上进行了全面的实验。实验结果表明,我们的方法优于以前的。具体来说 , 量 化 的 ResNet-50 的 Top-1 准 确 度 下 降 了0.04% , MobileNet 在 ImageNet 上 平 均 下 降 了0.6%,超过了最先进的准确度。范围:~ 1 e-38至~3e-38FP32范围:~ 1 e-38至~3e-38TF32反应时间:~5.9e-8至~6.5e-4FP16范围:~ 1 e-38至~3e-3810位尾数5位指数签署BF16范围:-127至128INT8图2:与INT 8、FP 32/16、BFP 16和TF 32的数字格式比较2. 背景和前期作品2.1. 数据表示在神经网络的推理/训练领域中有五种常见的精度格式:INT 8 [12]、FP 32 [15]、FP 16 [ 15]、BFP 16 [16]和TF 32 [22]。 作为德-图中所示。2,INT8表示用8位存储的有符号整数,其他数字跟随浮点数23位尾数8位指数签署7位整数签署签署8位指数10位尾数签署8位指数7位尾数5283OP数据格式位宽能量(pJ)相对成本面积(μm2)相对成本加法器乘法器量化数据`x`x`x--I=23Σ联系我们均匀Q8七季六季五季四季三季二季一非均匀问6第五季第四季年q3第二季第一季非均匀(对数)第四季第七季第六季第五季第三季第四季年q3第二季第二季第一季AFP-N(我们的)0123456七、八INT(一)0x1 x2x3x4x5x6索引(b)第(1)款0 202122指数(c)第(1)款二三0 二0 二1三二二20+21(d)其他事项6七二三21+ 2220+21+22图3:量化方法的比较:(a)均匀量化,(b)和(c)是非均匀量化,(d)描述AFP消除了上述误差。(a)(例如,INT8)将权重向上/向下舍入为均匀分布的整数。(b)具有用于可变和自适应表示分辨率的索引,以及(c)示出了对数量化中的量化数是指数分布的均匀量化和非均匀量化都将在较低的比特宽度下导致大量的量化误差。格式. 浮点格式[15]将位串分为三个部分:符号位S、位宽为nexp位的指数位E和长度为nman位的尾数位M。具体来说,FP32格式具有8位指数和23位尾数,FP16具有5位指数和10位尾数,BF16 [16]具有8位指数和7位尾数,TF32具有8位指数和10位尾数。考虑IEEE-754 [15] 32位浮点表示bfp 32∈ {0,1}32×1,可以写为:bfp32={b31,b30,… b2 3,b2 2,...,b0};bi∈{0,1}(1)符号指数尾数由二进制字符串表示的值可以在数学上表示为:表1:针对具有不同位宽的INT和FP数据格式的加法器和乘法器的能量成本和面积成本的比较。蓝色和橙色条分别显示能量和面积的相对成本,它们都被归一化到INT8加法器[3]。INT8位0.031361INT16位0.052672INT32位0.131374FP16位0.413136038FP32位0.9304184116INT8位0.272828INT32位3.1103349597FP16位1.137164046FP32位3.71237700214浮点权重在INT8量化[ 12 ]中被量化为范围[ 128,127]中的整数。然而,均匀量化存在着先天的不足。卷积层中的权重分布与高斯分布类似,这意味着很少有权重分布。g(bFP32)=(−1)b31×2Σ302i−23·bi−B偏置×绝对值很大。它们中的大多数聚集在“0”附近这将导致大量的小quan-`Signx`Exp�o�.1个以上22i=0时X2i−23·biΣ(二)量化数据质心量化数据5284±∞具有小绝对值的权 重 的 量 化 误差。这些小的量化误差会累积,从而导致显著的精度下降[7]。同时,均匀量化尾数其中偏置项k=127是IEEE- 754 FP 32的默认设置请注意,IEEE-754浮点(bfp 32)可以处理几种特殊情况,包括Not a Number(NaN),infinity()等,由于空间限制,这里将不指定。此外,与浮点数相比,整数数据格式的硬件成本更小,如表1所示。2.2. 量化从所采用的量化器的角度来看,现有的工作可以分为两类:均匀和非均匀的对应物。均匀量化和编码。统一量化方法[2,1,8,14,32]定义了一个范围[min,max],并通过首先将数据投影到最接近的离散水平(整数)来量化该范围内的权重。例如,所有通 常对 应于INT或 固定 点数 据( 即, INT 8 [12]、Biscaled-FxP [13]、QIL [14]等)。非均匀量化和编码。非均匀量化方法[9,35,19,17]通常具有可变的分布区间,使得量化对于重要数据或更广泛的动态范围更具选择性。深度压缩[9]是一种基于聚类的量化,旨在找到一些“中心”(即,平均值),其可以表示原始权重分布中的大多数权重值。INQ [35]和APT [17]以指数的形式量化权重,允许分布间隔以指数方式增加,以低位宽提供宽范围。然而,上述方法非常耗时,因为它们需要重新训练(或微调)以恢复准确性。例如,LSQ [14],LQ-Net [33]花费了近100个epoch进行再训练,而PACT [4]花费了200个epoch来学习量化的阈值参数。在数据格式意义上,非5285联系我们联系我们Σ--LL l=1Q(Wfp)Ll=1L l=1LLLLN.μl,σ2Σ,其中和为计算的平均值,--即使是均匀量化,计算数据仍然属于FP32,其比INT数据格式更昂贵。以前作品的局限性。与图1中的均匀量化相比。3(a),其追求均匀的分布间隔,非均匀量化涉及可变的分布间隔,导致在有限的比特宽度内的较小的量化误差,但是引入了指数。在图3中,具有2比特值的量化可以表示范围[20,23],但是当指数大时,粗-出现了粒度分布区间,量化误差很大。因此,以前的工作很难在没有重新训练的情况下执行低位宽量化。同时,大多数先前的方法(BFP16 [16]涉及代表第一。值得注意的是,当应用AFP来表示传统的32位浮点值(FP32)时,量化过程被固有地应用。自适应浮点为了以更硬件友好和有效的方式对DNN参数进行编码,我们提出了一种称为AFP的新型数据格式,其是传统浮点表示的变体(例如,IEEE-754 32位浮点运算,如等式2所述(1)和方程(2)译注。其二进制数据编码bAFP和所表示的值可以相应地表示如下:bAFP={bnexp+nman,b(nexp+nman−1),…,男人,与训练阶段)进行推理时不考虑推理过程中的计算过程与`1-bitSignx`nexp-bitE组分x编码只能减少存储,而算术和仍然需要优化飞行中的激活量化。g(bAFP)=(−1)bnexp+nman×bnma n−1,...,b0}(5)n位尾数3. 方法在本节中,我们将介绍一种浮点表示法exp人的Σn+n−12签署i−n man.n人Σ变体,命名为AFP,其实现具有ac-`i=nman2·bi−k×1 +2(i−nman)·bi(六)量化DNN系统的可接受的准确性损失。法新社Exp�o�x`i=0联系我们被设计为识别那些冗余DNN参数它可以最小化具有最小比特宽度的精度降低。值得注意的是,我们的工作集中在硬件友好编码(即,在DNN上使用较少资源消耗的计算单元(加法器或甚至移位器)而不是一般乘法器来实现量化。3.1. 问题定义考虑DNN由L个参数层(即,在给定向量化输入x和对应的地面实况标签t的情况下,神经网络推理损失可以被描述为:L. f(x,{Wfp}L);tΣ(3)L尾数其中,我们提出的AFP数据格式与IEEE-754 FP 32 [15]共享类似的分段(符号、指数、尾数),但在以下方面与之不同• AFP对指数和尾数部分(nexp和nman)具有不同的位宽,其中位宽是选择的对于目标应用(即,DNN在我们的情况下)。• 与FP32采用的固定偏置项(即,k=127),我们使这样的偏置项也是可调谐的;因此,g(bAFP)仍然可以在绝对值方面近似FP 32。更多细节将被给出在以下章节中。其中Wfp ∈R表示全精度(即,FP32)第l层的权重为了量化模型权重,因此压缩模型大小,我们的目标函数可以表示为:明湖x,{Wquan}L );tΣ− L. x,{Wfp}L);tΣ用AFP近似FP32值这项工作旨在找到最佳AFP配置(即,指数和尾数部分的位宽我们首先提出两个假设来帮助我们解决这个问题。S.T. Wquan=Q(Wfp)假设 1 的 权重 的 第l个 层 是ap-其中Q(·)是量化函数,Wquan是量化函数。近似遵循高斯分布(即,WFPL第l层的量化后权重张量敬迷你-估计完全预处理和完全预处理之间的推理损失的差异Lμl σl重量WFP分布的标准偏差。精确模型和量化模型(参数化为{Wfp}假设2L量化误差越小(例如,和Wquan),需要优化量化函数Q3.2. 自适应浮点为了解决方程中定义的优化问题(4),我们指定我们提出的自适应浮点(AFP)数据(四)5286最小化WFP和WAFP之间的KL散度),量化网络的准确性损失越小[24]。这样的假设是将基于数据格式的量化结合到DNN推理中的关键。然后我们引入KL散度来描述全精度之间的误差引起的转换误差5287Lexp人ΣL∈exp人FPWQAFPLLk=圆形log(最大值|WFP|){QAFP}LLl=1Ll=1Ll=1Ll=1exp人KL量化权重W_AFP的最小值和量化权重W_AFP的最大LL法新社LL·L.ΣL.W,WΣ=熵×成本D·||·C·权重和量化的权重[11,27],优化可以写为:L权重WFP的最大值是一致的,并且量化的范围可以覆盖尽可能多的权重分布。minΣDKL(WFPWAFP)。Σ其中WAFP=QAFP(W FP;k1,n1,nl)2. 确定指数n exp的位宽。 nexpl lexpmanl=1,2,···,L应该确定,以使世博会的范围-第一部分E可以充分覆盖分布其中Q()是具有指数n_1、尾数n_1和灵活指数偏置的比特宽度参数的量化对于每一层,k> 1权重WFP。E=2nexp+n manb我(九)4. 算法概述在本节中,我们提出了一种使用AFP进行有效推理的量化方法。然后,为了进一步提高精度和计算效率,我们使用贝叶斯优化(BO)[29,26]自适应地选择求解器中的量化配置(第4.1节)以移除冗余位宽,这可以减少复杂度。i=n人3. 确定尾数的位宽。尾数是有限浮点数的一个组成部分,小数点紧跟在第一位数字之后。在这里,我们试图优化量化精度和最小化量化误差通过选择一个适当的指数偏移和处理尾数M是2的幂的形式。移植和储存。我们支持细粒度的选择,包括指数和尾数部分的位宽M=圆形wfp/2k2nexp-1Σ·2n人 Σ(10)4.1. AFP分层量化从FP32到我们提出的AFP格式(由QAFP描述)的转换可以被视为数据量化或近似过程。给定网络的第l层,浮点数据wfp WFP 以最小化在转换过程中引入的误差。在这项工作中我们不可避免地面临的问题是如何自适应地选择量化的位宽和分配的位宽,这可以被视为量化参数选择的问题。BO已被应用于机器学习中的超参数搜索,但正在开始探索NN压缩技术。为了结合BO来实现自适应参数选择以提高搜索效率,我们首先需要定义对象。tive和要优化的量化参数4.2. 搜索AFP配置比特宽度确定由量化引入的扰动。随着更大的位宽更接近原始值,KL散度更小。因此,考虑到硬件成本和较低位宽量化的使用,我们引入了[30,28]中定义的惩罚项,并通过结合位宽对其进行重新表述,位宽用于测量两个操作数相乘所需的位操作数。该算法同时考虑了操作数和操作数的位宽因此,我们重新定义优化问题,它由熵和成本两个组成部分组成,形式化为:最小 L {WFP}L ,{WAFP}L如在Eq.(7)要求共同选择-最小化n1:L,n1:L和k1:L,用BO法求解LS.T.{WAFP}Ll=1=. Q法新社。{WFP},{k,nexp,nman}ΣΣL我们最小化Eq.(7)通过构建概率模型以确定用于下一步骤评估的最有希望的候选量化 也就是说,坎迪-FP AFPλlL l=DKL(WFP||WAFP)× C(N q,nexp)λl数据量化参数由采集函数选择。l ll l(十二)在BO的每一个迭代过程中的情况,然后评估。评估结果和参数用于更新概率模型。我们首先确定三个量:指数偏置k1:L,位宽n1:L确定量化指数E,位宽n1:L确定量化指数E。其中()表示候选AFP数据格式的成本,并且KL()表示表征两个分布之间的距离的KL散度。λ1是用于平衡熵和成本项的层1的系数。在这里,我们将搜索范围限制为小于8位,使得Eq.(12)到0将不会发生。尾数M.1. 确定k。 偏置k被选择为允许最大值k。LD(WFP,WAFP)=ΣWFPlogW1(13)KΣ。(八)l=1(七)2L(十一)5288l=1--Σ1,· · ·,n∞←人C吕氏集团模型,采样数据数n,步长NL {L L···L}Ll=1Ll=18:WAFP←QAFPW标度;e′,p′9:DKL←KL(Wl||W(l)12:Dn+1←Dn,(θ*,Jnew)Qexpexp人人--湖Σ算法1AFP量化算法的位宽和改变的过程中,通过它的值-输入:全精度权重矩阵{WFP}L的UE被量化。 获得AFP编码模型ll=1{WAFP}L ,整个推理过程如下-输出:The 量化参数θ*={k,nexp,nman}L 、 其中包含灵活的展览-步骤:(1)用Q_AFP量化输入Xl;(2)获得通过与XAFP和WAFP执行卷积运算来计算输出Yl;(3)当获得输出时,计算输出Ylnent_biask、指数的位宽nexp和n_man以及l_l每层的尾数部分, 且经量化值WAFPL1:初始化采样数据Dn=.. θi,L(θi)Σ,i=2:启动最大迭代N。3:启动最佳结果J=+第四章: 当迭代
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功