没有合适的资源?快使用搜索试试~ 我知道了~
GPU运行时分析的自动CNN通道修剪以提高推理效率
BenchCouncil交易基准,标准和评估1(2021)100009具有GPU运行时分析的延迟感知自动CNN通道修剪刘嘉强,孙经纬,徐中天,孙广忠中国科学技术大学计算机科学与技术学院,合肥,中国A R T I C L E I N F O保留字:GPU运行时分析推断延迟通道修剪卷积神经网络A B S T R A C T卷积神经网络(CNN)的巨大存储和计算成本使其具有挑战性,满足许多应用中的实时推理要求。现有的通道修剪方法主要集中在基于经验法则设计的CNN模型中去除不重要的通道,使用减少的浮点运算(FLOP)和参数数量来衡量修剪质量。修剪模型的推理延迟往往被忽视。在本文中,我们提出了一种延迟感知的自动CNN通道修剪方法(LACP),其目的是自动搜索低延迟和精确修剪的网络结构。我们评估了用FLOPs和参数数量来衡量剪枝质量的不准确性,并使用模型推理延迟作为直接优化度量。为了连接模型修剪和推理加速,我们分析了GPU上卷积层的推理延迟。结果表明,由于GPU尾部效应,卷积层的推理延迟随着通道数的增加而呈现阶梯状。基于基于这种观察,我们大大缩小了网络结构的搜索空间。然后,我们应用一个进化的过程来搜索一个计算效率高的修剪网络结构,这减少了推理延迟,并保持模型的准确性。在三个图像分类数据集上的实验和与最先进方法的比较表明,我们的方法可以实现更好的推理加速,精度损失较小1. 介绍卷积神经网络(CNN)已经在各种任务中展示了最先进的成就,例如图像分类[1],对象检测[2]和图像分割[3]。 这样的成功是建立在大量的模型参数和卷积运算之上的。因此,巨大的存储和计算成本使得这些模型难以部署在资源受限的设备上,例如手机和机器人一样。为了解决这个问题,一个常见的方法是 使用模型压缩技术,包括量化[4],蒸馏[5]和修剪[6其中,神经网络剪枝被认为是压缩CNN最有效的工具之一。神经网络剪枝方法旨在去除稠密模型中的冗余权重。根据剪枝的粒度,这些方法可以分为权重剪枝和信道剪枝。在权重修剪中,各个权重被归零,留下一组稀疏的权重张量。权重修剪可以显着减少模型大小,但它也会引入不规则的内存访问,导致通用硬件(例如CPU,GPU)的加速非常有限,甚至是负加速[10]。与权重剪枝不同,通道剪枝方法删除整个通道以压缩模型。由于通道修剪仅改变权重张量的维度,因此修剪后的模型仍然采用密集格式,这非常适合于∗ 通讯作者。通用硬件和现成的库。因此,通道修剪比权重修剪能更好地加速推理性能。由于信道修剪方法在模型压缩方面具有良好的性能,因此信道修剪方 法 得 到 了 广 泛 的 研 究 。 现 有 的 方 法 默 认 使 用 减 少 的 浮 点 运 算(FLOPs)和参数数来衡量修剪质量。然而,神经网络的推理延迟受到许多因素的影响,如网络结构、算子实现和硬件性能。因此,使用FLOPs或者作为推断等待时间的代理的参数的数量不足,并且可能导致算法得到次优结果。例如,图1示出了VGG16网络的FLOP、模型大小和推理延迟之间的关系。我们随机修剪卷积层中的通道,然后测量修剪后模型的FLOP、参数数量和推理延迟。结果表明,FLOP或参数减少不一定会导致延迟减少。例如,修剪后的模型A具有比模型B更小的FLOP,但显示出更大的推理延迟。模型C和模型D也是一样,模型C越小,推理潜伏期越长。这种观察促使我们研究延迟感知的信道修剪方法,而不是只关注FLOP或参数数。电子邮件地址:jqliu42@mail.ustc.edu.cn(J.Liu),sunjw@ustc.edu.cn(J.Sun),xuzt@mail.ustc.edu.cn(Z.Xu),gzsun@ustc.edu.cn(G.Sun)。https://doi.org/10.1016/j.tbench.2021.100009接收日期:2021年8月6日;接收日期:2021年10月11日;接受日期:2021年10月20日2021年11月3日网上发售2772-4859/©2022作者。Elsevier B. V.代表KeAi Communications Co. Ltd.提供的出版服务。这是CC BY-NC-ND许可证下的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。可在ScienceDirect标准和评价期刊主页:https://www.keaipublishing.com/en/journals/benchcouncil-transactions-on-benchmarks-standards-and-evaluations/BenchCouncil交易基准,J. 刘,J.太阳,Z.Xu等人BenchCouncil交易基准,标准和评估1(2021)1000092[客户端]������其中,表示第七卷积层中的信道号���He等人[8]将信道修剪公式化为优化问题,图1.一、FLOP 、参 数 数量和修 剪 模 型 的 推理延迟之 间 的 关 系 。这项工作的另一个动机是,传统的渠道prun- ing方法至关重要地依赖于人类的专业知识和手工制作的设计,并专注于选择不重要的渠道。Li等人[9]以 1-范数作为重要性准则来确定哪些通道将被修剪。Luo等人[11]使用第(n+ 1)层的输入来指导第n层的修剪。 Lin等人。[12]对具有高等级特征图的通道进行排名,然后修剪最不重要的通道。然而,Liu等人。[13]发现修剪后的网络可以达到相同的精度,无论它是否继承了原始网络中的权重。这一研究启示我们,渠道修剪的本质在于在每一层中找到最佳的通道数,而不是根据经验法则设计选择不重要的通道。遵循这一思想,Lin等人。[14]使用人工蜂群算法搜索最佳修剪网络结构。然而,与许多传统的通道修剪方法一样,Lin等人。[14]使用减少的FLOP和参数数量来衡量修剪质量,修剪模型的延迟加速不能得到保证。在本文中,我们提出了一种延迟感知的自动通道修剪(LACP)方法。与传统的方法不同,我们以自动的方式进行通道修剪。我们的方法旨在搜索最佳的修剪网络结构,即,卷积层中的通道数寻找最优网络结构的一个直观挑战是,穷尽搜索修剪网络结构的所有可能组合是不切实际的。为了使算法可行,有效的收缩搜索空间是必要的。我们首先分析了GPU上修剪卷积层的推理延迟。结果表明,卷积层的推理延迟随通道数的增加呈现阶梯状, 卷积层以一定的信道号间隔突然改变。基于这一观察,我们大大缩小了修剪结构的搜索空间。然后,我们应用一个进化的过程,有效地搜索低延迟和准确的网络结构。对于每个候选结构,我们将其编码为向量=1,2,3,������本文的其余部分组织如下。第二节回顾了相关的工作。第3节详细介绍了所提出的延迟感知自动信道修剪方法。第4节,给出实验结果及分析。最后,在第五部分对全文进行了总结.2. 相关工作深度神经网络通常是过度参数化的[15,16],导致巨大的存储和计算成本。有大量的研究表明 压缩和加速神经网络。我们将目前的相关研究工作分为两大类:网络修剪方法和神经结构搜索(NAS)方法。剪枝方法通过从原始网络中删除不重要的权值来减少存储和计算成本。现有的剪枝算法可以分为权重剪枝和通道剪枝。在权重修剪中,各个权重被归零。LeCun et al.[6] 介绍了以二阶导数作为网络剪枝准则的早期工作Han等人。[7]首先提出迭代修剪,将单个权重修剪到单调增加的阈值以下。Guo等人[17]和Mocanu等人[18]指出,一些以前不重要的权重可能在以后变得重要。受此想法的启发,LIU等人。[19]提出了一种基于可训练掩码的方法,以在训练阶段动态获得稀疏网络。Dettmers和Zettlemoyer[20]提出稀疏动量,使用指数平滑梯度作为修剪和再生的标准在每个修剪步骤中修剪固定百分比的参数。权重修剪可以显著减小模型大小。然而,DNN中的非结构化随机连接引入了不规则的内存访问。它对硬件平台的实际加速产生不利影响[10]。与权值修剪不同,信道修剪方法侧重于去除整个冗余信道。 Li等人[9]使用K1-norm来确定通道的重要性候选修剪网络结构的适应度从模型精度和推理延迟两个方面来衡量在每个种群中,适应度最高的候选结构将生存到下一个种群中,在这些生存下来的结构中进行交叉���最后,选择最佳候选作为最优修剪网络结构。总体而言,本文的主要贡献如下:• 我们提出了一种延迟感知的自动通道修剪方法LACP。与传统方法相比,LACP不需要手工设计选择不重要的通道。它专注于推理延迟加速,而不是FLOPs减少。• 我们分析了GPU上卷积层的推理延迟。根据分析结果,我们大大缩小了修剪网络结构的搜索空间,这使得低延迟和准确的网络结构的高效搜索。• 我们进行了详细的评估,比较所提出的方法和现有的方法在标准数据集。结果表明,我们的方法可以实现更大的延迟减少,更少的准确性损失。该方法选择最具代表性的通道,以最小的重建误差恢复修剪网络的精度。Luo等人[11]使用下一层的输入来指导前一层的修剪。Lin等人。[12]使用特征图秩作为敏感性度量来修剪最不重要的通道。不同于这些基于幅度或基于灵敏度的通道修剪方法,我们的工作进行通道修剪自动的方式。虽然网络修剪方法已经取得了巨大的成功,但它们主要依赖于人类的专业知识和手工设计。自动优化神经网络结构是近年来被广泛研究的一种方法,称为神经结构搜索(NAS)。以前的工作主要是从搜索空间中对大量网络进行采样,并从头开始训练它们以获得监督信号,例如验证精度,用于使用强化学习优化采样代理[21Bender等人。[25]和Pham等人。[26]在NAS中引入权重共享范式以提高搜索效率,其中所有候选子网络在单个一次性模型中共享权重,该模型包含搜索空间中的所有可能架构。Liu等人[27]放松搜索空间,使其与体系结构连续J. 刘,J.太阳,Z.Xu等人BenchCouncil交易基准,标准和评估1(2021)1000093=1图二. LACP算法的总体框架。参数,然后通过梯度下降有效地优化模型参数和架构参数。大多数现有的基于NAS的修剪方法以自底向上和逐层的方式实现。相比之下,我们的工作主要集中在每一层的最佳通道数。3. 方法3.1. 概述Cheng等人[28]指出,卷积层占据了卷积神经网络中的大部分计算成本。我们的工作重点是减少卷积层的通道数,以有效地压缩神经网络。图2给出了LACP算法的总体框架。考虑包含L个卷积层的CNN模型。 我们称之为的网络结构,其中,k= [k1,k2,������������第10个卷积层。我们把信道修剪看作是一个最优网络结构搜索过程,而不是手动设计策略来删除不重要的信道。 该算法的目标是找到一个比未修剪模型更薄的网络结构,同时保持相当的精度。我们采用了一种进化算法来实现我们的搜索算法的目标。一定数量的候选网络结构组成一个种群,候选网络结构使用适应度进行评估在每一个种群中,最优的候选网络结构将存活到下一个种群中,这些存活的候选网络结构将通过交叉和变异产生新的网络结构。最后,在整个过程中,最好的候选网络结构被选为最佳的修剪网络结构,然后微调它恢复的精度。形式上,该算法等价于求解优化问题,如等式(1)。(1)显示。原始密集模型中的第10个卷积层的数量。穷举搜索所有可能的网络结构是不现实的,因此,对搜索空间进行有效的约束是必要的。为了解决这些问题,我们在下面的章节中进一步描述了我们的方法3.2. 搜索空间定义彻底搜索每个可能的修剪网络结构是不切实际的。为了使搜索算法可行,我们需要缩小搜索空间。在本节中,我们对卷积层的推理延迟进行分析,以找到有效的搜索空间设计。卷积层在现代神经网络中被广泛使用。卷积层由一定数量的通道组成,用于提取数据特征。为了减少卷积层的计算成本,信道修剪旨在去除一部分信道。直觉上,随着信道数的减少,卷积层的FLOP将线性减少。然而,由于卷积层为了更好地理解卷积层的执行机制,我们分析了信道修剪如何影响卷积层的推理延迟。如图图3说明,卷积层的推理延迟显示出具有不同通道数量的阶梯模式,这意味着随着通道数量的增加,将有显著的阶梯增加。 in latency潜伏期.通过分析DNN在GPU上部署的内在机制,可以解释这一现象。卷积层的计算使用多个线程并行化这些线程首先被分组到不同的块中,然后加载到GPU上的流式多处理器(SM)。一个SM上加载的最大块数由GPU的物理容量决定。如果需要的线程块数量超过了GPU的容量,那么GPU会将这些线程块划分为多个连续的波,并运行������������������������= argmax中文(简体)������������������������������������这些波的顺序。 由于SM是并行执行的,波需要相同的时间,无论它是完全占用或是修剪网络结构的搜索空间。���是候选网络结构。是修剪网络的权重,它是从预训练模型中分配的。训练数据和测试数据分别表示训练数据和测试数据。������������������������������该函数用于评价候选网络结构的适应度,以决定是否将当前候选保留在下一个种群中。搜索算法的有效性和效率主要依赖于适应度评价和搜索空间的定义。为了找到一个低延迟和准确的修剪模型,适应度函数应该同时考虑模型推断延迟和测试准确性。对于包含L个卷积层的卷积神经网络,修剪的可能组合没有这种现象被称为“GPU尾部效应”。对于卷积层的不同通道数设置,如果它们需要相同数量的波来计算,则它们的执行时间可能非常相似。因此,随着信道数的增加,卷积层的计算成本会增加。一旦超过临界点,就需要额外的波来完成计算,这导致延迟的显著增加。然后,卷积层的推理延迟将缓慢变化,直到最后一个波被完全占用。受“GPU尾部效应”现象的启发修剪网络结构的搜索空间由于推断网络结构可以是������, where������ represents the channel潜伏期呈阶梯状,这意味着在一定范围内J. 刘,J.太阳,Z.Xu等人BenchCouncil交易基准,标准和评估1(2021)1000094{图三. 具有不同通道数的卷积层的推理延迟。信道数设置的影响,推理延迟的变化非常缓慢。在一个阶梯步长内,将通道数设置到正确的端点,这样我们就可以以很小的延迟代价最大化网络的表示能力。3.3. 最优网络结构搜索在本节中,我们将描述LACP方法的详细实现。如算法1所示,我们的方法采用进化搜索作为整体框架。在开始时,初始人口是运行的-算法1延迟感知自动信道修剪算法输入:搜索循环:,群体大小:,突变数:,交叉数:,目标潜伏期:输出量: 最优剪枝网络结构1:0=随机(N)从搜索空间生成的domly群体中的每个样本表示修剪的网络结构,形式化为=[���1,���2,���������...,L ],其中表示第k个卷积层中的信道号���。在每个种群中,每个候选修剪网络结构的适应度评估如下:[L()]第二章:���������= ∅3:对于���= 0;;++do������������������������() = A������()×(二)4:最大值= Top1(最大值)5:如果你的生活比你的好,然后��� =0时,������L(),-1,������100������������������。(三)6:=������������7:如果结束8:最大值= TopK(最大值)9:突变(突变,M)10: 交叉(交叉,C)���������������������������=如等式(2)表明,在适应度评估中考虑了准确度和推理延迟,其中A_(?)表示修剪网络的测试准确度。L()是推理延迟是目标延迟,在运行算法之前指定。为了测量网络的测试精度-11:00+ 1十二: 端������������������������+���������������������������工作结构,完全培训和测试非常耗时13:返回顶部我们分析了VGG和ResNet中不同卷积层的推理延迟变化。结果表明,楼梯台阶的宽度是32的倍数。对于前几个卷积层,阶梯的宽度为32。随着层的加深,最大池化操作或下采样操作使特征图更小,因此单个GPU波可以计算更多的卷积操作。结果,在后续卷积层中,阶梯台阶的宽度可以增加到64或128。启发式地,对于每个卷积层,我们将其在修剪网络结构中的可能通道数设置为32的倍数。 以VGG16为例,第六卷积层中可能的通道数为[32,64,96,128,160,192,224,256],其中通道的初始数为256。其他卷积层也以相同的方式设置修剪的模型。在我们的实现中,我们用预训练的模型初始化候选修剪网络,对于修剪网络,= [101,102,...,101],第101个卷积层用预训练模型中对应的第101个卷积层中的101个信道初始化,其具有较 大的������������������然后我们用2个epoch训练修剪模型并评估其测试精度。此外,我们在适应度函数中加入了延迟约束。给定一个目标延迟,如果修剪网络的推理延迟小于目标延迟,我们简单地使用测试准确度作为适应度值,否则,我们用小于1的系数惩罚适应度值。在这样的机制中,算法将倾向于选择推理延迟达到目标延迟约束的模型。在每个种群中,具有最大适应度的候选修剪网络结构将存活到下一个种群。在这些候选结构中将发生交叉和突变,以产生新的J. 刘,J.太阳,Z.Xu等人BenchCouncil交易基准,标准和评估1(2021)1000095{}������������结构.交叉操作的目的是整合来自父代的优秀信息。例如,给定两个保留的网络结构:[128,96,124,192],[64,64, 160,96,160,170,180]���������������������������������通过组合两个父结构的片段将生成一个新结构:[32,32,96,64,32,192,320,288]变异操作用于提高种群多样性。例如,给定一个网络结构:[2019 - 03 - 22][2019 - 03 - 24]���������������������其片段被随机改变,从而产生新的网络结构:[64,32,160,96,128,192,224,192]保留的候选网络结构和交叉和变异产生的结构形成下一个种群。该算法将重复这样的搜索迭代多次。最后,最佳的候选人被选为最佳的修剪网络结构。然后我们对其进行微调以恢复准确性。4. 评价在本节中,我们使用不同模型在标准数据集上进行实验,以评估我们算法的性能4.1. 实验设置我们用Pytorch 1.5.0实现了我们的算法。所有的实验都是在NVIDIAGeForce RTX 2080 Ti GPU上运行的,该GPU由4352个CUDA核心和68个SM组成。我们选择了三个标准的图像分类数据集(CIFAR-10,CIFAR-100和Tiny-ImageNet)来评估我们的方法。CIFAR-10数据集由60,000张彩色图像组成,分为10类。每个类有5000个训练图像和1000个测试图像。与CIFAR-10类似,CIFAR- 100包含100个图像类别。每个类有500个训练图像和100个测试图像。Tiny-ImageNet包含200个类(每个类500个)的100,000个彩色图像。每个类有500个训练图像,50个验证图像和50个测试图像。我们在实验中使用了两种模型:VGG和ResNet。VGG是一个单路径网络。压缩采用16层模型。ResNet由一系列块组成,两个相邻块之间有一个快捷方式。对于修剪网络中的维度匹配,每个块中的最后一个卷积层将不会被修剪。采用两种不同深度的ResNet,包括ResNet18和ResNet34。对于每组实验,我们报告测试准确性,减少网络推理延迟,减少FLOP,减少参数数量,减少通道数量作为性能指标。 我们使用PyTorch扩展包thop来统计网络的FLOP和参数数量。为了测量网络的推理延迟,我们运行模型10次以进行GPU预热,然后以输入批量大小128运行模型300次,并取平均推理时间。对于我们实验中使用的每个预训练模型,我们使用动量为0.9的随机梯度下降训练200个epoch,批量大小设置为128,初始学习率设置为0.1,每50个epoch衰减10权重衰减设置为1 e-4。4.2. 比较方法我们比较我们的方法与三个代表性的算法,以显示其有效性。• PFEC [9]是一种典型的传统的基于幅度的信道修剪方法。PFEC计算并排序通道的N1范数值。���具有较小的N1范数值的通道不太重要,然后修剪那些通道和对应的特征图• Thinet [11]将通道修剪公式化为优化问题,并基于从其下一层计算的• ABCPruner [14]是一种最先进的自动通道修剪方法。采用人工蜂群算法搜索最优剪枝网络结构。对于含有冗余通道的未修剪模型的第10层卷积层,ABCPruner将搜索范围定义为10%k,20%k,30%k,���������������4.3. 评价结果我 们 使 用 VGG 和 ResNet 模 型 在 CIFAR-10 , CIFAR-100 和 Tiny-ImageNet数据集上进行了实验。为了搜索最优的修剪网络结构,我们将搜索周期数设置为10 种群规模为30,所以LACP在整个过程中搜索300个修剪的网络结构。在每个种群中,由变异和交叉产生的新修剪网络结构的数量都设置为15。最后,我们以0.1的学习率对200个epoch的最佳修剪网络结构进行微调,每50个时期增加10个。权重衰减设置为1 e-4。所有算法 使用相同的预训练模型,微调epoch的数量设置为200。为了与ABCPruner进行公平的比较,我们将其修剪网络结构的最大搜索数量设置为相同的300。实验结果如表1所示,与PFEC,Thinet和ABCPruner相比,我们的方法在保持相似或更高精度的同时,实现了更好的模型推理加速。值得注意的是,正如我们之前所讨论的,更多的FLOP或参数减少并不一定会导致更好的推理加速。以CIFAR-100数据集实验为例,ABCPruner-50%修剪VGG 16,FLOP减少87.29%,参数减少88.22%,而LACP-0.5修剪69.03% FLOP和81.14%参数。但是,LACP-0.5实现了比ABCPruner-50%更大的延迟减少和更高的准确性。从实验结果中可以观察到ABCPruner的另一个缺点。ABCPruner通过限制卷积层的最大保留通道数来压缩模型。因此,一旦最大保留百分比很小,修剪后的网络的宽度就受到限制并且修剪后的模型的表示能力因此受到限制。 为了验证这一点,我们展示了一个案例研究图。四、如图所示,与ABCPruner相比,我们的方法实现了更少的准确性损失,同时减少了相同百分比的推理延迟。作为补充分析,我们比较了LACP和ABCPruner的剪枝网络结构,结果表明,我们的方法在前几个卷积层保留了更多的通道,这对神经网络提取特征信息更重要。相反,ABCPruner的修剪网络由于最大保留设置而具有更窄的头部结构,导致更多的准确性损失。5. 结论在本文中,我们提出了一种新的延迟感知自动CNN通道修剪方法。与传统的信道修剪方法不同,该方法不需要手工设计不重要的信道,而是寻找最优的修剪网络J. 刘,J.太阳,Z.Xu等人BenchCouncil交易基准,标准和评估1(2021)1000096表1在三个不同模型的数据集上的实验结果我们将LACP与其他三种方法进行了比较。数据集模型算法准确度(%)+/-(%)延迟 减少(%)FLOPs减少(%)参数 减少(%)渠道减少(%)密集93.0200000PFEC92.52−0.526.1847.0144.5725VGG16LACP-0.792.74-0.2833.6346.1953.8836.36蒂内91.51-1.5139.1861.0657.8833.55ABCPruner-90%92.41-0.6146.5968.8278.3951.23LACP-0.592.62−0.448.9770.0872.4250ABCPruner-50%90.11-2.9159.1887.5587.8167.57CIFAR10LACP-0.491.62−1.459.5685.0494.4672.73密集94.2800000PFEC92.01-2.2717.5635.2648.5118.67ResNet18ABCPruner-90%94.02-0.260.1925.4430.3912.48ABCPruner-50%93.59-0.6918.6160.2760.0724.98LACP-0.594.34+0.0622.2944.9669.1422.33蒂内94.36+0.0817.9837.8437.5115.29LACP-0.794.37+0.0921.341.1561.7120.67密集69.7800000PFEC69.45-0.3326.144744.4325VGG16LACP-0.770.54+0.7630.2350.7263.1739.39蒂内69.32-0.4640.6363.4260.0135.27ABCPruner-90%69.06-0.7228.8254.1172.4141.5ABCPruner-50%65.95-3.9339.1487.2988.2266.17CIFAR100LACP-0.569.42-0.3649.469.0381.1455.3密集74.8600000PFEC69.52-5.3420.9139.6348.9321.05ResNet34蒂内74.59-0.2719.9438.0937.7516.96ABCPruner-90%74.58-0.2825.0563.6561.1527.1ABCPruner-50%74.18-0.6823.5667.9268.3330.06LACP-0.574.59-0.2727.9156.9169.9429.32密集57.8700000PFEC56.49-1.3817.6835.2648.0918.67ResNet18蒂内56.53-1.3417.8137.4537.1915.29ABCPruner-90%56.55-1.322.6938.934.3715.27ABCPruner-50%55.23-2.6422.3567.9471.7728.08LACP-0.756.87−122.1550.1668.0824.67Tiny-ImageNet密集59.1900000PFEC58.98−0.2121.2439.6448.8121.05ResNet34蒂内59.05−0.1418.5737.9137.6616.96LACP-0.759.02-0.1724.4552.2867.127.07ABCPruner-90%58.58-0.6110.4442.2152.3420.84ABCPruner-50%57.96-1.2324.1768.0973.7631.58LACP-0.558.64-0.5527.1261.8976.5831.58注:LACP-1表示我们将目标延迟设置为1×L,其中L是未修剪模型的推理延迟。ABCPruner-n表示每个卷积层中保留的最大通道数为n×,其中是该层中的原始通道数自动结构。通过分析修剪网络的推理延迟,我们指出,无论是FLOP还是参数的数量都不能准确地表示真正的推理加速。此外,我们还分析了卷积层在GPU上的执行机制。结果表明,卷积层的推理延迟呈现出不同通道数的阶梯模式。基于这一观察,我们大大缩小了网络结构的组合使得能够高效搜索低延迟和精确修剪的网络。 我们进行了广泛的评估,将我们的方法与公共数据集上的实验研究进行比较,并报告了真实的延迟度量。实验结果表明,该方法在保持较高准确率的同时,能够实现更好的推理加速.虽然我们的实验已经达到了预期的剪枝效果,我们的方法可以进一步改进。我们之前讨论过,J. 刘,J.太阳,Z.Xu等人BenchCouncil交易基准,标准和评估1(2021)1000097图四、 LACP和ABCPruner在CIFAR-10数据集上对VGG 16的剪枝结果。通过对GPU尾部效应的分析,缩小了剪枝后网络结构的搜索空间。然而,我们的分析是基于经验分析。对GPU尾部效应进行更全面、更全面的调查可能会有所帮助。此外,如何将我们的方法推广到不同的硬件平台也是值得在未来的工作中研究致谢本研究得到了国家自然科学基金项目(No.61772485)的资助。它还得到了中国科学院青年创新促进会(CAS)和JD AI研究的资助。本文的实验是在中国科学技术大学超级计算中心的超级计算机系统上进行的中华引用[1]何开明,张翔宇,任少卿,孙健,图像识别的深度残差学习,在:IEEE计算机视觉和模式识别会议论文集,2016年,pp. 770-778[2]Ross Girshick,Jeff Donahue,Trevor Darrell,Jitendra Malik,用于精确对象检测和语义分割的丰富特征层次,收录于:ProceedingsIEEE计算机视觉和模式识别会议,2014年,第100页。580-587.[3]Jonathan Long,Evan Shelhamer,Trevor Darrell,Fully convolutional networksfor semantic segmentation , in : Proceedings of the IEEE Conference onComputer Vision and Pattern Recognition,2015,pp. 3431-3440[4]Itay Hubara , Matthieu Courbariaux , Daniel Soudry , Ran El-Yaniv , YoonneBengio,量化神经网络:用低精度权重和激活训练神经网络,J. Mach。学习. Res.18(1)(2017)6869[5]杨成林,谢玲希,苏驰,李伟。Yuille,快照蒸馏:一代教师-学生优化,在:IEEE/CVF计算机视觉和模式识别会议论文集,2019年,pp.2859-2868。[6]杨乐坤,约翰S Denker,萨拉A索拉,理查德E霍华德,劳伦斯D Jackel,最佳脑损伤,在:NIPs,第2卷,Citeseer,1989年,页. 598-605[7]宋汉,Jeff Pool,John Tran,William Dally,学习有效神经网络的权重和连接,在:C。Cortes,N.劳伦斯,D。李,M。杉山河Garnett(Eds.),神经信息处理系统进展,第28卷,Curran Associates,Inc.,2015年。[8]Yihui He,Xiangyu Zhang,Jian Sun,Channel pruning for accelerating very deepneural networks , in : Proceedings of the IEEE International Conference onComputer Vision,2017,pp. 公元1389-1397年。[9]Hao Li , Asim Kadav , Igor Durdanovic , Hanan Samet , Hans Peter Graf ,Pruning filters for efficient convnets,2016,arXiv preprintarXiv:1608.08710.[10] Wei Wen , Chunpeng Wu , Yandan Wang , Yiran Chen , Hai Li , LearningStructured Sparsity in Deep Neural Networks , in : Proceedings of the 30thInternational Conference on Neural Information Processing Systems , 2016 ,pp.2082-2090年。[11] Jian-Hao Luo,Jianxin Wu,Weiyao Lin,Thinet:一种用于深度神经网络压缩的滤波器级修剪方法,在:IEEE国际计算机视觉会议论文集,2017年,pp. 5058-5066[12] Mingbao Lin,Rongrong Ji,Yan Wang,Yichen Zhang,Baochang Zhang,Yonghong Tian,Ling Shao, Hrank:Filter pruning using high-rank featuremap,in:Proceedings of the IEEE/CVF Conference on Computer Vision andPattern Recognition,2020,pp.1529-1538年。[13] Zhuang Liu,Mingjie Sun,Tinghui Zhou,Gao Huang,Trevor Darrell,Rethink-ing the Value of Network Pruning , in : International Conference on LearningRepresentations,2018。[14] Mingbao Lin,Rongrong Ji,Yuxin Zhang,Baochang Zhang,Yongjian Wu,Yonghong Tian , Channel Pruning via Automatic Structure Search , in :Proceedings of the International Joint Conference on Artificial Intelligence ,IJCAI,2020,pp.673-679[15] Emily Denton,Wojciech Zaremba,Joan Bruna,Yann LeCun,Rob Fergus,在卷积网络中利用线性结构进行有效评估, 第27届神经信息处理系统国际会议论文集-第1卷,2014年,pp. 1269-1277年。[16] 吉米·巴(JimmyBa),里奇·卡鲁阿纳(Rich Caruana),深网真的需要深吗参见:NIPS,2014年。[17] Yiwen Guo , Anbang Yao , Yurong Chen , Dynamic network surgery forefficientDNN,in:NIPS,2016.[18] Decebal Constantin Mocanu , Elena Mocanu , Peter Stone , Nguyen H ,Madeleine Gibescu,Antonio Liotta,具有自适应稀疏连接的人工神经网络的可扩展训练受到网络科学的启发,Nature Commun。9(1)(2018)1-12。[19] 刘俊杰,徐哲,施润斌,雷C. C.作者:Hayden K.H. 因此,动态稀疏训练:使用可训练的掩码层从头开始寻找有效的稀疏网络,在:2020年国际学习表示会议上[20] Tim Dettmers , Luke Zettlemoyer , Sparse networks from scratch : Fastertraining without losing performance,2019,arXiv预印本arXiv:1907.04840。[21] Bowen Baker,Otkrist Gupta,Nikhil Naik,Ramesh Raskar,使用强化学习设计神经网络架构,在:国际学习表示会议,2018年。[22] Barret Zoph,Vijay Vasudevan,Jonathe Shlens,Quoc V Le,可扩展图像识别的学习可转移架构,在:IEEE计算机视觉和模式识别会议论文集,2018年,pp.8697-8710。[23] Mingxing Tan, Bo Chen , Ruoming Pang, Vijay Vasudevan, Mark Sandler,
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Python和Opencv的车牌识别系统实现
- 我的代码小部件库:统计、MySQL操作与树结构功能
- React初学者入门指南:快速构建并部署你的第一个应用
- Oddish:夜潜CSGO皮肤,智能爬虫技术解析
- 利用REST HaProxy实现haproxy.cfg配置的HTTP接口化
- LeetCode用例构造实践:CMake和GoogleTest的应用
- 快速搭建vulhub靶场:简化docker-compose与vulhub-master下载
- 天秤座术语表:glossariolibras项目安装与使用指南
- 从Vercel到Firebase的全栈Amazon克隆项目指南
- ANU PK大楼Studio 1的3D声效和Ambisonic技术体验
- C#实现的鼠标事件功能演示
- 掌握DP-10:LeetCode超级掉蛋与爆破气球
- C与SDL开发的游戏如何编译至WebAssembly平台
- CastorDOC开源应用程序:文档管理功能与Alfresco集成
- LeetCode用例构造与计算机科学基础:数据结构与设计模式
- 通过travis-nightly-builder实现自动化API与Rake任务构建
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功