GPUNet | 英伟达打造最强轻量化模型,让你享受高精度、高速度的同时简单部署(一)

本文涉及的产品
文件存储 NAS,50GB 3个月
简介: GPUNet | 英伟达打造最强轻量化模型,让你享受高精度、高速度的同时简单部署(一)

1简介


长期以来,神经网络的进展已经与实际部署脱离。深度学习的研究人员致力于发明新的构建块,而DL工程师在现实任务中部署这些构建块,煞费苦心地重新组合它们,以找到满足设计要求的架构。

大多数情况下可以简化这些需求,以在特定的延迟预算内找到目标设备(例如,gpu)上性能最好的架构。虽然在神经网络设计方面有许多令人兴奋的进展,如残差连接、倒置残差块(IRB)和注意力,但部署这些网络设计仍然具有挑战性;这也是本文需要解决的问题。

为了缓解DL研究和实际部署之间的差距,本文提出了一套优化的卷积神经网络,根据每种图形处理器的优化推理延迟(例如,TensorRT或OpenVINO的后处理)分级。具体来说提供了一个模型表,其中的一个条目是模型优化的结果,从最大化精度到GPU推断延迟的限制。该表格使DL工程师能够根据设计要求直接查询优化的神经体系结构,以加快昂贵模型的定制过程。

作者使用神经结构搜索(NAS)来设计这个表中的模型。最近,NAS在许多任务中自动化网络架构设计方面显示出了良好的结果。因此,NAS可以是一个方便的工具,因为需要为不同的GPU的许多延迟限制设计许多模型。当模型准备好进行建模时,测量后处理的张量延迟,即,包括量化、层/张量融合、kerenl挖掘和其他系统侧模型优化。最后,为NVIDIA GPU产品设计了模型,以供社区广泛采用。

作者构建了一个新的分布式NAS系统来实现目标。本文的NAS由3个模块组成:

  • 搜索空间:按照预定义的模式提供网络
  • 评估模块:基于先验信息提出期望的网络
  • 搜索方法:通过训练或SuperNet的评估来返回被提议网络的性能

