3.2 通过推理延迟分层网络
图5
为了设计由推理延迟划分的网络,选择直接度量搜索空间中网络的延迟。因为搜索空间的大小呈指数级大,通过从它中采样数百万个网络来近似搜索空间。采样技术对于捕获搜索空间的真实分布至关重要,这里使用Sobol序列,其优点在图5中很简单。采样是一种低成本的操作,可以在一分钟内获得数百万个样本。
具有挑战是测量采样网络的延迟。由于TensorRT已经主导了MLPerf推理基准,而又希望度量由TensorRT优化的推理延迟。然而,TensorRT需要几分钟来构建测量的推理引擎,这使得测量所有采样网络不可行。
作者通过增加每一层的延迟来近似一个网络的延迟。虽然搜索空间呈现了1030个网络,但这些层的配置却很有限,例如,在例子中是104个网络。因此,可以通过构建一个以输入数据形状和Layer配置作为关键的延迟表来显著加快延迟测量的速度。
给定一个网络,通过Layer的迭代来查找延迟。如果表中不存在一个Layer,则只对它进行基准测试,并在表中记录它的延迟。最后,网络延迟是所有Layer的延迟之和。
图4
从图4可以看出,表估计延迟接近网络的实际延迟,表估计平均高于实际端到端测量值75µs。因为整个网络比单层有更多的层融合机会。对∼104层进行基准测试仍然是一项昂贵的任务,在多gpu上并行管理延迟表,以加快从几周到几天的进程。
3.3 GPUNet的整体架构
3.4 为什么GPUNet这么快?
1、Mixed types of activation
图6显示,GPUNet
在RELU
和Swish
之间切换,但EfficientNet
和FBNet
在所有层中都使用了Swish
。图3.A表明,Swish
大大增加了延迟。GPUNet
的一些层使用RELU
来减少其他机会以提高精度的延迟,例如,更大的滤波器。
2、Fewer expansions in IRB
图3.C显示,通过将所有IRB
的expansions从1增加到6,网络延迟几乎增加了一倍。expansions是搜索空间的一部分,所以一些GPUNet
层往往有较小的expansions来节省延迟。
3、Wider and Deeper
在一个阶段中的过滤器(宽)和层数(深)是搜索空间的一部分。由于混合激活的延迟节省和较少的expansions,GPUNet
趋向于比FBNet
和EfficientNet
更宽更深。
在同一精度组,FBNetV3-B
遵循16→24→40→72→120→183→224,EfficientNet-B2
遵循32→16→24→48→88→120→208→352,但GPUNet-1
比FBNetV3-B
和EfficientNet-B2
的模式24→64→96→160→288→448。
此外,GPUNet-2
有33层,比FBNetV3-F
多2层,比EfficientNet-B3
多5层。众所周知,更深网络和更宽的网络具有更好的准确性;因此,GPUNet
的准确性在每一组内都优于Baseline。
4、Larger Resolution
GPUNet-(1和2)
的分辨率分别比EfficientNet-B2
和EfficientNet-B3
大32和64,比FBNetV3-B
和FBNetV3-F
分别大72和120。使用大分辨率通常可以提高精度;因此,GPUNet
显示出比Baseline更好的精度和更高的FLOPS
。
3实验
分类任务
检测任务
4参考
[1].Searching the Deployable Convolution Neural Networks for GPUs
5推荐阅读
即插即用 | 英伟达提出FAN,鲁棒性和高效性超越ConvNeXt、Swin