Connect with us

人工智能

EfficientViT:用于高分辨率计算机视觉的内存高效视觉变换器

mm

由于其高模型容量,Vision Transformer 模型在最近的时间里获得了巨大的成功。尽管它们具有出色的性能,但视觉变换器模型有一个主要的缺陷:它们令人印象深刻的计算能力是以高计算成本为代价的,这也是为什么视觉变换器不是实时应用的首选原因。为了解决这个问题,一组开发人员推出了 EfficientViT,一系列高速度视觉变换器。

在开发 EfficientViT 的过程中,开发人员观察到当前变换器模型的速度往往受到低效的内存操作的限制,特别是在 MHSA 或多头自注意力网络中,元素级函数和张量重塑等操作尤其耗时。为了解决这些低效的内存操作,EfficientViT 开发人员创建了一个新的构建块,采用三明治布局,即 EfficientViT 模型使用单个内存相关的多头自注意力网络,位于高效的 FFN 层之间,以提高内存效率和增强整体通道通信。此外,模型发现注意力图通常具有高相似性,导致计算冗余。为了解决冗余问题,EfficientViT 模型提出了一种级联组注意力模块,该模块将注意力头分配到特征的不同部分,从而不仅节省计算成本,还能提高注意力多样性。

对 EfficientViT 模型进行的综合实验表明,在不同场景下,EfficientViT 模型在计算机视觉任务中优于现有的高效模型,同时在准确率和速度之间取得了良好的平衡。因此,让我们更深入地探索 EfficientViT 模型。

视觉变换器和 EfficientViT 介绍

视觉变换器仍然是计算机视觉行业中最受欢迎的框架之一,因为它们提供了卓越的性能和高计算能力。然而,随着视觉变换器模型的准确率和性能不断提高,运营成本和计算开销也随之增加。例如,当前在 ImageNet 数据集上提供最先进性能的 SwinV2 和 V-MoE 模型分别使用 3B 和 14.7B 参数。这些模型的庞大规模,加上计算成本和要求,使得它们在实时设备和应用中实际上不太适用。

EfficientNet 模型旨在探索如何提高视觉变换器模型的性能,并寻找设计高效和有效的变换器框架的原则。EfficientViT 模型基于现有的视觉变换器框架,如 Swim 和 DeiT,并分析了三个影响模型干扰速度的基本因素,包括计算冗余、内存访问和参数使用。此外,模型观察到视觉变换器模型的速度受到内存限制,即计算能力的充分利用受到内存访问延迟的限制,从而对变换器的运行速度产生负面影响。MHSA 或多头自注意力网络中的元素级函数和张量重塑是最耗时的操作。模型进一步观察到,优化 FFN(前馈网络)和 MHSA 之间的比例,可以显著减少内存访问时间而不影响性能。然而,模型也观察到,由于注意力头倾向于学习相似的线性投影,注意力图中存在冗余。

… (rest of the translation remains the same, following the exact structure and format as the original)

专业为工程师,心为作家。 Kunal是一名技术作家,对AI和ML有着深厚的热爱和理解,致力于通过其引人入胜和信息丰富的文档来简化这些领域中的复杂概念。