没有合适的资源?快使用搜索试试~ 我知道了~
14255NPAS:面向超实时移动加速的统一网络修剪和架构搜索的李正刚1,耿元1,牛伟2,赵普1*,李彦宇1,蔡玉轩1,佘璇1,郑占1,孔正伦1,金庆1,陈志宇3,刘思佳4,杨开元3,任斌2,王延智1,林雪1东北大学,2威廉玛丽学院,3莱斯大学4密歇根州立大学1{李.珍,袁.耿,赵.普,李.延玉,蔡.玉旭,沈.旭,詹.哲,孔.哲,金庆金,yanz.wang,xue.lin}@ northeastern.edu2wniu@email.wm.edu,bren@cs.wm.edu,3{zc37,kyang}@ rice.edu,4liusiji5@msu.edu摘要随着在移动边缘设备上高效部署DNN的需求不断增长,减少不必要的计算并提高执行速度变得更加重要。实现该目标的现有方法,包括模型压缩和网络架构搜索(NAS),在很大程度上是独立执行的,并且没有充分考虑编译器级优化,这是移动加速的必须做的。在这项工作中,我们首先提出了(i)适用于各种DNN层的细粒度结构化修剪的一般类别,以及(ii)支持不同DNN和不同修剪方案的综合编译器自动代码生成框架,其弥合了模型压缩和NAS的我们进一步提出了NPAS,一个编译器感知的统一网络修剪和架构搜索。为了处理大的搜索空间,我们提出了一个基于强化学习的元建模过程,具有快速评估和贝叶斯优化,确保了与代表性NAS框架相当的训练时期总数。我们的框架在现成的移动电话上分别实现了6.7ms,5.9ms和3.9ms的ImageNet推理时间,分 别为78.2% ,75%(MobileNet-V3级别)和71%(MobileNet-V2级别)的Top-1准确率,始终优于先前的工作。1. 介绍移动AI应用的日益普及以及对实时深度神经网络(DNN)执行的需求,为DNN加速带来了重大挑战然而,DNN模型的不断增长的规模导致了密集的计算和存储成本,这阻碍了DNN模型的性能。*这些作者贡献相同。在资源有限的移动设备上部署。DNN权重修剪 [71,21,54, 二十七岁, 28] 已被证明是一种有效的模型压缩技术,可以去除DNN模型的冗余权重,从而同时降低存储和计算成本。现有的工作主要集中在非结构化修剪方案[24,21,46],其中可以去除任意权重,以及(粗粒度)结构化修剪方案[54,85,84,50,82,45]以消除整个滤波器/通道。前者的结果是高精度,但有限的硬件并行性(和加速),而后者则相反。另一个活跃的研究领域是神经架构搜索(NAS)[86],它设计了更有效的DNN架构。使用自动搜索算法。EfficientNet[69]和MobileNetV3 [30]是通过使用NAS方法获得的代表性轻量级网络。最近,硬件感知NAS [68,73,8,33]已经被研究,目标是在实际硬件平台上加速。与先前关于粗粒度修剪和NAS的工作不同,这些工作找到了更小但规则的DNN结构,最近的工作[48,58,16]提出以更细粒度的方式修剪权重,例如,将可能不同的模式分配给内核。由于内核内的灵活性,可以实现更高的准确性,而高硬件并行性(和移动推理加速)可以在编译器级代码生成技术的帮助下实现[58]。这项工作揭示了一个新的优化维度:借助先进的编译器优化,通过在权重修剪中注入适当程度的精细并行性,可以同时实现高精度和高尽管结果令人鼓舞基于模式的修剪[48,58]仅适用于3×3卷积(CONV)层,这限制了适用性。作为第一个贡献,我们提出了一个一般类别的细粒度结构化修剪计划,可以14256应用于各种DNN层,即,对于不同内核大小的CONV层采用块穿孔修剪,对于FC层采用基于块的修剪我们开发了一个基于编译器的自动代码生成框架,以统一的方式支持所提出的修剪方案,支持其他类型的修剪方案,以及不同层的不同方案。我们展示了(i)所提出的细粒度结构化修剪在准确性和移动加速方面的优势,以及(ii)我们的编译器框架在密集(修剪前)和稀疏DNN模型上的卓越端到端加速性能虽然我们的编译器优化提供了显著的移动加速和对各种稀疏方案的支持,但它引入了更大的模型优化空间:不同的内核大小(1×1,3×3等)在编译器优化下,导致不同的加速性能,不同的稀疏方案。因此,期望执行编译器感知的联合网络修剪和架构搜索,确定每个单独层的滤波器类型和大小以及目标是最大化满足目标移动终端上的DNN延迟约束的准确性DNN延迟将在目标移动终端上实际测量,这要归功于我们的编译器的快速自动调整功能,以便在不同的移动设备上进行有效的推理。我们开发了编译器感知的NPAS框架来实现上述目标。它包括三个阶段:(1)替换移动不友好的操作,(2)核心搜索过程,(3)修剪算法搜索。通过以下方面(i) 将整体DNN延迟约束结合到阶段2中的自动搜索中,以及(ii)修剪算法的有效搜索并相应地执行权重训练/修剪。由于第二阶段的搜索空间比以前的NAS工作更大,为了进行有效的搜索,我们提出了一个基于强化学习(RL)的元建模过程,具有快速评估和贝叶斯优化。这将确保培训期的总数与代表性NAS框架相当。我们的主要贡献包括:• 我们提出了适用于各种DNN层的细粒度结构化修剪的一般类别,以及支持不同修剪方案的综合编译器代码生成框架。我们弥合了模型压缩和NAS之间的差距。• 我们开发了一个编译器感知的框架,联合网络修剪和架构搜索,最大限度地提高精度,同时满足推理延迟约束。• 我们设计了一个系统的搜索加速策略,集成了预训练的起点,快速的准确性和延迟评估以及贝叶斯优化。• 我们的NPAS框架实现了迄今为止最好的移动加速:6.7ms,5.9ms和3.9ms ImageNet推断时间分别为78.2%,75%和71% Top-1准确率,在现成的手机上。2. 相关作品2.1. 网络修剪现有的权值剪枝研究可以按照剪枝方案和剪枝算法进行分类。修剪方案:根据修剪方案,先前的权重修剪工作可以分为多个主要组:非结构化修剪[ 24,21,51],粗修剪[24,21,51 ],粗修剪[ 24,21,51],粗修剪[24,21,51]。grained structured pruning[71,29,47,79,46,26,81,39,[17]和基于模式的修剪[48,58,49]。非结构化修剪(图1(a)和(b))删除任意位置的权重。虽然它可以显着减少DNN模型中的权重数量作为一种细粒度的修剪方案,所产生的稀疏和不规则的权重矩阵的索引损害并行实现,并导致有限的硬件加速。为了克服非结构化,不规则权重修剪的限制,许多工作[71,29,46,26,81,39,17,47,79,44]研究了在过滤器和通道级别的粗粒度结构化修剪,如图1(c)和(d)所示。在删除滤波器或通道的情况下,修剪后的模型仍然保持了高规则性的网络结构,可以在硬件上并行化。粗粒度结构化剪枝的缺点是通过移除整个滤波器/通道而明显降低精度,这限制了模型压缩率。图图1(e)示出了作为代表性细粒度结构化修剪方案的基于模式的修剪[48,58,49]它为每个CONV内核分配一个模式(来自预定义的库)如图所示,每个内核保留4个非零权重(在模式上)从原始的3×3内核中提取。除了被分配了一个模式之外,内核可以完全以实现更高的压缩率。基于模式的修剪可以同时实现高精度(由于结构的灵活性)和高推理加速与基于编译器的可执行代码生成的帮助。请注意,编译器支持[58]对于基于模式的修剪是必要的,以实现其对移动加速的承诺一个局限性是,基于模式的修剪仅限于3×3的CONV层在目前的工作:5×5或更大的内核大小导致大量的模式类型,这在编译器生成的可执行代码中引起显着的计算开销。1×1CONV层和FC层没有为内核设计不同模式的空间。修剪 算法:存在两个主要类别:启发式修剪算法[23,21,17,47,79]和基于正则化的修剪算法[80,71,46,29,26,14257CONV层FC层4-D权重张量格式二维权重矩阵格式二维权重矩阵格式第一章第二章ch nFLT1FLT 2修剪重量FLT1FLT2ch 1ch 2ch n输入非结构剪枝FLTM输出(一)FLT M(b)第(1)款滤波器修剪粗粒度结构化剪枝通道修剪基于模式FLT 1FLT 2ch 1ch 2ch n(c)第(1)款FLT1flt 2flt mFLT1FLT2FLTMFLT 1CH 1 CH 2 CH NCH 1 CH 2 CH NCH 1 CH 2 CH N输出输出输入(d)其他事项行修剪柱修剪修剪(仅适用于3x3CONV层)FLTM(五)flt 2flt m不支持块穿孔修剪FLT 1(建议)flt 2FLT 3FLT 4ch 1ch 2ch(n-1)ch n块ch 1FLT 1FLT 2FLT 3FLT 4块ch 2 ch(n-1)ch n基于块的修剪(建议)(f)(g)图1.使用4D张量和2D矩阵表示的CONV和FC层的不同权重修剪方案81、39、28]。启发式剪枝首先以迭代的、基于幅度的方式对非结构化剪枝进行[23],并在以后的工作中得到改进[21]。 启发式修剪也被纳入粗粒度结构化修剪[47,79,17]。基于正则化的算法采用面向数学的方法处理剪枝问题。早期的工作[71,29]在损失函数中引入了101或102后来的工作[26]使正则化惩罚“更软”,这允许在训练过程中更新修剪的过滤器。在[81,39]中,利用先进的优化解决方案框架ADMM(交替方向乘法)来实现动态正则化惩罚,从而显着降低精度损失。在[28]中,提出了几何中值来进行滤波器修剪。2.2. 神经结构搜索(NAS)一般来说,NAS可以根据其搜索策略分为以下几类强化学习(RL)方法[86,83,87,3,41,7,59]采用递归神经网络(RNN)作为预测器,参数通过验证子网络的准确性进行更新。代理数据集。进化方法[62,18,61,53,74,42,74]开发了父初始化,种群更新,后代生成和消除的管道。One-shot NAS [6,4,78,22,12]训练包含所有操作的大型One-shot模型,并将权重参数共享给所有候选模型。基于梯度的方法[43,8,10,76,73,13,19]提出了一种不同于先前离散搜索的可微分贝叶斯优化[5,15,52,34,63,72]使用最优传输程序来计算网络架构的距离。最近的一些工作认识到硬件协同设计的重要性,并将推理延迟纳入NAS,这比直观的体积估计(如乘法累加运算(MAC))更准确MnasNet [68]利用移动终端上的延迟作为执行RL搜索的回报,其中基于梯度的NAS工作FBNet [73]和ProxylessNAS [8]将延迟项添加到损失函数。然而,这些以硬件为目标的工作都没有充分利用编译器优化的潜力或满足总体延迟要求,更不用说考虑编译器支持的稀疏模型了。这促使我们研究模型优化的另一个维度,即编译器感知的、延迟约束的、架构和修剪的共同搜索。2.3. 移动设备上的DNN框架最近,基于移动的、编译器辅助的DNN执行框架[37,38,75,32,77,25]引起了工业界和学术界的广泛关注。TensorFlow-Lite(TFLite)[1],阿里巴巴移动神经网络(MNN)[2]和TVM [9]是代表性的最先进的DNN推理框架。各种优化技术,如不同的计算图优化和半浮点支持,已被用来加速14258移动设备上的DNN推理(移动CPU和GPU)。PatDNN [58]和PCONV [48]最近的工作一组基于编译器的优化,以支持特定的基于模式的稀疏DNN模型,从而加速移动设备上的端到端推理。 但缺乏支持不同类型的层(例如,1×1CONV、5×5 CONV和FC)限制了这种框架的通用性3. 提出的细粒度结构化剪枝如第2.1节所述,基于模式的修剪方案[48,58,49]揭示了细粒度结构化修剪的新优化维度,可以在编译器优化的帮助下同时实现高精度和高推理加速作为基于模式的双关语,ing只适用于3×3的CONV层,我们提出了一种一般的细粒度结构化剪枝方法这是一种可以应用于各种DNN层的方案:FC层的基于块的修剪和具有不同内核大小的CONV层的块穿孔修剪基于块的修剪:图1(g)示出了用于FC层的2D权重矩阵格式的基于块的修剪方案。将整个权重矩阵划分为多个大小相等的块,然后将整个列和/或行在每个块内修剪权重。 与粗粒度结构化剪枝相比,基于块的剪枝提供了更细的剪枝粒度,以更好地保持DNN模型的准确性。在选择适当的块大小的情况下,块内剩余的计算仍然可以在移动终端上借助编译器并行化。因此,基于块的剪枝可以在相同的总体剪枝率下实现与粗粒度结构化剪枝相当的硬件(推理)性能。块穿孔修剪:CONV层更喜欢基于张量的计算,而不是用于FC层的基于矩阵的计算受基于块的Prun的启发ing,我们开发了针对CONV层的块穿孔修剪方案如图1(f)所示,块穿孔修剪需要在块内的所有滤波器和所有通道的相同位置处修剪一组权重,以从存储器和计算角度利用硬件并行性。通过有效的编译器级可执行代码生成,还可以实现高硬件并行性(以及移动设备上的推理加速)。剪枝器优化:我们开发了一个基于编译器的自动代码生成框架,以统一的方式支持所提出的它还支持其他修剪方案,例如非结构化、粗粒度、基于模式的修剪。实际上,非结构化和粗粒度结构化剪枝方案只是块穿孔剪枝的特殊情况,前者的块大小为1×1,后者的块大小为整个权张量/矩阵。提出了一种新的层融合技术,该技术是高效实现超深度网络的关键。快速的自动调整功能被纳入不同的移动CPU/GPU上的高效7776757473727110 15 20 25 30 35延迟(ms)图2.使用ResNet-50在统一的6倍修剪率下在Ima-geNet上使用不同块大小的准确度与延迟样本结果和块大小确定:图2显示了准确度与在ResNet-50上应用块穿孔修剪时的延迟块大小。统一的修剪率(即,6×)和块大小。 在相同的剪枝率下,非结构化剪枝(即,1×1块大小)保持了最高的精度,但在la中的性能最差。tency.相反,粗粒度结构化修剪(即,作为块的整个权重矩阵)实现了最低的等待时间,但是具有严重的准确性降级。块穿孔剪枝的结果同时显示了高精度和高推理速度(低延迟)。原因是最大硬件并行性受到计算资源的限制。因此,即使当将权重划分成块时,每个块一个合理的块大小确定策略是让每个块中包含的通道的数量与向量寄存器的长度匹配(例如,4)在目标移动CPU/GPU上保证高并行性。然后确定要包含的过滤器的数量8)根据给定的设计目标。4. 企业感知的统一优化框架我们的编译器优化提供了不同过滤器类型的显着一个关键的观察是,不同的过滤器类型和稀疏方案在编译器优化下具有不同的加速性能(当计算(MAC)相同时)。以下是在三星Galaxy S10手机的移动CPU(Qualcomm Kryo 485)上测量的。不同的过滤器类型(内核大小):图3(a)示出了具 有 不 同 内 核 大 小 的 CONV 层 的 延 迟 与 计 算(MAC)。我们将输入特征映射固定为56×56,并更改过滤器的数量。根据同一计算,3×3内核实现最佳性能,其中1×1内核是第二个。因为3×3的内核非结构化8x48x816x432x4前1位准确度(%)142591x1 3x35x5 1--3--1加速(倍)Winograd算法可以加速GEMM算法,使其成为最友好的编译器,而1×1内核在GEMM计算中没有输入冗余,也减轻了编译器优化的负担。不同的修剪方案:图3(b)显示了具有不同修剪方案的3×3 CONV层的计算加速比与修剪率。我们选择56×56的输入特征图大小和256个输入和输出通道。我们可以观察到,通过编译器优化,细粒度修剪方案(即,基于模式和块穿孔的修剪)一致地优于非结构化修剪,并且与低于5倍修剪的粗粒度结构化修剪相比,实现了相当的加速。在合理的细颗粒结构修剪率下,尽管采用了修剪方案,但每层中的剩余权重仍然足以充分利用硬件并行性。层数的影响:计算层数是影响推理延迟的另一个关键因素为了展示这种影响,我们通过将层的数量增加一倍来制作一个更更窄但更深版本的推理速度比使用原始版本慢1.22倍移动GPU(44 ms vs. 36 ms)。主要原因是,更大数量的层引入更多的中间结果,并因此引入对主存储器的更频繁的数据访问。而且由于大量的内存密集型层,移动CPU/GPU无法得到充分利用。基于上述观察,期望执行编译器感知的网络修剪和架构搜索,确定过滤器类型和大小,以及每个单独层的其目标是最大限度地提高DNN的准确性,满足推理延迟约束时,实际上在目标移动设备上执行,考虑编译器优化。5. 提出了一种统一的网络剪枝和结构搜索(NPAS)算法5.1. NPAS框架图4显示了拟议的NPAS框架。为了利用最近的NAS结果并加速NPAS流程,我们从预训练的DNN模型开始,然后预训练DNN模型第1阶段:移动不友好操作更换NPAs剂候选NPAS计划每层过滤器类型逐层剪枝方案带有替换操作的DNN模型感知延迟奖励每层修剪率第二阶段:不良资产评估计划搜准确度奖励并行部署快速再培训期望编译器NPAS方案生成代码优化的代码生成快速评价阶段3:剪枝算法搜索最终DNN模型图4.拟议的NPAS框架概览通过如图所示的三个阶段。阶段1:替换移动不友好的操作:某些操作在移动设备(移动CPU和GPU)上执行效率低下。例如,某些激活函数(如sigmoid、swish)需要指数计算,并且可能成为移动推理的延迟瓶颈这些不友好的操作将被编译器友好的替代方案所取代,如硬sigmoid和硬swish,对准确性的影响可以忽略不计。阶段2:NPAS方案搜索:该阶段生成并评估候选NPAS方案,通过收集每层过滤器类型、每层修剪方案和比率来定义 按照-由于正在搜索层修剪方案和速率,阶段2表现出比现有NAS大得多的搜索空间,这使得代表性的NAS算法(如基于RL的算法)无效。为了加速这种搜索,我们提出了一个基于RL和贝叶斯优化(BO)的Meta建模过程,详细信息见第5.2节。针对不良资产评估框架,提出了一种快速准确的评估方法此外,我们将整体DNN延迟约束有效地结合在NPAS方案搜索的奖励函数中,确保在搜索结果中可以满足这样的约束。总体DNN延迟实际上基于当前正在评估的候选NPAS方案在目标移动CPU/GPU上我们依赖于实际测量,而不是每层延迟建模,407356305252015310251000 50 100 150 200 13 5 7 9许多以前的NAS工作。这是因为我们的高级编译器优化包含了超越先前编译器工作的强大层融合,这对于高效实现超深网络至关重要,并且将使每层延迟建模不那么准确。阶段3:剪枝算法搜索:上一个计算(MMAC)(一)Conv3x3修剪率(次)(b)第(1)款阶段已经确定了每层修剪方案图3. (a)延迟与不同过滤器类型的计算,(b)不同剪枝方案的加速比与剪枝率。和速率,使得编译器生成的代码可以满足总的等待时间约束。剩下的任务是非结构结构化图案块穿孔延迟(ms)414260该阶段是搜索最期望的修剪a1-m以执行实际修剪并训练剩余权重1。由于已经确定了每层修剪率,因此要选择的候选修剪算法仅限于具有预定义每层修剪率的算法,包括基于幅度的算法[23,20],基于ADMM的算法[81,39]等。作为对先前工作的扩展,我们在组Lasso正则化的帮助下将这些算法推广到实现不同的稀疏方案[35,71]。在第3阶段,我们比较了几个时期内候选修剪算法的DNN准确性,选择准确性最高的算法,并继续执行尽力而为的算法以获得最终的DNN模型和编译代码。5.2. 第二阶段:不良贷款计划详情搜寻5.2.1第二表1.每个DNN层的NPAS搜索空间过滤器{1×1,3×3,3×3 DW&1×1,类型1×13×3DW1×1,跳过}1修剪{过滤器[85],基于模式[58],方案块穿孔/基于块}修枝率{1×,2×,2.5×,3×,5×,7×,10×}1表示级联连接。每层过滤器类型:由于不同的过滤器类型(内核大小)在编译器优化下具有不同的加速性能,因此NPAS搜索空间包括将原始过滤器类型替换为1×1、3×3、3×3级联深度方向(DW)和1×1卷积,1×1以及3×3DW和1×1卷积,或者直接跳过整个层。前两个是最可取的编译器优化(请参考第4节),并且级联连接在先前的工作中显示[31,64],以提供相同的精度和更少的计算。每层修剪方案:NPAS代理可以从过滤器(通道)修剪[85],基于模式的修剪[58]和每个层的块穿孔/基于修剪中选择。由于不同的层可能具有不同的兼容性,修剪方案,我们允许NPAS灵活地为不同的层选择不同的修剪方案。我们的编译器代码生成很好地支持了这一点。每层修剪率:我们可以从列表{1×,2×,2. 5×、3×、5×、7×、10×}(1×表示不修剪)。5.2.2Q-Learning培训程序由于在NPAS方案搜索中集成了每层剪枝方案和速率为了保证快速搜索,我们采用RL算法Q学习作为基础技术,并辅以快速搜索算法。1上述过程不能通过阶段2中的快速准确度评估来完成,因为我们需要限制训练时期的数量。评估(第5.2.3节)和贝叶斯优化(BO)(第5.2.4节)以加快搜索速度。Q学习算法由一个NPAS代理、状态和一组动作组成对于给定DNN中的第i层的状态,其被定义为过滤器类型、修剪方案和修剪速率的元组,即,{过滤器类型i,修剪方案i,修剪率i},并且每个都可以从相应的搜索中选择空间我们在状态空间中增加了层深度来压缩动作空间,使得状态-动作图是有向无环的(DAG)。对于动作空间,我们允许层深度为i的状态转换为层深度为i+1的状态,确保图中没有循环。此约束确保状态-操作图始终是DAG。当层深度达到最大层深度时,过渡终止。基于上述定义的状态s∈S和动作a∈A,我们采用Q学习过程[70]来更新Q值。我们指定最终和中间奖励如下:RTrT=V−α·max(0,h−H),rt=,(1)不其中V是模型的验证准确度,h是模型推断速度或延迟(在移动终端上实际测量),并且H是延迟要求的阈值。一般来说,当模型满足实时性要求(h H)且具有较高的评估精度时,rT较高。否则,最终的回报很小,特别是当延迟要求被违反时。对于中间回报rt,由于无法明确测量,通常通过将其设置为零[3]而忽略,如上所示采用回报整形[57设置rt=0可以使sT的Q值在训练的早期比其他的大得多,导致搜索代理的早期停止。我们采用贪婪策略[55]来选择动作。此外,由于探索空间很大,为了更快地收敛,采用了经验重放技术[40]。5.2.3快速评估方法我们开发并采用多种量身定制的加速策略,以便于在NPAS方案搜索中进行快速评估单向过滤器类型替换:NPAS方案搜索需要满足预定义的DNN延迟约束。因此,我们遵循不增加核大小的原则来搜索每层过滤器类型,这可以有效地减少搜索空间。例如,我们将不再在原始模型中搜索1×1层的过滤器类型。过滤器类型候选项的权重计算:每层中过滤器类型候选算子的权重可以在NPAS方案搜索(阶段2)之前使用重建误差非常快速地进行预训练,这可以使它们的行为类似于原始操作。因此,准确度评估过程可以显著加快。14261i=1i=1i=1MmWL快速准确性评估的一次性修剪和早期停止:在准确性评估过程中,我们遵循候选NPAS方案中的修剪方案和比率(针对特定层),并基于权重大小进行一次性这种简单的修剪将导致精度下降。算法1具有贝叶斯预测器的Q学习算法输入:观察数据D、BO批量大小B、BO采集函数α(·)输出:最佳NPAS方案对于步骤,生成候选NPAS方案池Sc;但经过几个时代的再训练,它可以区分选择{s}B= argmaxs∈Scα(s| D);i B i B不同不良资产证券化方案的相对准确性重叠编译器优化和准确性评估:我们使用编译器代码生成和实际的设备上延迟测量,因为(i)由于层融合机制,比每层延迟建模具有更高的准确性,以及(ii)编译器针对不同移动设备的快速自动调整能力请注意,编译器代码生成和延迟测量不需要绝对权重值。更快的代码生成比DNN训练快得多(即使是单个epoch),并且可以与准确性评估并行执行(因为不需要准确的权重值)。因此,它不会对NPAS产生额外的时间消耗。5.2.4用于约简评估的贝叶斯预测器由于对大量样本NPAS方案进行评估非常耗时,因此我们使用BO [67,36,11]构建了一个预测器。NPAS代理生成一个NPAS方案池。我们首先使用BO从池中选择少量具有潜在高回报的NPAS方案。然后对所选择的NPAS方案进行评估,以获得更准确的奖励。我们减少了对可能表现不佳的不良资产评估方案的评估,从而减少了整体方案评估工作。我们构建了一个结合高斯过程(GP)和Weisfeiler-Lehman子树(WL)图形内核的预测器[56,66],以处理类似图形的NPAS方案。WL核在迭代中比较两个有向图。在第m次WL迭代中,它首先获得图fea的直方图,图φm(s)和φm(s′). 然后比较对该方案进行了评价,得到了{s∈}i=1的r ∈{r}i=1;基于Q学习的Q值更新;D ←D({si}B,{ri}B);用D更新BO的GP;端具有0.9的动量率和0.0005的重量衰减,并使用每个节点2048的批量大小。初始学习速率设置为0.001,如果我们的论文中没有指定,则使用余弦学习速率调度器。对于第1阶段,我们在替换移动不友好操作后进行了5个训练时期的快速微调(整个NPAS过程仅一次)。在第二阶段,40个Nvidia Titan RTX GPU用于同时对候选NPAS方案进行快速准确性评估。由于我们从一个训练良好的模型开始,我们为每个候选的一次性修剪模型重新训练2个epoch,以进行快速评估。对于每个候选模型,我们在目标移动设备上测量100次推理,并使用平均值作为端到端延迟。在第3阶段,我们搜索最理想的修剪算法,包括基于幅度的算法,基于ADMM的算法[81,39]和基于几何中值的算法[28](仅用于过滤器修剪)。我们采用100个epoch进行权重修剪,100个epoch用于剩余权重的微调和知识蒸馏[65]。总体GPU天数根据预训练的网络而有所不同,并且由 于 我 们 的 快 速 评 估 和 BO 而 减 少 。 例 如 , 使 用EfficientNet-B 0作为起点,总搜索时间为15天,其中阶段1仅需要5个epoch,阶段3需要1.5天。两个带k的基地. φ(s),φ(s′)其中k基是一基本内核,我们在这里使用点积。 迭代过程停止,直到m=M,并且得到的WL内核是6.2.评价结果图5和6,我们比较了我们的准确性和延迟,M(s,s′)=CIMMm=0wmk基.′Σφm( s),φm( s).(二)使用代表性DNN推理加速框架MNN、PyTorch Mobile和TFLite得出的结果四个密集DNN其中wm包含每个WL迭代m的权重,对于[66]之后的所有m,该权重被设置为相等预期改进[60]被用作工作中的获取函数。算法1提供了总结。6. 结果和评价6.1. 实验装置在本节中,我们使用图像分类任务和ImageNet数据集[14]来展示我们框架的有效性。所有训练过程都使用SGD优化器模型用于比较,这是移动网络-V3,EfficientNet-B 0,将EfficientNet-B 0的版本缩减为70%原始计算和50%原始计算。结果在使用移动CPU( Qualcomm Kryo 485 ) 或 移 动 GPU ( QualcommAdreno 640)的三星Galaxy S10智能手机上进行了测试PyTorch Mobile不支持移动GPU,所以没有相应的结果。EfficientNet-B 0被用作我们的预训练模型。首先,在不包含NPAS的情况下,可以观察到我们的编译器优化可以有效地加速相同的DNN推理,高达46%和141%(在MobileNet上)。K14262(MACs= 385个月)(6.7,78.2)(13.7(见第77.1段)(MACs= 201M)(5.9,(15.0(见第77.1段)(16.0(见第75.2段)(MAC = 147百万)(12.9,71.5)(3.9(见第70.9段)(7.4、71.5)(12.1、71.5)(MAC = 99百万)(3.3,(6.1,68.1)(9.6、68.1)(11.2、68.1)MobileNet-V3:MNNTF-Lite我们的高效过滤器Net-B0:MNNTF-Lite我们的制造商EfficientNet-B 0(x0.7):MNNTF-Lite我们的制造商EfficientNet-B 0(x0.5):MNNTF-Lite表2.NPAS和代表性轻量级网络的比较结果A. / P. 搜索ParamsCONV MAC准确度(顶部-1/5)延迟(CPU/GPU)装置[31]第三十一话N./ N.4.2M575M70.6/89.5- /--[64]第六十四话N./ N.3.4M300M72.0/91.0- /--[30]第三十话Y./ N.5.4M227M75.2/92.2- /--[87]第八十七话Y./ N.5.3M564M74.0/91.3183 ms/NA谷歌像素1AmoebaNet-A [62]Y./ N.5.1M555M74.5/92.0190 ms/NA谷歌像素1[第68话]Y./ N.3.9M312M75.2/92.578 ms/NA谷歌像素1ProxylessNas-R [8]Y./ N.NANA74.6/92.278 ms/NA谷歌像素1NPAS(我们的)Y./ N.5.3M385M78.2/93.911.8ms /6.7msGalaxy S10NPAS(我们的)Y./ Y.3.5M201M75.0/92.09.8ms /5.9msGalaxy S10NPAS(我们的)Y./ Y.3.0M147M70.9/90.56.9ms /3.9msGalaxy S10NPAS(我们的)Y./ Y.2.8M98M68.3/89.45.6ms /3.3msGalaxy S10V3),分别与移动CPU和GPU上目前最好的框架MNN进行比较。图中的红星形状表示在不同延迟约束下的NPAS生成的结果。我们的NPAS结果明显优于代表性的DNN模型,并在准确性和推理延迟方面达到了帕累托最优。对于已经满足延迟约束的初始模型,我们替换移动不友好的操作并保持原始架构。在MobileNet-V3级别的准确度(75% Top-1)下,我们的推理时间(201 M MAC)分别为9.8ms和5.9ms在MobileNet-V2级精度(71% Top-1)下,NPAS解决方案(147 MMAC)的推理时间分别为6.9ms和3.9ms。据我们所知,这是从来没有完成任何现有的NAS或重量修剪工作。表2显示了模型的详细信息,其中有代表性的手工制作和硬件感知NAS模型作为参考。由于联合网络修剪和搜索,与先前的参考相比,可以观察到计算(MAC)减少,在相同的精度下。人们还可以观察到与这些先前的工作相比延迟的巨大差距,因为编译器优化和编译器感知优化都没有考虑在内。这个差距是我们认为编译器优化和感知将对DNN加速做出重大贡献的原因。80797877767574737271706968图5.移动CPU上的准确性与延迟比较。80797877767574737271706968345678910111213141516171819移动GPU延迟(毫秒)图6.移动GPU上的准确性与延迟比较。7. 结论在这项工作中,我们提出了(i)适用于各种DNN层的细粒度结构化修剪,以及(ii)支持不同DNN和不同修剪方案的编译器自动代码生成框架,其弥合了模型压缩和NAS的差距我们进一步提出了NPAS,一个编译器感知的统一网络修剪和架构搜索,并使用了几种技术来加速搜索过程。8. 确认本研究部分由美国国家科学基金会CCF-1901378、CCF-1919117和CCF- 1937500、陆军研究办公室/陆军研究实验室通过向东北大学拨款W 911 NF-20-1-0167(YIP)、半导体研究公司(SRC)拨款和JeffressTrust跨学科研究奖拨款资助。本材料中的任何观点、发现和结论或建议均为作者的观点,不一定反映NSF、ARO、SRC或Thomas F.和凯特·米勒·杰弗瑞斯备忘录信托基金(MACs= 385个月)(11.8,78.2)(20.0、77.1)(22.3、77.1)(MACs= 201M)(9.8,(16.0、75.2)(22.0、(12.3、75.2)(MACs= 1.47亿)(14.1、71.5)(6.9(见第70.9段)(11.9、71.5)(15.4、71.5)(MAC = 99百万)(11.9,68.1)(5.6,68.3)(8.4,68.1)(12.3、68.1)(14.2(见第68.1段)MobileNet-V3:MNNPyTorchTF-Lite我们的高效过滤器Net-B0:MNNPyTorchTF-Lite我们的制造商EfficientNet-B 0(x0.7):MNNPyTorchTF-Lite我们的制造商EfficientNet-B 0(x0.5):4681012 1416 182022 24 26 28 30移动CPU延迟(毫秒)NPAS(我前1位准确度(%)前1位准确度(%)14263引用[1] https://w ww.tensorflo w.or g/mobile/tflite/.3[2] https://github.com/alibaba/MNN. 3[3] Bowen Baker,Otkrist Gupta,Nikhil Naik,and RameshRaskar.使用再学习设计神经网络架构。2017年,在国际学术会议(ICLR)上第三、六条[4] Gabriel Bender,Pieter-Jan Kindermans,Barret Zoph,Vijay Vasudevan,and Quoc Le.理解和简化一次性架构搜索。在国际机器学习会议上,第550-559页3[5] James Bergstra,Daniel Yellow,and David Cox. Makinga science of model search:Hyperparameter optimizationin hundreds of dimensions for vision architectures. 国际机器学习会议,第115-123页,2013年。3[6] 安德鲁·布洛克,西奥多·林,詹姆斯·M·里奇和尼克·韦斯顿。通过超网络的一次性模型架构搜索arXiv预印本arXiv:1708.05344,2017。3[7] Han Cai,Tianyao Chen,Weinan Zhang,Yong Yu,andJun Wang.通过网络变换进行有效的体系结构搜索。arXiv预印本arXiv:1707.04873,2017。3[8] 韩彩,朱力耕,宋涵。Proxylessnas:在目标任务和硬件 上 直 接 搜 索 神 经 架 构 arXiv 预 印 本 arXiv :1812.00332,2018。一,三,八[9] Tianqi Chen,Thierry Moreau,Jiang,Lianmin Zheng,Eddie Yan , Haichen Shen , Meghan Cowan , LeyuanWang , Yuwei Hu , Luis Ceze , Carlos Guestrin , andArvind Krishna- murthy.Tvm:一个用于深度学习的自动化端到端优化在第13届USENIX操作系统设计和实施研讨会(OSDI 18),第578-594页,2018年。3[10] 辰昕、邪灵犀、君无邪、齐天。渐进式飞镖:弥合NAS在野外的优化差距。国际计算机视觉杂志,第1-18页,2020年。3[11] Yutian Chen , Aja Huang , Ziyu Wang , IoannisAntonoglou , Julian Schrittwieser , David Silver , andNando de Freitas. Bayesian optimization in Algorithm.arXiv预印本arXiv:1812.06855,2018。7
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- 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
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功