本文的搜索空间通过将卷积层IRBsEfficientNet中使用的Fused-IRBs叠加在一起构建网络。本文的搜索空间也是迄今为止最全面的,包括filter numbers(#filters),kernel sizes层数(#layers)或IRBs(#IRBs)以及输入分辨率

IRBsFused-IRBs中还研究了有或没有Squeeze-Excitation (SE)expansion ratio以及activation type。所有这些因素都被认为是影响延迟和准确性的主要因素。

因此,这个搜索空间能够更好地利用准确性和延迟,例如,在NASNet中固定的filter模式和在FBNetV3中固定的激活函数以及SE;通过搜索还可以在EfficientNet中找到比固定expansion ratio更好的策略。

为了支持如此复杂的搜索空间,选择通过训练来评估网络候选。尽管这种方法比SuperNet方法昂贵得多,但这种评估在对架构进行排名时更加准确。

在为搜索空间构建SuperNet时可以避免许多尚未解决的问题,例如,支持多种类型的激活、激活/停用SE和可变 filter sizes。作者构建了一个client-server-style的分布式系统来应对计算挑战,在实验中,它已经健壮地扩展到300 A100 GPU(40个DGX-A100节点)。最后,采用LA-MCTS指导下的贝叶斯优化(BO)作为搜索方法。

image.png图1

将经过NAS优化的CNN命名为GPUNet, GPUNet在延迟和准确性方面建立了一个新的SOTA Pareto前沿,如图1所示。使用TensorRT测量GPUNet的延迟,所以GPUNet对DL实践者是直接可重用的。特别是,GPUNet-1FBNetV3-BEfficientNet-X-B2-GPU快近2倍,精度比FBNetV3-BEfficientNet-X-B2-GPU分别高出0.5%。

作者还在COCO检测任务上验证了GPUNet, GPUNet的性能始终优于EffecentNet-xFBNetV3。所有这些数据验证了NAS系统在设计各种任务时是有效的和通用的。


2GPUNet


首先,搜索算法从搜索空间中选择网络,并使用评价方法评价其性能。然后,搜索算法通过利用所有被评估的网络精度对,在下一次迭代中改进其决策。

image.png图2

NAS由2个阶段组成:

  1. 通过推理延迟对网络进行分类;
  2. 在延迟组内的网络上执行NAS以优化准确性。

在第一阶段(图2.A),使用Sobol采样,均匀地从高维搜索空间中提取网络候选,使用延迟查找表近似网络延迟,然后将网络分类为子搜索空间,如网络<0.5ms。通过从延迟查找表中总结每一层的延迟来近似推断延迟。延迟表使用输入数据形状和图层配置作为确定图层延迟的关键。

在第二阶段(图2.B),贝叶斯优化使用一个子空间,在子空间的延迟范围内寻找性能最好的网络。作者构建了一个client-server-style分布式框架来执行NAS。该搜索算法在服务器上运行,为client提供网络服务。经过训练后,client将返回准确性和网络。

2.1 搜索空间

搜索空间规定了候选网络的一般结构,本文的搜索空间受到EffecentNet的启发。请注意,本文的搜索框架是通用的,可以支持各种搜索空间,例如,为视觉任务设计ViTMLP。尽管ViT最近彰显出了出色的性能,但这里关注的是ConvNet,因为它是当前TensorRT支持最好的,它对gpu上的快速推理执行关键的性能优化。

image.png表1

表1展示了本文中使用的搜索空间的详细信息。搜索空间由8个阶段组成。在这里,搜索每个阶段的配置,阶段中的层共享相同的配置。

  • 前两个阶段是利用卷积搜索Head结构。
  • EffecentNet v2的启发,2和3阶段使用了Fused-IRBs。但观察到用Fused-IRBs替代其余的IRBs后,延迟增加。
  • 从第4阶段到第7阶段,使用IRBs作为基本层。

#Layers显示了阶段#Layers的范围,例如,在阶段4的[3,10]意味着阶段可以有3到10个IRBs。#Filters显示了阶段中各层的Filters范围。搜索空间还调整了Squeeze-Excitation (SE)expansion ratio以及activation type等。最后,在步长为32时,输入图像的尺寸由224增加到512。

image.png图3

搜索空间的合理性

与之前的工作不同,本文的搜索是由准确性和TensorRT优化推理延迟指导的。在一个好的实验设计中,应该找出与设计目标最相关的因素,即快速准确的网络。表1展示了发现的几个影响延迟和准确性的突出因素。这里提供实证数据:

#Layers and Filters:

从已发表的结果中获得的大量证据表明,深度或广度的网络比浅层或狭窄的网络性能更好,而添加#Layers或增加Filters会拖慢推理。#Layer和Filters是准确性和延迟的必要设计选择。

Activation

过去的许多研究表明,良好的激活函数设计可以显著提高ImageNet上的最终精度,而图3.A显示使用ReLU的网络可以比使用PReLU快4倍。通常,激活函数是内存绑定操作。而TensorRT在层融合中支持ReLUSigmoidTanh,这就解释了速度差距。因此,激活函数的选择是延迟和准确性权衡的一个重要因素。

Expansion

IRBFusion-IRB使用1x1卷积在内部扩展通道大小,Expansion控制内部通道的大小。MobileNet的论文声称,更大的通道扩张将有助于提高网络的容量和表现力。

作者的演示结果也与MobileNet相一致。例如,将Expansion从6减少到2后,网络的精度在ImageNet top-1上下降了4个点,而增加Expansion会带来不可忽视的成本(图3.C)。这些数据表明,Expansion是搜索的一个重要因素。

Kernel

大卷积核可以增大感受野,提高精度。尽管如此,它也增加了延迟(图3.D),这在搜索空间中验证了kernel大小的选择。

SE

Squeeze-Excitation是由2017年ILSVRC获奖作品引入的,比前一年提高了25%。添加SE后,图3显示延迟明显增加。这证明SE是搜索空间中的一个因素。

Image Resolution

EffecentNet清楚地展示了通过增加分辨率来提高精度的方法,如图3所示。B显示延迟也显著增加。因此,寻找输入图像的分辨率,以获得更好的准确性和延迟折衷。

网络和搜索空间表示

现在有了搜索空间的大致情况;接下来是找到体现设计的适当表现形式。使用一个整数向量对从表1中描述的搜索空间采样的网络进行编码。向量的长度为41,表2详细描述了每个数字表示的超参数。

image.png

阶段1和阶段0有相同的滤波器数,我们只搜索前3x3卷积(阶段0)的滤波器大小。因为在一个共享配置阶段,我们使用6的整数表示filter sizekernel sizeexpansion ratio是否使用SE,激活的类型,以及2-7阶段的IRB数量。因此,网络是表2中描述的向量的一个实例,每个数字的范围共同定义了表1中的搜索空间。

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
机器学习/深度学习 存储 人工智能
英伟达 H100 vs. 苹果M2,大模型训练,哪款性价比更高?
训练和微调大型语言模型对于硬件资源的要求非常高。目前,主流的大模型训练硬件通常采用英特尔的CPU和英伟达的GPU。然而,最近苹果的M2 Ultra芯片和AMD的显卡进展给我们带来了一些新的希望。
1198 0
|
3月前
|
存储 人工智能 固态存储
NVIDIA破局第二曲线创新问题之NVIDIA大模型平台软件在云智能时代的作用如何解决
NVIDIA破局第二曲线创新问题之NVIDIA大模型平台软件在云智能时代的作用如何解决
36 0
|
6月前
|
人工智能 文字识别 并行计算
面壁推出超强端侧多模态模型,推理仅需8G显存!
面壁小钢炮 MiniCPM 系列,再次推出超强端侧多模态模型 MiniCPM-Llama3-V 2.5,且支持 30+ 多种语言
|
机器学习/深度学习 人工智能 芯片
一文详解多模态大模型发展及高频因子计算加速GPU算力 | 英伟达显卡被限,华为如何力挽狂澜?
近年来,全球范围内的芯片禁令不断升级,给许多企业和科研机构带来了很大的困扰,需要在技术层面进行创新和突破。一方面,可以探索使用国产芯片和其他不受限制的芯片来替代被禁用的芯片;另一方面,可以通过优化算法和架构等方法来降低对特定芯片的依赖程度。
|
6月前
|
机器学习/深度学习 人工智能 弹性计算
阿里云林立翔:基于阿里云GPU的AIGC小规模训练优化方案
阿里云弹性计算林立翔在【AIGC】话题下带来了题为《基于阿里云GPU的AIGC小规模训练优化方案》的主题演讲,围绕生成式AI技术栈、生成式AI微调训练和性能分析、ECS GPU实例为生成式AI提供算力保障、应用场景案例等相关话题展开。
|
传感器 机器学习/深度学习 人工智能
再见吧云台!AI“魔法”让视频稳定起来
再见吧云台!AI“魔法”让视频稳定起来
|
6月前
|
机器学习/深度学习 人工智能 弹性计算
阿里云GPU V100 4卡:高效AI推理的领航者
随着人工智能的发展,AI推理在各种应用中扮演着越来越重要的角色。本文将详细介绍如何利用阿里云GPU产品中的V100 4卡完成高效的AI推理。我们将涵盖什么是AI推理、V100 4卡的产品介绍、程序代码以及具体使用流程,带你一步步了解和应用这一先进的技术。
899 0
|
6月前
|
机器学习/深度学习 人工智能 芯片
AI芯片设计与优化:算力提升、能耗降低与硬件加速器的发展趋势
AI芯片设计与优化:算力提升、能耗降低与硬件加速器的发展趋势
1158 0
|
人工智能 分布式计算 算法
详解AI加速器(四):GPU、DPU、IPU、TPU…AI加速方案有无限种可能(2)
详解AI加速器(四):GPU、DPU、IPU、TPU…AI加速方案有无限种可能
639 0
|
机器学习/深度学习 人工智能 编解码
双芯片四芯粒互联,寒武纪发布AI训练卡MLU370-X8:性能超越RTX
双芯片四芯粒互联,寒武纪发布AI训练卡MLU370-X8:性能超越RTX
548 0
双芯片四芯粒互联,寒武纪发布AI训练卡MLU370-X8:性能超越RTX