没有合适的资源?快使用搜索试试~ 我知道了~
12227面向GPU的可部署卷积神经网络搜索Linnan Wang,Chenhan Yu,Satish Salian,Slawomir Kierat,SzymonMigacz Alex Fit FloreaNvidia{linnanw,chenhany,ssalian,skierat,smigacz,afitflorea} @ nvidia.com摘要定制卷积神经网络(CNN)用于生产一直是DL实践者的一项具有挑战性的任务。本文旨在通过模型中心加快模型定制,该模型中心包含使用神经体系结构专家GPUTensorRT延迟Top-1GPUNetA1000.7ms百分之八十四N130801.2ms百分之八十一N2自定义模型N1其余(A) 使用GPUNet加速模型定制搜索(NAS)。为了实现这一目标,我们构建了一个分布式NAS系统在一个新的搜索空间上进行搜索,该空间由影响延迟和准确性的突出因素组成。由于我们的目标是GPU,我们将NAS优化模型命名为GPUNet,它在推理延迟和准确性方面建立了一个新的SOTA Pareto边界在1ms内,GPUNet比EfficientNet-X和FBNetV 3快2倍,精 度 更 高 。 我 们 还 验 证 了 GPUNet 的 检 测 任 务 ,GPUNet始终优于EfficientNet-X和FB-NetV 3的COCO检测任务的延迟和准确性。所有这些数据都证明,我们的NAS系统有效和通用的处理不同的设计任务。通过这个NAS系统,我们扩展了GPUNet,以覆盖广泛的延迟目标,以便DL从业者可以在不同的场景中直接部署1. 介绍长期以来,神经网络的发展与实际部署脱钩。深度学习(DL)研究人员一直致力于发明新的构建块,而DL工程师则将这些构建块部署在现实任务中,煞费苦心地将它们重新组合以找到满足设计要求的架构。大多数情况下,我们可以简化这些要求,以找到目标设备上性能最佳的架构(例如,GPU)在特定的延迟预算内。虽然在神经网络设计中有许多令人兴奋的进步剩 余连 接 [13], 反向 剩余 块( IRB) [28]和 注意 力[32],部署这些网络设计仍然具有挑战性和费力;这正是本文要解决的问题。我们的解决方案,以减轻之间的差距DL研究(B) GPUNet w.r.t SOTA网络在ImageNet上的推理延迟和前1名准确度方面的性能图1.GPUNet在准确性和推理延迟方面建立了新的SOTAPareto边界并且实际的部署是为每种类型的GPU提出一组优化的卷积神经网络,这些优化的卷积神经网络通过它们的优化的推理等待时间分层(例如,由TensorRT [3]或OpenVINO [2]进行后处理)。具体而言,我们提供了一个模型表,其中的一个条目是模型优化的结果,从最大化的准确性受到GPU上的推理延迟的限制。此表使DL工程师能够直接查询优化的神经架构,以加快昂贵模型的定制过程。我们求助于神经架构搜索(NAS)来设计这个表中的模型。最近,NAS在许多任务中自动化网络架构的设计方面取得了可喜的成果[19,36,37]。因此,NAS可以是一个方便的工具,因为我们需要为不同的GPU设计许多延迟限制的模型当模特们准备好去-火车12228策略,我们测量处理后的TensorRT引擎延迟,即,包括量化、层/张量融合、内核调谐和其它系统侧模型优化。最后,我们设计了面向NVIDIA企业级GPU产品的模型,以供当今社区广泛采用。为了实现这一目标,我们构建了一个新型的分布式NAS系统。在前人工作的基础上,我们的NAS由3个模块组成,一个搜索空间,一个评估模块,和一个搜索方法。搜索空间提供遵循预定义模式的网络;搜索方法基于先验提出最有希望的网络。评估模块通过训练或超网估计返回建议网络的性能[45]。我们的搜索空间通过堆叠EfficientNet中使用的卷积层、IRB和融合IRB来构建网络[31]。然而,我们的搜索空间是迄今为止最全面的,包括过滤器数量(#filters),内核大小,一个阶段中的层数(#layers)或IRB(#IRBs)以及输入分辨率。在IRB或Fused-IRB中,我们还搜索膨胀比,激活类型,有或没有挤压激发(SE)层。所有这些因素都被确定为影响延迟和准确性的突出因素因此,该搜索空间使我们能够比现有技术更好地利用准确性和延迟,例如,NASNet [46]中的固定过滤器模式和FBNetV 3 [10]中的固定激活和SE模式;搜索还使我们能够找到比EfficientNet [18,30]中的固定缩放策略更好的策略。为了支持这种复杂的搜索空间,我们选择通过训练来评估网络候选人。虽然这种方法比超网方法昂贵得多,但在对架构进行排名时,评估更准确[42,45]。我们可以避免许多未解决的问题,在建立一个超网为我们的搜索空间,例如,支持多种类型的激活、激活/去激活SE和可变滤波器大小。我们构建了一个客户端-服务器风格的分布式系统来应对计算挑战,在我们的实验中,它已经强大地扩展到300个A100GPU(40个DGX-A100节点)最后,我们采用LA-MCTS指导的贝叶斯优化(BO)[35]作为搜索方法,因为它在最近的黑盒优化挑战中证明了其优越的样本效率[1]。我们将NAS优化的CNN命名为GPUNet,GPUNet在图中的延迟和准确性方面建立了一个新的SOTA帕累托前沿。1.一、我们使用TensorRT测量GPUNet的延迟,因 此 GPUNet 可 直 接 重 用 于 DL 从 业 者 。 特 别 是 ,GPUNet-1比FBNetV 3-B和EfficientNet-X-B2-GPU快近2倍,准确率高0.5%。我们还在COCO检测任务上验证了 GPUNet , GPUNet 仍 然 明 显 优 于 EfficientNet-X 和FBNetV 3。所有这些数据验证了我们的NAS系统是有效的和通用的设计各种任务。虽然本文仅显示了几个GPUNet用于比较,通过推理延迟分层的完整模型中心仍在进行中,我们将在论文中发布它们。2. 相关作品如今,在边缘设备上本地运行DL模型或将模型作为服务托管在数据中心的企业级边缘设备,如智能手机或用于自动驾驶的嵌入式系统,通常配备了小CPU,有限的RAM和缓慢的互连。给定受约束的资源,模型深度可分卷积加速移动设备上的推理是近年来的热门研究课题[8,14,38]。在GPU上部署模型需要对边缘设备进行不同的优化。 由于GPU具有比边缘设备强大得多的架构,因此我们需要考虑设备饱和度,并行度和计算/内存约束运算符等,”[18]《明史》:“。尽管GPU多年来一直主导MLPerf基准测试,但只有少数作品优化了GPU上的CNN部署。这些工作的一条线是提出快速运算符。RegNet [25]通过优化搜索空间来选择简单、GPU友好的运算符来加速ResNetXt提出了分裂注意力算子来提高准确性和推理延迟[44]。另一项工作是优化结构。TRes- Net [27]优化了ResNet-50中的运算符,包括SE层和 BatchNorm , 以 改 善 GPU 上 的 推 理 。 同 时 ,EfficientNet-X [18]提出了一种延迟感知的缩放方法,用于将快速EfficientNet设计到GPU/TPU,并使用屋顶模型来解释FLOPS和GPU上的延迟之间的差距。我们的工作不是使用固定的缩放策略,而是将模型优化视为黑盒,使用TensorRT优化的推理延迟搜索GPU的快速架构。因此,我们可以比EfficientNet-X更好地权衡延迟和准确性,并且我们的最终网络可以直接在GPU上部署。我们使用NAS构建建议的网络,回 顾NAS 的 最新 进展 。NAS 的 早期 作品 ,例 如,NASNet [46]将CNN建模为直接Accounts图(DAG)。虽然EfficientNet因其在ImageNet上的良好性能而迅速流行[39]。本文重用了EfficientNetV2中的构建块,以找到快速的架构。最近,Transformer [21]和多层感知(MLP)[20]开始成为ConvNet的有前途的替代品;我们将NAS留在这些搜索空间中作为未来的工作。我们的论文独立评估了每个网络12229通过端到端的训练,尽管超网方法很流行。ENAS [24]提出了超网,它是一种过参数化的网络来近似子网络的性能。尽管超网显著降低了NAS的计算要求,但超网预测的排名可能不准确[45]。此外,训练超网是不平凡的[41],构建超网以支持变量激活,扩展比和过滤器大小等,仍然是一个悬而未决的问题。因此,我们使用一个分散式系统来执行NAS,以避免超网路无法解决的问题.3. 方法我们构建了一个新的分布式NAS框架,以自动化GPU的模型设计。我们的NAS系统包括一个搜索空间,一个搜索算法,并按照现有的NAS框架的评估方法。首先,搜索算法从搜索空间中选择网络,使用评估方法查询其性能。然后,搜索算法通过利用所有评估的网络精度对在下一次迭代中改进其决策我们的NAS由两个阶段组成,1)根据推理延迟对网络进行分类,2)在延迟组内的网络上执行NAS以优化准确性。在第一阶段(图。2.A),我们使用Sobol采样[29]从高维搜索空间中均匀抽取网络候选,通过使用延迟查找表近似网络延迟,然后将网络分类到子搜索空间中,例如,网络0.5ms。<我们通过从延迟查找表中总结每一层的延迟来近似推理延迟。延迟表使用输入数据形状和层配置作为层延迟的关键字。第二阶段(图)2.B),贝叶斯优化消耗子空间以在子空间的延迟范围内找到性能最佳的网络。我们构建了一个客户端-服务器分布式框架来执行NAS。搜索算法在服务器上运行,为客户端提供客户将在培训后返回准确性和下文详细阐述了每个组件及其设计依据。3.1. 搜索空间搜索空间规定了网络候选的一般结构,我们的搜索空间受到Effi-cientNet [31]的启发。请注意,我们的搜索框架是通用的,以支持各种搜索空间,例如,为视觉任务设计视觉Transformer或MLP。虽然Transformer最 近 表 现 出 了 出 色 的 性 能 [7 , 21] , 但 由 于 当 前TensorRT的更好支持,我们将重点放在ConvNet上,该TensorRT为GPU上的快速推理执行关键性能优化。我们将NAS留在基于Transformer或MLP的视觉模型上作为未来的工作。Stage Type Stride Kernel #Layers ActEFiltersSE 0 Conv 2 [3,5] 1 [R,S]<$[24,32,8]1 Conv 1 [3,5][1,4][R,S][24,32,8]2 F-IRB 2002 [3,5][1,8][R,S] [2、6] [32、80、16][0、1]3 F-IRB 2 [3,5][1,8][R,S] [2、6] [48、112、16] [0,1]4 IRB 2 [3,5][1、10][R,S] [2,6] [96,192,16] [0,1]5 IRB 1 [3,5][0,15][R,S] [2,6] [112,224,16] [0,1]6 IRB 2 [3,5][1、15][R,S] [2,6] [128,416,32] [0,1]7 IRB 1 [3,5][0,15][R,S] [2,6] [256,832,64] [0,1]8 Conv1x1 Pooling FC 1792研究[224,256,288,320,352,384,416,448,480,512]R是ReLU,S是Swish。F:F-IRB表示融合-逆-残差块(融合-IRB)。E:E表示IRB扩展率的范围。:过滤器数量从24增加到32,步长为8。表1. Convnet搜索空间。表1展示了本文中使用的搜索空间的细节我们的搜索空间由8个阶段组成。在这里,我们搜索每个阶段的配置,并且阶段内的层共享相同的配置。前两个阶段是使用卷积搜索头部配置。受EfficientNet-V2 [31]的启发,第2阶段和第3阶段使用Fused-IRB [31]。但是我们观察到用Fused-IRB代替其余IRB后潜伏期增加。从第4阶段到第7阶段,我们使用IRB作为基本层。列#Layers显示阶段中的#层范围,例如,[3,10]在阶段4意味着该阶段可以具有3至10个IRB。过滤器列显示了阶段中各层的过滤器范围(有关详细信息,请参见表注释我们的搜索空间还调整了IRB/Fused-IRB内部的扩展比,激活类型,内核大小和挤压激发(SE)[16最后,在步骤32处,输入图像的维度3.1.1搜索空间与 之 前 的 工 作 不 同 , 我 们 的 搜 索 是 由 准 确 性 和TensorRT优化的推理延迟指导的。在一个好的实验设计中,我们应该确定与设计目标最相关的因素[17快速准确的网络。表. 1展示了我们发现的影响延迟和准确性的几个突出因素。在这里,我们提供了经验数据来支持我们的决策。• #层和过滤器:来自已发布结果的大量证据表明,深或宽的网络可以比浅或窄的变体执行得更好[13,22],而添加层或增加过滤器会减慢推理速度。#层和过滤器是精确度和延迟的基本设计选择。• 激活:许多过去的工作已经证明,一个好的激活设计可以显着提高fi-12230网络搜索搜索空间评价网络性能Sobol抽样(A) NAS工作流(B)按延迟管理搜索空间(C)分布式NAS图2.建议的NAS框架的工作流程在(B)中,首先通过TensorRT推理延迟修剪建议的搜索空间然后我们使用黑盒优化器来迭代地探索(A)中的搜索空间。我们实现了一个分布式搜索框架,以利用并行(C)。(A) 激活(B)分辨率(C)扩展(D)SE(E)内核图3.不同超参数和配置对EfficentNet-B 0的延迟影响。ImageNet上的最终精度[12,26],而图。3.A显示使用ReLU的网络可以比使用PReLU快4倍。一般来说,激活是内存绑定操作. TensorRT在层融合中支持ReLU,Sig- moid和Tanh,这解释了速度差距。因此,激活的选择是延迟和准确性权衡的重要因素。• 扩展:IRB或Fused-IRB使用1x 1卷积在内部扩展通道大小,并且扩展比控制内部通道的大小,即,膨胀比x输入通道。移动网络[28] paper声称,更大的渠道扩张将有助于提高网络的容量和表现力。我们的实证结果也与这一主张相一致。例如,在将扩展从6减少到2之后,网络的准确性在ImageNet top-1上下降了4个点,而增加扩展会产生不可忽略的成本(图3.C)。这些数据表明,膨胀比是一个重要因素,载物台类型超参数长度分辨率[分辨率] 10Conv [#Filters] 11Conv [Kernel,Activation,#Layers] 32Fused-IRB [#Filters,Kernel,E,SE,Act,#Layers] 63Fused-IRB [#Filters,Kernel,E,SE,Act,#Layers] 64IRB [#Filters,Kernel,E,SE,Act,#Layers] 65IRB [#Filters,Kernel,E,SE,Act,#Layers] 66IRB [#Filters,Kernel,E,SE,Act,#Layers] 67IRB [#Filters,Kernel,E,SE,Act,#Layers] 6共41个表2.网络在搜索空间中的编码方案。搜索• 内核:一个大的卷积内核可以增加收据字段,以提高准确性(更多详情在[6]中)。尽管如此,它也增加了延迟(图。3.D),这验证了进入搜索空间的内核大小的选择。• SE:挤压激励[16]是由ILSVRC 2017的获奖作品引入的,比前一年提高了25%。添加SE后,图。3显示延迟显著增加。这证明SE是搜索空间中的一个因素。• 图像分辨率:EfficientNet [30]清楚地证明了通过提高分辨率可以提高精度,图。3.B示潜伏期也显著增加。因此,我们搜索输入图像分辨率以获得更好的准确性和延迟权衡。3.1.2网络和搜索空间表示现在我们有了搜索空间的总体情况;其次是找到体现设计的适当表示。我们使用一个整数向量来编码从表中描述的搜索空间中采样的网络。1.一、向量的长度是41,表。2阐述了每个数字所代表的阶段1与阶段0共享相同的滤波器编号,我们只搜索第一个3x3卷积(阶段0)的滤波器大小。因为层搜索空间子空间> 0.5ms<1.0ms子空间> 1.0ms<1.5ms交换净收入工程或验收服务器搜索客户端培训收据网络> 1.0ms<1.5ms客户端客户端层类型输入形状ConfigTRT延迟Conv~~0.18msIRB~~0.31ms12231∼0.0160.0140.0120.0100.0080.0060.0040.0020.000050100150(A) 各维度均匀(B) Sobol序列等待时间预测等待时间实际图4.实际测量的TensorRT延迟与表预测延迟之间的误差在一个阶段内共享配置,我们使用6个整数来表示过滤器大小,内核大小,扩展比,是否使用SE,激活类型以及阶段的IRB数量从2到7。所以网络是表中描述的向量2,每个数字的范围1.一、3.2. 通过推理延迟为了设计按推理延迟分层的网络,我们选择在搜索空间中直接测量网络的延迟。由于搜索空间的大小是指数级的,我们通过从搜索空间中采样数百万个网络来近似搜索空间。采样技术对于捕获搜索空间的真实分布至关重要,在这里我们使用Sobol序列[5],其优点在图中很简单。五、采样是一种低成本的操作,我们可以在一分钟内获得数百万个样本。挑战在于测量采样网络的延迟。由于TensorRT在MLPerf推理基准测试中占据主导地位,我们希望测量TensorRT优化的推理延迟。然而,TensorRT需要几分钟来构建测量的推理引擎,这使得测量所有采样网络变得不可行。我们通过将每一层的延迟相加来近似计算网络的延迟。虽然搜索空间呈现1030个网络,但这些层具有有限的配置,例如,104在我们的情况下因此,我们可以通过构建以输入数据形状和层配置为关键的延迟表来显着加快延迟测量给定一个网络,我们遍历各个层来查找延迟。如果一个层在表中不存在,我们只对其进行基准测试并在表中记录其延迟最后,网络延迟是所有层延迟的总和。图4表明,表中估计的延迟接近网络的实际延迟,表中估计的延迟平均 因为整个网络比单个层有更多的机会进行层融合到TensorRT。基准测试104层仍然是一项昂贵的任务,我们在多GPU上并行化了延迟表的管理,把流程从几周缩短到几天图5.由(A)每个维度上的均匀随机和(B)sobol序列抽样的分布。3.3. 分布式神经结构搜索我们将网络设计视为黑盒。以奖励为导向,例如:验证准确性,搜索调整搜索空间中规定的超参数,以优化模型性能(图1)。2.A)。在这里,我们详细介绍了搜索算法和评估方法。3.3.1搜索算法我们选择LA-MCTS增强贝叶斯优化(BO)[35]作为搜索算法,这是2020年NeurIPS黑盒优化竞赛的热门项目之一[1]。由于我们通过训练来评估网络,因此样本效率对整体成本至关重要竞争结果表明,LA-MCTS增强BO已经证明了其他BO变体和进化算法中领先的样本效率;因此,我们在实验中采用了它,并且图1.2描述了工作流程。一些先前的作品[23]将该问题定义为多目标优化(MOO),以找到延迟和准确性的最佳帕累托边界。However, finding the Pareto Optimality is too fine-grainedto the practice.例如,位于帕累托边界的两个解决方案可能在准确性和延迟方面有微小的差异,但找到这些帕累托解决方案是非常昂贵的。因此,在最大化准确性之前,我们通过延迟来组织搜索空间。这也使我们能够构建一个网络表,按其推理延迟分层。3.3.2评价我们选择通过训练来评估每个建议的网络,如果训练曲线不理想,则应用早期停止。对于来自相同搜索空间的具有相似延迟的网络,我们使用相同的训练接收,因为我们的实践经验表明,调整训练接收可以以巨大的成本带来高达1%的准确性提高。我们的培训收据的详细信息可以在sec??在补充材料中。训练将在450个epoch之后向搜索算法返回最佳验证精度。概率密度12232本文并没有将NAS大众化,而是打算为社区维护一组使用数百个GPU的NAS优化模型。我们相信训练方法是必要的,尽管它比最近的超网方法昂贵得多[24]。首先,[42,45]中的大量证据表明,超网在对网络候选者进行排名时可能不准确,并且训练一个好的超网并非易事[41]。第二,没有一个超网能正确地支持可变的扩展比、图像分辨率以及有/没有SE。培训方法可以避免所有这些问题,但要付出额外的代价。3.3.3分布式NAS现在我们准备好把所有的东西放在一起。图2恶魔-X2x2x3X3X2(A) GPUNet-0x2x2x4x4(B) GPUNet-1X3x3x6x4x8X7(C) GPUNet-2阶段0,步幅= 2阶段1,步幅= 1阶段2,步幅= 2阶段3,步幅= 2阶段4,步幅= 2阶段5,步幅= 1阶段6,步幅= 2阶段7,步幅= 1说明了我们实现了一个客户端和服务器分布式系统来运行NAS。在第3.2节之后,我们首先通过采样在延迟范围内生成网络作为搜索空间然后,我们将修剪后的搜索空间集成到搜索算法中,在服务器上运行。服务器和客户端通过套接字交换数据.客户端将向服务器请求网络以评估它们是否空闲,并将网络和最佳验证精度返回给服务器。搜索算法可以利用该信息来提出下一个网络候选。为了验证框架,我们用一些合成函数测试了系统,以确保性能指标随着样本数的增加而增加这个框架对于不同的搜索问题也是通用的,我们也可以使用相同的框架来搜索Transformer的体系结构4. 实验本节将详细介绍如何在GPUNet的设计中使用所提出的搜索空间和NAS系统。与现有的作品相比,GPUNet显着改善了SOTA帕累托前沿的准确性和推理延迟(图。1)。在1.8ms的类似延迟下,GPUNet的准确性比ImageNet上相应的FBNet-V3高出1%。在类似的80.5精度下,GPUNet比FBNet快1.6倍我们从描述实验装置开始,然后讨论主要结果。最后,我们表明,GPUNet也有效地改善了下游任务。4.1. 实验装置软件设置:我们直接在Ima-geNet [11]上执行NAS,Ima-geNet包含1000个类中的128万个训练和50000个验证图像。每个网络候选者都预先训练了300个epoch,用于自动混合精度(AMP)的性能排名,然后我们对顶级网络进行了另外150个epoch的微调。我们使用Pytorch Image Models [4]中修改过的训练脚本图6.在Table中搜索GPUNet的结构。3 .第三章。对于阶段2、3、4和6,只有第一层的步幅是2,其余层的步幅是1。来训练模型训练仅使用幅度为9的随机增强,标准差为0.5.学习率每2.4个epoch下降0.97。指数移动平均线(EMA)也用于衰变率为0.9999裁剪百分比设置为1,优化器为RMSprop。我们将NAS设置为专注于FP32+FP16TensorRT GPU计算时间1的<2ms,这在实践中更有意义。 针对延迟测量,我们使用TensorRT-8.0.1。我们导出onnx模型,并在独立PCI-E NVIDIA GV 100 GPU上使用trtexec--fp 16机器设置:我们在DGX A100上使用8x A100 80 GB进行培训我们的系统是灵活的,允许培训,对抢占(现场)的实例。我们在一个专用节点启动服务器,以建议网络并在可抢占实例启动客户端。每个客户端在训练期间每个时期检查点服务器还一致地检查其状态以实现容错。4.2. 主要结果4.2.1基线的编制表. 3列出了比较中使用的最新SOTA基线;有两组基线,分别包括和不包括蒸馏。准确性和推断延迟是我们评估中的两个关键指标。比较准确性很容易做到公平,但不考虑推理延迟,因为延迟可能受到软件堆栈的影响(例如,运行时效率和系统优化)、GPU、批量大小等。为了确保公平,我们将1TensorRT还报告吞吐量、端到端、设备到主机、主机到设备时间。我们使用GPU计算时间来更好地捕捉延迟对架构差异的影响。Conv、k3、f24、s2、Swish转换器,k3,f24 UER,k3,e4,f64,嗖,ER,k3,e4,f96,嗖,IRB,k3,e2,F160,Swish,SEIRB、k3、转换器,k3,f32Swish转换器,k3,f32UER,k5,e6,f32,Swish,SEER,k3,e6,f112,SwishIRB,k5,e3,f144,SwishIRB、k5、e3、f160、CLUUIRB,k3,e3,Conv、k3、f32、CLUU转换器,k3,f32 UER、k3、e5、f64、cardiac U,ER,k3,e5,f96,嗖,IRB、k3、e5、f704、12233在不蒸馏模型Top1ImageNetTensorRTLatency<$FP16GV100(ms)参数数(百万)触发次数(十亿)GPUNet加速↑GPUNet精度↑RegNet-X [25]77.02.069.19.1.63.3x1.9[30]第三十话77.11.185.280.381.9x1.8[18]第十八话77.31.057.60.911.69倍1.6FBNetV2-L1 [33]77.21.13X0.321.82倍1.7GPUNet-078.90.6211.93.25RegNet-X80.03.9.54.3.15.2.72倍0.5EfficientNet-B280.31.869.212.26x0.2高效NetX-B2-GPU80.01.61102.31.96倍0.5FBNetV3-B [10]79.81.558.6.0.461.89倍0.7ResNet-50 [1]80.31.128.094.1.34倍0.2GPUNet-180.50.8212.73.3RegNet-X80.55.7107.31.73.24x1.7EfficientNet-B381.62.3121.81.3x0.6高效NetX-B3-GPU81.42.113.34.31.2x0.8[44]第四十四话81.12.327.55.41.27倍1.1FBNetV3-F82.12.2613.91.181.28倍0.1GPUNet-282.21.7625.88.38得到了更新和升华[34]第三十四话79.21.1411.30.321.8x0.5FBNetV3-A79.61.528.60.352.4x0.1BigNAS-L [40]79.51.556.40.582.460.2LaNet-200M77.80.955.760.241.5x1.9GPUNet-D079.70.636.20.72AlphaNet-a680.81.615.40.711.28倍1.7FBNetV3-D81.11.710.30.641.36倍1.4BigNAS-XL80.91.649.51.041.31x1.6LaNet-600M80.81.298.670.241.03x1.7GPUNet-D182.51.2510.63.66FBNetV3-G83.22.4310.82.11.0x0.4GPUNet-D383.62.41915.6(仅限随机扩增)†:我们使用批量大小为1的显式形状来测量延迟(FP16GPU计算时间)表3. GPUNet与SOTA结果的比较。图1可视化了该表,并显示GPUNet-D在准确性和推理延迟方面都占主导地位。将 所 有 基 线 模 型 转 换 为 ONNX 模 型 , 以 便 使 用TensorRT进行基准测试。推理基准仅在NVIDIA GV100上运行;并且Ten sorRT的工作空间在所有运行中固定为10 G。我们在批大小= 1时用显式形状对延迟进行基准测试,并报告了1000次运行的平均延迟。我们从原始实现或PyTorch Image Models中获取基线模型[4]。附录6.1.1提供了详细信息。4.2.2关于ImageNet1K表. 图3比较了搜索到的GPUNet与基线的性能。1可视化了不同模型在推理延迟和准确性方面的Pareto前沿请注意,我们准备了两套不同的网络GPUNet和GPUNet-D,对于有/无蒸馏的情况。图1.B清楚地显示了GPUNet-D在两个目标目标和表中都占主导地位。3表明GPUNet和GPUNet-D都比SOTA网络快得多,同时保持相似的准确性。在类似的80.5 top-1 精 度 , GPUNet-1 比 EfficientNet-B2 ,EfficientNetX-B2-GPU和FBNetV 3-B快近2倍对于其他精度组,GPUNet始终显示从1开始的加速。27× 3。24倍于基线。虽然EfficientNet-V2 [31]在图1.B中延迟> 3ms时显示出比GPUNet稍好的结果,但EfficientNet-V2利用了更复杂的训练方案,包括Mixup [43]和渐进式训练,以正则化网络以获得更好的准确性。这些正则化与NAS正交,它们可以成为进一步提高GPUNet准确性的优秀未来工作12234→ → → → →→→ → → →→→→→ → → →→→ → → → →→有趣的是,我们还注意到GPUNet的#FLOPS和#参数比基线更大,尽管GPUNet的速度明显更快。这些结果表 明 , 低 FLOPS 模 型 在 GPU 上 不 一 定 很 快 。EfficientNet-X用屋顶模型解释了这一点[18],我们将在第二节中提供更多结果。4.2.4.请注意,我们的最终目标是提供一个按推理延迟分层的模型表,以加快定制。表. 图3和图1仅显示了几个模型,以证明我们的NAS系统可以在表中提出的搜索空间上有效地设计快速准确的网络。1.一、我们将在论文发表后发布此模型表4.2.3GPUNet架构图6显示了NAS优化的GPUNet的架构太不规则,不适合人类设计。例如,GPUNet-2中两个相邻的stride=2ER(Fused-IRB)块连续地将H和W减半两次,而人类设计的网络通常在两个stride = 2层之间具有多个stride= 1层。IRB中的激活函数和扩展也没有明显的模式。然而,这些NAS优化的网络在过滤器分布中显示出1允许在开始时使用大过滤器,在结束时使用小过滤器。例如,GPUNet-2的过滤器遵循32 32 116 144 160 224832; GPUNet-0和GPUNet-1也遵循类似的过滤模式。4.2.4为什么GPUNet更快更好?我们还比较了FBNet和EfficientNet与GPUNet的架构以下是我们发现的一些关键差异,可以解释GPUNet的性能。让• 混 合 激 活 类型 : 图 。 6 表 明 GPUNet 在ReLU 和Swish之间切换,但EfficientNet和FBNet在所有层上都使用Swish。图3建议Swish大大增加了延迟。GPUNet的一些更大的过滤器。• IRB中的扩展较少:图。图3.C显示,通过将所有IRB中的扩展从1增加到6,网络延迟几乎加倍扩展是我们搜索空间的一部分,因此一些GPUNet层倾向于使用小的扩展来节省延迟。• 更 宽和 更深 : 过滤 器( 宽 )和 阶段 中 的层 数(深)是我们搜索空间的一部分。由于混合激活节省了延迟Backbone ImageNet top1方法TRT延迟(ms)mAP GPUNet-2 82.2Cascade RCNN 5.2 40.0表4.将GPUNet应用于COCO对象检测任务。使用1333x800的分辨率测量延迟。和 更 少 的 扩 展 , GPUNet 往 往 比 FBNet 和EfficientNet 更 宽 更 深 。 在 相 同 的 精 度 组 中 ,FBNetV 3-B的滤波器遵循16 24 40 72 120 183 224的模式,EfficientNet-B2的过滤模式为3216244888120208352,但GPUNet-1比FBNetV 3-B和EfficientNet-B2宽得多,其模式为24 64 96 160 288448.此外,GPUNet-2有33层,比FBNetV 3-F多2层,比EfficientNet-B3多5层。众所周知,深度和广度的网络具有更好的准确性;因此,GPUNet的准确性优于每个组内的基线。• 更大的分辨率:GPUNet-(1和2)在分辨率上比EfficientNet-B2和B3大32和64,比FBNetV 3-B和FBNetV 3-F大72和120。使用大分辨率通常提高精度;因此,GPUNet显示出比基线更好的精度和更高的FLOPS。4.3. 对检测任务我们在COCO检测任务上测试GPUNet。我们通过替换级联RCNN中的主干来评估GPUNet、FBNetV 3-F和EfficientNet-B3在COCO检测任务中的作用[9]。表. 4显示GPUNet-2不仅更快,而且比基线模型提供更高的mAP。5. 结论模型定制对于DL工程来说是一个挑战。在这项工作中,我们建议构建一个模型中心,根据其推理延迟进行分层,以加快模型定制,这有助于从业者在考虑已知TensorRT延迟和兼容性的情况下重用我们的预训练模型。通过一个新的分布式NAS系统和一个增强的搜索空间来设计一套快速准确的GPUNet,我们建立了一个新的SOTA Pareto边界的延迟和准确性,验证了我们的NAS系统的有效性虽然本文主要关注EfficientNet搜索空间,但我们的NAS系统是通用的,可以支持各种任务和搜索空间。最终,我们打算维护一个NAS优化模型的中心,跟踪最新的技术,以便ML从业者可以直接重用它们。ResNet-5080.3Cascade RCNN 5.840.4FBNetV3-F82.1Cascade RCNN 7.9026.5EfficientNet-B3 81.6Cascade RCNN 10.6528.4012235引用[1] 黑盒优化挑战。网址://bbochallenge.com/leaderboard/网站。二、五[2] Intelhttps://www.英特尔com/content/www/us/en/developer/tools/openvino-toolkit/overview.html. 1[3] Nvidia 的 tensorrt 。 h t t p s : //developer. 英 伟 达com/tensorrt. 1[4] Pytorch 图 像 模 型 。https : //GitHub.com/rwightman/pytorch-image-models. 六、七[5] 在 pytorch 中 实 现 的 sobol 序 列 网 址 : http ://pytorch.org/docs/stable/generated/torch quasirandom.SobolEngine.html。5[6] 安德烈·阿劳霍韦德·诺里斯和杰克·西姆卷积神经网络的接收域计算蒸馏,2019年。https://distill.pub/2019/computing-receptive-fields. 4[7] 包航波,李东,魏福如。Beit:Bert图像转换器的预训练。arXiv预印本arXiv:2106.08254,2021。3[8] 韩才、朱立庚、宋涵。Proxylessnas:在目标任务和硬件上直接进行神经结构搜索。arXiv预印本arXiv:1812.00332,2018。2[9] 赵伟蔡和努诺·瓦斯康塞洛斯。级联r-cnn:深入研究高质量的目标检测。在IEEE计算机视觉和模式识别会议论文集,第6154-6162页,2018年。8[10] 戴晓亮,万文,张培昭,吴碧晨,何子建,甄伟,陈侃,田远东,余修,彼得·瓦伊达,等. Fbnetv 3:使用预测器预训练的联合架构-配方搜索。在IEEE/CVF计算机视觉和模式识别会议论文集,第16276-16285页二、七[11] Jia Deng,Wei Dong,Richard Socher,
下载后可阅读完整内容,剩余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直接复制
信息提交成功