没有合适的资源?快使用搜索试试~ 我知道了~
定点反向传播训练张锡山1,2,刘少利1,张瑞1,2,刘昌1,黄迪1,周世一1,郭家明1,郭启2,杜自东1,2,田志1,2,陈云吉21寒武纪科技股份有限公司,中国2中国科学院计算技术研究所计算机体系结构国家重点实验室摘要最近出现的量化技术(即,使用低位宽定点数据而不是高位宽浮点数据)已被应用于深度神经网络的推理,以实现快速有效的执行。然而,在训练中直接应用量化可能会导致显著的准确性损失,因此仍然是一个开放的挑战。在本文中,我们提出了一种新的训练方法,该方法在深度神经网络中应用逐层精度自适应量化新的训练方法利用了我们的关键观点,即训练精度的下降归因于数据分布的急剧变化。因此,通过逐层精确自适应量化保持数据分布稳定,我们能够使用低位宽固定点(一)(c)第(1)款(b)第(1)款(d)其他事项数据,并实现保证的准确性,而不改变超参数。在各种网络架构上的实验结果卷积和递归网络)和应用(例如,图像分类、目标检测、分割和机器翻译)表明,所提出的方法可以在可以忽略不计的精度损失(-1.40%至 1.3%,平均0.02%)的情况下训练这些神经网络 , 并 且 在 最 先 进 的 IntelCPU 上 将 训 练 速 度 提 高252%。1. 介绍虽然深度神经网络已经成为广泛的机器学习应用的最先进技术,例如图像识别[14],对象检测[21],机器翻译[32,8],但深度神经网络的计算成本不断增加,这极大地阻碍了深度神经网络的开发和部署。刘 少 利 ( Shaoli Liu ) 是 本 文 的 通 讯 作 者 ( 邮 箱 :liushaoli@cambricon.com ) 上 提 供 。 这 项 工 作 由 Cam- briconTechnologies资助和支持零Int16INT8到零INT8零INT121图1:AlexNet fc2层激活梯度分布(以2为底的对数)和训练收敛。网络.例如,10,000 GPU小时用于在ImageNet上执行神经架构搜索[2]。量化是降低神经网络训练的计算成本的有前途的技术,其可以取代高成本的浮点数 ( 例 如 , 使 用 低 成 本 固 定 点 数 ( 例 如 ,int8/int16)。近年来,无论是软件社会[6,12,16,19,27,35]还是硬件社会,ety [11,24,23,31]对推理任务的深度神经网络的量化进行了广泛的研究尽管各种研究表明,深度学习推理可以通过量化来准确地使用低位宽的固定点数进行[16,17,6,33,35,35,37],但量化训练仍然是一个开放的挑战。一些现有的方法将后向传递量化到低位(例如,int8),但在当前显著的准确性下降,例如,AlexNet的损失为3.7%[38,36]。[7]使用int16进行前向传递23302331并向后传递以确保准确性。 但是,不能保证unifiedint16 precision适用于所有任务和网络。与效率相比,准确性是大多数实际从头开始训练场景中的主要追求,因此对于大多数量化工作,反向传播中的激活梯度仍然保持为阈值32 [16,17,6,35,39,37]。我们的目的是研究反向传播中训练精度和计算位宽(效率)之间的关系。大多数以前对量化训练的研究都使用统一精度(即,bit-width)。然而,对不同的层使用混合精度将提高网络的性能。然而,很难在如此多的训练迭代中为如此多的层找到最合适的精度。考虑广泛使用的ResNet50模型,具有4个候选量化位宽(例如,8,16,24,32为权重,激活和激活梯度),量化精度组合搜索空间的大小为450,000训练迭代可以实现435045000.为了避免量化位宽组合的过度长空间搜索,我们提出了一种有效的自适应技术来逐层单独确定位宽,这是基于我们对逐层位宽与训练收敛之间关系的以AlexNet为例,图。图1(a-c)描绘了当以不同位宽量化时AlexNet最后一层上的激活梯度分布。与原始样本32相同,int8引入了数据分布的显著变化,int12引入了数据平均值的轻微变化,int16显示了与原始样本32几乎相同的分布。图.图1(d)描绘了相应的训练损失,其示出了int8量化在开始时不收敛,int12收敛得比Antoat32慢,并且int16表现得与Antoat32类似。上述实验结果表明如果量化分辨率不改变层的数据分布(例如,对于AlexNet的最后一层为int16),使用此分辨率对相应层进行量化训练几乎可以保持训练精度。基于上述观察,可以使用固定点数来训练大规模深度神经网络,而不会改变超参数,也不会降低精度。对于训练中的每一层,我们的方法自动找到最佳量化分辨率(即,不显著改变数据平均值的最小比特宽度)。具体地说,我们首先计算量化前数据的平均值。然后,我们使用int8量化数据并计算量化误差。如果量化误差的比率超过阈值(例如,3%),量化位宽增加。循环上述过程,直到量化误差比低于阈值。我们在各种网络架构(例如,卷积和递归网络)和应用(例如,图像分类、目标检测、分割和机器翻译)。我们的方法将所有权重和激活量化为int8。平均而言,12.56%、87.43%和0.07%的激活梯度分别量化为int8、int16和int24实验结果表明,所提出的自适应固定点训练方法可以实现与从头开始训练的Antoat32相当的准确性 精度损失仅为0.02%平均(-1.40%至1.3%)。在Intel Xeon Gold 6154上的测试结果表明,该方法可以达到2.52AlexNet的训练速度比Alexoat32提高了一倍我们强调了所提出的自适应定点训练的三个主要贡献:1. 灵活性:不同网络的不同层的量化精度自动适应,以保证网络的准确性。2. 效率:我们在训练中用固定点数量化向后传递和向前传递,这可以加速在真实硬件上的训练。训练后,int8权重可以直接部署,因此不需要进一步量化。3. 推广性:对各种网络和应用的评估表明,所提出的自适应固定点训练是有效和实用的。2.相关作品使用降低的精度进行深度学习一直是一个活跃的研究课题。先前的努力探索了锚点(例如,8位和16位)用于训练[34,22]并在一系列深度学习模型和数据集上保持准确性。然而,由于浮动点比固定点更占用资源,因此部署总是依赖于量化技术。最近尝试在具有不同位宽的不同层上量化权重和激活。对于经过训练的网络的推理,有一些技术可以搜索量化位宽组合的空间[35,33,37]。然而,这些推理技术只需要考虑单次迭代,其搜索空间比训练小得多因此,他们不适合训练。对于训练,有一些可微分的量化方法[4,30,37],引入额外的计算来学习量化参数(例如,量化分辨率、范围和比特宽度)。然而,用于后向传播的量化参数难以使用可微方法来学习。[26]量化反向传播。与他们在训练前分配逐层位宽的方法不同,我们的方法在训练过程中动态改变位宽,并在广泛使用的网络上进行评估。23320.0150.01-8-10-12-140.90.80.70.005-16-180.60.5-2001 234 56789100.40 2 4 6 8 100-0.01电话:+86-0512 - 8888888传真:+86-0512 - 888888800.0020.0040.0060.008 0.01(a) 激活梯度分布。迭代104(b) 激活梯度演化。迭代105(c) AlexNet的训练曲线图2:AlexNet上的观察结果。研究人员已经证明,在大多数视觉训练任务中,16位足以进行反向传播[7]。然而,进一步量化到8位会导致严重的退化[38,38,36,7,1]。WAGE [36]声称第一层和最后一层需要更高的精度。TBP [1]表明,权重梯度计算(WTGRAD)比梯度反向传播(BPROP)需要更多的比特。我们的方法在三个方面与别人不同。首先,在前向传球和后向传球中使用固定点进行训练。第二,用于不同层的量化参数被动态地适配以保证准确性。最后,我们在大规模数据集上训练了各种视觉和自然语言处理应用程序。3.观察定点训练的关键是找到合适的量化参数,以保证训练的准确性。因此,我们研究了不同层不断变化的数据分布与训练收敛性之间的关系。观察1.数据分布在层与层之间变化很大。图. 图2a描绘了AlexNet上不同层的激活梯度分布大部分激活梯度集中在接近零的区域,并且具有长尾分布。与卷积层相比,全连接层具有更大的方差。当然。图2b示出了AlexNet上的激活梯度的最大绝对值的以2为底的对数conv0,conv1,conv2)小于上层上的最大值(例如,fc 0、fc 1、fc 2)。直观地说,对于那些数据范围广、分布集中的层,需要更高的量化分辨率。观察2.在训练过程中,每层的数据范围都在变化图.图2b示出了训练期间激活梯度演变的最大绝对值。在训练的早期阶段(少于10,000次迭代,如红线左侧所示),数据范围迅速变化并且在一个或两个时期之后,数据范围趋于稳定。这种现象表明,当从头开始训练时,量化范围也应该在初始时期内频繁地改变。观察3.具有大方差的数据需要大的位宽。图.图2c示出了使用不同层的不同比特宽度的收敛曲线。Float32是对所有卷积层和全连接层使用Float32的训练收敛曲线。经过5,000,000次迭代后,该网络然后,我们量化conv1到int8的激活梯度,并保持其他层的激活梯度为32。conv 1-int 8的训练曲线与Anchoat 32相同,最终的top1准确率为58.01%。然而,当我们将fc2的激活梯度量化为int 8,并保持其他层numoat 32不变时,训练收敛速度明显慢于numoat 32,并且在前5,000次迭代中,训练不会收敛。fc2-int 8的最终top1准确率仅为48.27%。当量化fc2到int12的激活梯度时,训练收敛速度比int8快,但仍比Int32慢fc2-int 12的最终top1精度使用int16作为fc2的激活梯度,最终训练曲线与anoat32相同,top1准确率为58.28%。总之,int8足以量化conv2的激活梯度,然而,fc2需要int16来保持训练精度。结合观察结果1,我们发现具有大方差的数据需要大的位宽,因此量化参数应该由数据分布动态确定。根据网络初始化原理[10,13],所有网络参数都被初始化为高斯分布,其方差与层的超参数有关。相似的网络初始化原理和相似的SGD学习算法确保了各种网络架构应该具有相似的观测。(More观察结果见附录C)。fc2fc0conv4conv2conv0conv0conv1conv2conv3conv4fc 0 fc1 fc 2产品分布float32conv1-int8conv2-int8fc2-int8fc2-int12fc2-int16流量最大值(Log2)Top1错误2333QEM+QPAQEM+QPA量化量化QEM+QPALlLLbP(x)dx自适应精确训练W算法1自适应固定点训练。诸如权重W1、激活X1和顶层οାାଵοାାଵ向前电子邮件*l+1 线性层l的量化为固定的,落后漏FPROP过滤器具有不同位宽n和量化的决议河QEM的输出Diff指示输入-联系我们QPA的输出Itv决定量化参数更新频率。图3:一层一次迭代的自适应固定点训练绿色节点和块表示定点数据和计算。只有0.01%~ 2%的迭代激活了QEM和QPA组件。4.自适应定点训练在本节中,我们将介绍自适应固定点训练方法,如图所示。 3. 在训练过程中,单次迭代的三个主要计算单元包括前向传递(FPROP)、后向传递梯度传播(BPROP)和后向传递权重梯度计算(WTGRAD)。这三个单元的输入包括权重W1、激活量X1和顶层初始化所有更新iter=1而i max迭代//forwardPropagationwhilelinlayersdo如果i==updateIterw1,则Diff=QEM(W1)Itv,nwl,rwl=QPA(Wl,Diff)更新iterwl=i+Itvend ifWl= Quantify(Wl,nw,rw)如果i==updateiter×l,则Diff=QEM(X1)Itv,nxl,rxl=QPA(Xl,Diff)更新iterxl=i+Itvend ifXl= Quantify(Xl,nx,rx)L l线性层l的梯度εXl+1。 在自适应固定点在训练中,我们将这三个输入量化为固定点数,bers1.量化参数,如位宽n和量化分辨率r是由所提出的量化误差测量(QEM)和量化参数调整(QPA)自动确定的。在本节的以下部分,我们将介绍我们的培训应用程序的两个主要组成部分QEM和QPAF或Ward:Xl+1=XlWl//FPR OPend while//反向传播,而层中的l如果i==updateIterIterXl+1,则Diff=QEM(λX1+ 1)Itv,nxl+1,rxl+1=QPA(xl+1,Diff)更新iter=i+Itvend if接近算法1描述了整个自适应固定-Xl+1,rl+1)点训练算法QEM的输出(表示为Diff)用作根据数据分布的量化分辨率不足的显式指示符。QPA执行量化参数更新,并根据QEM的输出确定最新频率(表示为Itv4.1. 量化误差测量基于观察1和观察3,我们提出根据数据分布调整量化参数。量化前后的均值差是一个很好的量化误差度量,它表明了数据分布的变化,并建议需要调整量化分辨率。直觉,如图所示。橙色线和蓝色线代表两种不同的数据分布。量化分辨率表示为a和b之间的距离,两者之间的数据量化为a。使用某些量化参数(由图中的量化分辨率反映),分布差异可以由阴影区域的差异来反映。特别是,后壁:BWXl=BWXl+1BWXl//BPR OP后壁:BWXl=XWXl+1//WTGRAD//权重更新Wl=Wl+f(Wl)end while结束while对于橙色分布,阴影区域S1近似等于S2,但是对于蓝色分布,S3比S4大得多,这意味着更多的数据量被量化到蓝色分布下。因此,对于蓝色,量化后的平均值md远小于原始平均值md。随着a和b之间的距离减小,S3和S4之间的面积差也将减小。因此,量化前后均值的差异反映了量化分辨率与数据分布的关系在数学上,假设数据服从高斯分布P(x)<$G(0,σ),并且数据x∈Rp被量化为x<$。考虑到平均值,平均值是-P(x)xdx1定量方法见附录Btween[a,b]是mx=,a一,而在量化之后,落后公司简介量化2334KM我我我数据分布量化决议S1S3S4a c bS2图4:数据分布和量化分辨率。是相互依赖的,如范围r×2n。因此,我们仅使用它们中的两个作为量化参数(即,r和n)。参数调整过程由以下触发有效的量化分辨率和数据范围的急剧变化。对于量化分辨率不足的情况,我们使用Diff作为指标。当Diff超过某个阈值T数据时,通过增加位宽来降低量化分辨率,如nnew←nold+n′,其中n′= 8是位宽增长步长。 我们可以设置初始nold= 8,递 归 地 调 整 位 宽 , 直 到 适 当 的 nnew ( 表 示 为Mode1),或者我们可以将初始的nold设置为前一次迭代根据新的位宽nceil(log2(Range))当r= 2时2n−1−1,其中Range是最大绝对值-a,cP(x)dx+b,bP(x)dx要量化的数据的lute值。平均值为mx=a、b、c. 的差异aP(x)dx对于数据范围的变化,我们提出了另一个指标-量化前后的平均值表示为mx=P(x)xdx对于迭代i,x∈R,ca,b. 没有基本的无限性一aP(x)dx + bcP(x)dx积分高斯函数,所以我们求助于数值积分算法我们使用P(x)=kx+o来近似[a,b]与b−o,k0之间的局部值,并指定C=1k(a+b)2+o(a+b),则我们有:Ri=α×Range+(1−α)×Ri−1(3)其中,Ri是多次迭代期间数据范围量化参数调整间隔Itv为4 2由Diff和R自动确定。在意大利-mx= 1 +1/24(一)初始化阶段(第一个时期的十分之一),设置ItvmxmC(b−a)2(−k)M到1. 初始化阶段后,调整间隔为Itv=β−γ,因为I1=δ×Diff2且I2=证明了mx >1且C >0(参见附录max(I1,I2)xA表示细节),所以我们有mxx(b-a)2(−k)。当|.|. 如实验所示,Itv在训练 在Itv迭代内,量化参数b−a减小或k增大,平均值的差同时减少商誉 因此,平均值的差异作为用于根据数据分布(由σk(−k)表示)调整量化分辨率(由b−a表示)的显式指示符方程2用于确定量化参数。在训练中。mx−mx保持不变,因此无需计算数据的Diff5. 实验我们首先评估量化误差测量,并显示自适应固定点引入的计算复杂度。然后,我们评估所提出的adap-01- 02 -02|Σp|X |−MxΣp|x||+ 1)(二)针对各种深度学习的任务包括图像分类、目标检测、分割、02-02|Σp|X|| + 1)机器翻译和机器翻译来展示我们的成果,方法和步骤具有广泛的适用性。最后,我们展示了在现有硬件上的训练加速。在训练中应用Diff来调整量化分辨率,根据数据分布。较大的Diff指示分布具有较高的方差σ,因此需要降低量化分辨率r。4.2. 量化参数调整根据观察2,我们建议自动5.1. 测量误差的评定我们在方程中使用Pearson相关系数。图4示出了网络精度α和量化误差度量M之间的相关性。((M-M<$)(a-a<$))2R2=0(四)基于数据演变确定量化参数在定点代表的情况下,(M-M<$)2(a-a<$)2量化变量包括数据范围、量化参数和量化参数。评估的量化误差指标,包括亲,|我|Xi| −我|xi||量化分辨率r和位宽n。这三个变量M1 =Σ|X|和几个变体:M 2 =我我-1/8我我我2335M3 =|X|jQITER我0.70.60.50.40.30.20.1与Accuray的相关性y = -0.0033x +0.7041R² = 0.0323y = -0.7345x + 0.7517y = -0.0325x + 0.7333R² = 0.3713R² = 0.3578M4M2y = -3.6741x +0.7255R² = 0.8457M1M30 1 2 3 4 5 6 78公制:M1,M2,M3,M4随着训练的进行,调整频率急剧下降到最后的0.1%。图. 8b显示了在VGG16上训练期间量化为int8模式1允许位宽增加和减少的训练,而模式2只允许位宽增加。在模式1中,平均39.6%的图层保持int8(最终的top1精度:70.2%)。在模式2。平均18.8%的层保持int8(最终top1准确率:70.6%)。量化操作百分比图5:MobileNet-v2准确性与和量化误差测量M。百分之一百百分之八十Σ我|xi−xi||X|Σ|xi−xi|,M4=0Pjlog(Pj).M260.00%40.00%ii i j与[27,39]相似。 M4是库尔贝克-莱布勒潜水员其中Pj和Qj是原始数据和量化后数据具体来说,我们量化了MobileNet-v2的每一层,百分之二十0.00%的百分比AlexNet ResNet50 MobileNet-v2 VGG16前向传播,以获得相应的网络精度。量化是以不同的比特宽度(即,6,8),因此产生了各种程度的量化误差和相应的网络精度。图.图5示出了网络准确度与若干误差度量之间的线性相关性。我们提出的量化误差测量M1与网络级准确度 具 有 最 高 的 相 关 性 得 分 ( 在 Appenalty D 中 ,MobileNet为0.84,ResNet50为0.85),这意味着所提出的误差测量可以作为合理的分层准确度指标。MobileNet作为轻量级网络,相对难以量化,因此它可以在不同的评估指标M1,M2,M3和M4之间表现出最明显的差异5.2.计算复杂度我们评估了自适应定点量化引入的额外计算额外计算涉及QEM、QPA和数据量化中的计算,如图中的前向量化和后向量化所示。6和图。7.这两个图显示了不同网络的运行百分比和运行时间2。对于轻量级网络MobileNet,额外计算量相对较大。对于其他网络,额外的计算量在1%以内。我们的方法的速度是1.7倍到2.8倍的GPU上的GPU上的XNUMX 32速度。在训练期间,调整频率被计算为AdjIter,其中AdjIter是执行QEM和QPA的迭代次数,并且Iter是执行的训练迭代的总数。如图所示。8a,在初始时期,调整频率接近100%。作为2https://github.com/tensor codeow/models/tree/master/research/slim向前前向量化落后后向量化图6:不同模型的前向和后向量化的操作百分比。600.0500.0400.0300.0200.0100.00.0AlexNet ResNet50 MobileNet-v2 VGG16图7:在V100 GPU上使用128批处理大小进行一次迭代的时间(ms)。由于V100不支持int 16,这里使用了int 16来近似int 16。.0.80.70.60.50.40.30.20.100 2 4 6 8 10迭代105(a)(b)第(1)款图8:(a)训练期间的量化参数调整(b)培训期间FP32388.8我们FP32我们FP321.8我们23.0107.427.021.0FP107.141.83.5171.217.055.075.016.05.4118.0196.93215.0我们22.0241.6ResNet152Inception_BNVGG16精度调整频率百分之零点零九82.42%0.47%74.61%4.09%百分之七十点零五百分之零点一三78.31%0.03%百分之零点一四24.78%百分之一点三八24.48%0.03%17.46%21.53%2336Int8百分比。2337自适应定点训练ACC自适应定点训练PPL float32 ACCfloat32 PPL表1:分类、对象检测和分割。对于所有网络,100%权重和100%激活都量化为int8。0.60.40.210080604020100806040200.00 50000 100000 150000200000迭代0 00 10 20 30 40 50时代(a) 红眼病(b)Transformer图9:机器翻译。5.3. 准确度结果我们提出的自适应定点训练方法使用所有相同的超参数(例如,学习速率、最大训练迭代等)作为原始的Wooat32训练设置。对于所有任务,我们将初始位宽固定为int 8 3,α= 0。04,β= 0。1,δ= 100,γ= 2,T数据= 0。03,QPA中使用模式2。5.3.1计算机视觉我们使用Tensor TensorFlow框架4用Ima-geNet数据集训练了几个卷积神经网络。这些网络包括AlexNet [18]、VGG [28]、Inception BN [29]、ResNet [14]和MobileNetv2 [27]5。我们在两个骨干网络VGG和ResNet101上使用VOC数据集[9],COCO数据集[20]和Imagnet检测数据集(IMG)[25]训练SSD对象检测网络[21]6我们在VOC数据集上训练deeplab [3]7分割网络。对于分类任务,Top1准确度(Acc)用作评估指标。对于目标检测任务,使用平均平均对于分割任务,使用联合上的平均交叉(meanIoU)作为评估度量。如表中所示。1、自适应定点训练生成与Antoat32基线相似的结果。MobileNet-v2的准确性下降与Google工作中的量化结果一致(Acc:70.8)[16]。但使用3附录E示出了自适应较低位宽的结果(即,int 4)对于这些forward-pass。4https://github.com/tensorpack/tensorpack/tree/master/examples/5https://github.com/tensor codeow/models/tree/master/research/slim6https://github.com/weiliu89/caffe/tree/ssd7https://github.com/msracver/Deformable-ConvNets我们的自适应精确定点训练,int8权重可以直接部署,无需进一步量化微调。所提出的QEM和QPA自动改变用于不同层的位宽。在整个训练过程中,不同位宽在量化中所占的百分比如表所示。十八岁对于后向激活梯度,大多数层和网络都需要int16,但对于AlexNet和SSD的某些层,int8就足够了。在训练中使用相同的超参数表明,自适应定点训练具有相同的收敛速度,与Antoat32训练。(More损失曲线见附录F。)5.3.2机器翻译我们使用Adam优化器从头开始训练两个广泛使用的机器翻译模型。 第一个Sockeye [15]是用MXNet [5]9实现的序列到序列RNN模型,并在WMT'17新闻翻译数据集(50k句子对)上训练单词词汇表包含5万个英语和德语条目。第二种是trans-former [32]10,利用自我注意机制。该网络在WMT'16 Multi30k数据集(3.9k句子对)上训练词级准确度和困惑度(PPL)被用作评估指标。红眼睛的训练曲线如图所示9a. 将自适应定点训练与Antoat32基线和int16方法进行比较在自适应定点训练结束时,0.8%的激活梯度层被量化为int 24,10%的层是int 8,其他层是int 16。如图所示9a,int16方法逐渐导致2%的准确度损失,而我们的自适应固定点生成与32基线(61.97%)相同的准确度(62.05%)。这种比较表明,建议的位宽自适应是必要的,8这是模式2的结果,因为模式2产生的结果略好8(b).9https://github.com/awslabs/sockeye10https://github.com/jadore801120/attention-is-all-you-need-pytorch自适应定点训练float32Int16精度精度PPL分类网络float32ACC自适应ACC激活int8梯度Int16AlexNetVGG16Inception BNResNet50ResNet152MobileNet v258.071.073.076.478.871.858.2270.672.876.278.270.522.5%百分之三十一点三百分之四点五百分之零点八百分之一点七百分之零点七百分之七十七点五68.7%百分之九十五点五99.2%百分之九十八点三99.2%SSD检测网络float32地图自适应地图激活梯度int8 int16COCO VGG43.142.431.4%百分之六十八点六2338表2:网络量化方法的比较。方法后向位宽自适应培训精度降解引用(WTGRAD/BPROP)位宽从头CNNRNN[34个]燕麦8,燕麦16没有是的<1%(ResNet50)n/a[22日]中国16没有是的<1%(ResNet50)<1%(翻译)[16个]中国人32没有没有1.5%(ResNet50)n/a[17个]中国人32没有没有<1%(ResNet18)n/a[6]美国中国人32没有是的<1%(ResNet50)n/a[35]第三十五届中国人32是的没有<1%(ResNet18)n/a[39]第三十九届中国人32是的没有<1%(ResNet50)n/a[37]第三十七届中国人32是的是的<1%(ResNet50)n/a[38个]int8,juanoat32没有是的2.9%(AlexNet)n/a[36个]int8没有是的4%(AlexNet)n/a[1]第一章int16,juvenoat32没有是的<1%(ResNet50)n/a[七]《中国日报》Int16没有是的<1%(ResNet50)2%(翻译)自适应定点int8 - 16(CNN)int8 - 24(RNN)是的是的<1%(ResNet50)<1%(翻译)保证了训练精度,降低了计算总位宽。Transformer的训练收敛曲线如图所示9b. 我们报告的 准 确 性 和 PPL验 证 集 。 自 适 应 固 定 点 ( 接 入 :55.54%)略优于燕麦32(Acc:54.13%)。平均2.28%的迭代触发量化参数调整。5.3.3与其他人比较表. 2显示了与其他量化工作的比较。我们用[38,7]中广泛使用的一个简单规则来估计以前方法的速度:Int16/Int 16和Int 8/Int 18操作分别比Int 16/Int 18/Int 16/Int18/Int图10比较了低位宽反向传播量化方法的速度和精度[34,22,38,36,1,7]。它表明,我们的方法显着优于以前的方法的帕累托前沿。在精度方面,我们的方法在所有量化方法中具有最好的精度,并且是唯一在所有网络中具有类似精度的方法;在速度方面,我们的方法比最精确的量化方法[7](其VGG 16精度比我们的低> 2%)至少快21%。表3:AlexNetconv0conv1conv2conv3conv4CPU转发2.033.896.24.444.28CPU向后1.91FC01.71FC11.78FC22.21整体2.07CPU转发4.096.424.413.98CPU向后4.414.972.032.076.训练加速英特尔至强金牌6154支持AXV 2指令集的向量int8/int 16操作。表. 3显示了我们的方法在训练中与Anchoat32相比的加速。具体来说,我们使用100次迭代我们的方法可以实现2.52在CPU上的训练速度是XNUMX 32的两倍。7. 结论和未来工作通过本文提出的新颖训练方案,AI处理器不再需要配备昂贵的浮点硬件单元来支持深度学习训练任务。相反,轻量级的定点硬件单元,它消耗更小的芯片面积和功率,已经足够了。濈濌濁 濃濈濋濁 濃濈濊濁濃濈濈濁濃[22日]AlexNet我们濊濊 濁濃濊濉 濁濈濊濉 濁濃濊濈濁濈濊濇濁濈ResNet50濊濅 濁濃濊濄 濁濃濊濃濁濃VGG16为训练而战。因此,在芯片面积/功率,人工智能处理器的训练性能可以比以前高得多,这绝对是一个好的选择。电动自行车32濈濇濁濃濈濆濁濃濈濅濁濃濈濄濁濃[22日]我们float32[七]《中国日报》[34个]float32我们[七]《中国日报》2339[七]《中国日报》[38个][1]第一章[34个][36个]濊濈濁濃濊濇濁濃濊濆 濁濈濊濆 濁濃濊濅 濁濈濊濅 濁濃濊濄濁濈濉濌濁濃濉濋 濁濃濉濊 濁濃濉濉濁濃濉濈濁濃芯片设计师和用户的新闻。寒武纪最新芯片产品,包括MLU220、MLU270及以上,濄濁濃濅濁濃濆濁濃濇濁濃濄濁濃濄濁濈 濅濁濃濅濁濈濆濁濃濄濁濃濄濁濈 濅濁濃濅濁濈濆濁濃未来的MLU 290,可以有效地支持自适应固定-图10:ImageNet上的准确度(纵轴)和相对于Antoat32(横轴)的估计速度比。.点训练方案。11Xeon Gold 6154只能支持相同位宽的定点数之间的乘法,因此在本实验中,int16×int8被实现为int16× int16。2340引用[1] Ron Banner , Itay Hubara , Elad Hoffer , and DanielSoudry. 8位神经网络训练的可扩展方法。在NeurIPS,第5145-5153页[2] 韩彩和朱。Proxylessnas:在目标任务和硬件上直接进行神经结构搜索。2019年,在ICLR[3] Liang-ChiehChen , GeorgePapandreou , IasonasKokkinos,Kevin Murphy,and Alan L Yuille.Deeplab:使用深度卷积网络、atrous卷积和全连接crfs进行语义TPAMI,40(4):834[4] Shangyu Chen,Wenya Wang,and Sinno Jialin Pan.使用有限的训练数据通过逐层优化进行深度神经网络量化。在AAAI,2019年。[5] 陈天奇,李沐,李宇天。 Mxnet:一个适用于异构分布式系统的灵活有效的机器学习库arXiv:1512.01274,2015年。[6] 崔正旭和王卓。 契约:参数-量化神经网络的量化限幅激活。arXiv:1805.06085,2018。[7] Dipankar Das , Naveen Mellempudi , Mudigere ,Avancha,et al.使用整数运算的卷积神经网络的混合精度训练。在ICLR,2018年。[8] 雅各布·德夫林和张Bert:用于语言理解的深度双向转换器的预训练。在NAACL,第4171-4186页[9] 马克·埃弗林汉姆和卢克·范古尔。pascal visual objectclasses(pascal visual object classes)挑战。IJCV,88(2):303[10] 泽维尔·格洛特和约舒亚·本吉奥了解训练深度前馈神经网络的困难。在AIS-TATS,第249-256页[11] Suyog Gupta、Ankur Agrawal、Kailash Gopalakrishnan和Pritish Narayanan。深度学习,数值精度有限。在ICML,第1737-1746页[12] Song Han,Huizi Mao,and William J Dally.深度压缩:使用修剪、训练量化和霍夫曼编码压缩深度神经网络。ICLR,2016.[13] 何开明,张翔宇。深入研究接收器:在imagenet分类方面超越人类水平的性能。在ICCV,第1026-1034页[14] 何开 明, 张翔 宇。 用于 图像识 别的 深度 残差 学习CVPR,第770-778页,2016年[15] 菲利克斯·希伯和托拜厄斯·多姆汉。Sockeye:A Toolkitfor Neural Machine Translation 。 arXiv : 1712.05690 ,Dec. 2017年。[16] 伯努瓦·雅各布和斯基尔曼塔斯·克利吉斯量化和训练神经网络以实现有效的仅整数算术推理。在CVPR中,第2704-2713页[17] 郑山一和孙昌勇通过优化量化间隔和任务损失来学习量化深度网络在CVPR中,第4350-4359页[18] 亚历克斯·克里热夫斯基、伊利亚·萨茨克弗和杰弗里·E·辛顿。使用深度卷积神经网络进行Imagenet分类。在NeurIPS,第1097-1105页[19] Darryl Lin,Sachin Talathi和Sreekanth Annapureddy。深度卷积网络的定点量化。在ICML,第2849-2858页[20] 林宗义和迈克尔·梅尔。Microsoft coco:上下文中的公共对象参见ECCV,第740Springer,2014.2341[21] 刘伟和德拉戈米尔·安盖洛夫。Ssd:单发多盒探测器。见ICCV,第21-37页。施普林格,2016年。[22] Sharan Narang,Gregory Diamos,Elsen,等.混合精度训练。ICLR,2018年。[23] NVIDIA。 英伟达特斯拉v100 gpu架构。2017年。[24] Andres Rodriguez,Eden Segal,等.较低的数值精度深度学习推理和训练。英特尔白皮书,2018年。[25] Olga Russakovsky,Jia Deng,等. Imagenet大规模视觉识别挑战。IJCV,115(3):211[26] Charbel Sakr和Naresh Shanbhag。反向传播算法的每张量固定点量化。2019年,在ICLR。[27] 陶胜和陈锋。一种适用于移动网络的量化友好的在EMC 2中,第14-18页。IEEE,2018年。[28] Karen Simonyan和Andrew Zisserman用于大规模图像识别的深度卷积网络。arXiv:1409.1556,2014。[29] 克里斯蒂安·塞格迪和文森特·万霍克。重新思考计算机视觉的初始架构。在CVPR,第2818-2826页[30] 斯特凡·乌利希,卢卡
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 京瓷TASKalfa系列维修手册:安全与操作指南
- 小波变换在视频压缩中的应用
- Microsoft OfficeXP详解:WordXP、ExcelXP和PowerPointXP
- 雀巢在线媒介投放策划:门户网站与广告效果分析
- 用友NC-V56供应链功能升级详解(84页)
- 计算机病毒与防御策略探索
- 企业网NAT技术实践:2022年部署互联网出口策略
- 软件测试面试必备:概念、原则与常见问题解析
- 2022年Windows IIS服务器内外网配置详解与Serv-U FTP服务器安装
- 中国联通:企业级ICT转型与创新实践
- C#图形图像编程深入解析:GDI+与多媒体应用
- Xilinx AXI Interconnect v2.1用户指南
- DIY编程电缆全攻略:接口类型与自制指南
- 电脑维护与硬盘数据恢复指南
- 计算机网络技术专业剖析:人才培养与改革
- 量化多因子指数增强策略:微观视角的实证分析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功