FasterViT

英伟达提出分层注意力,一种新型的混合架构FasterViT,它取得了更优的性能-吞吐量均衡,达成了新的Pareto前沿。

论文地址:https://arxiv.org/abs/2306.06189

代码地址:https://github.com/NVlabs/FasterViT

本文旨在面向主流硬件设备(如GPU)研发具有高吞吐量的骨干架构。当前主流硬件设备包含多个CUDA与Tensor核计算单元,它需要进行频繁的数据迁移进行计算,可能会受到数据移动带宽影响。因此,以下两种类型算子需要进行精心平衡以最大化吞吐量:

  • 受计算量约束的算子称之为math-limited,笔者将其称之为计算约束算子;

  • 受访存迁移约束的算子称之为memory-limited,笔者将其称之为访存约束算子

 方案 

上图给出了本文所提FasterViT架构示意图,从中可以看到:

  • 在网络的前半部分,特征分辨率比较大,推理效率主要受访存约束,故它仅采用了卷积类操作以充分利用稠密卷积;

  • 在网络的后半部分,特征分辨率比较小,推理效率会受计算约束,故它采用了attention等操作提升表达能力。

 注2: 上述CT初始化步骤仅在每个stage执行一次, 每个Stage有自己独一的CTs。

上图对比了不同全局-局部自注意力模块之间的区别,所提HAT将自注意力拆分为局部与亚全局形式且可压缩为2个稠密注意力。  whaosoft aiot http://143ai.com 

本文实验

 ImageNet分类

上表对比了不同Backbone在ImageNet分类任务上的性能,可以看到:

  • 相比卷积架构,在同等吞吐量下,FasterViT具有更高的精度;

  • 相比Transformer架构,FasterViT具有更快的推理速度;

  • 相比其他混合架构,FasterViT具有更高的吞吐量,同时具有更优的Top1性能。

COCO检测与实例分割

上表给出了COCO检测与实例分割任务上不同方案性能对比,从中可以看到:

  • 相比其他方案,FasterViT具有更优的精度-吞吐量均衡

  • 相比ConvNeXt-B,FasterViT指标高出0.2boxAP、0.3MaskAP,同时吞吐量高出15%;

  • 相比Swin-B,FasterViT指标高1.0boxAP、1.0maskAP,同时吞吐量高出30%。

ADE20K分割

上表给出了ADE20K语义分割任务上不同方案性能对比,可以看到:

  • FasterViT具有更优的性能-吞吐量均衡;

  • 相比Swin-B,FasterViT指标高出1.0mIoU@ss, 0.7mIoU@ms,同时吞吐量高出16.94%;

  • 相比ConvNeXt-B,FasterViT指标高出0.4mIoU@ms,同时吞吐量高出7.01%。

猜你喜欢

转载自blog.csdn.net/qq_29788741/article/details/131263314