0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一种显著降低Transformer计算量的轻量化方法

CVer 来源:CVHub 2023-01-10 14:12 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

导读

这项工作旨在提高视觉Transformer(ViT)的效率。虽然ViT在每一层中使用计算代价高昂的自注意力操作,但我们发现这些操作在层之间高度相关——这会导致产生很多不必要计算的冗余信息。基于这一观察,我们提出了SKIPAT方法,该方法利用前面层的自注意力计算来近似在一个或多个后续层的注意力。为了确保在层之间重用自注意力块而不降低性能,我们引入了一个简单的参数函数,该函数在计算速度更快的情况下能表现出优于基准Transformer的性能。我们在图像分类和ImageNet-1K上的自我监督学习、ADE20K上的语义分割、SIDD上的图像去噪以及DAVIS上的视频去噪中展示了我们方法的有效性。我们在所有这些任务中都在相同或更高的准确度水平下实现了提高模型吞吐量。

背景

28758fee-90a5-11ed-bfe3-dac502259ad0.png

Performance of SKIPAT across 5 different tasks.

Transformer架构已经成为一个重要且影响深远的模型系列,因为它简单、可扩展,并且应用广泛。虽然最初来自自然语言处理(NLP)领域,但随着视觉transformer(ViT)的出现,这已成为计算机视觉领域的标准架构,在从表示学习、语义分割、目标检测到视频理解等任务中获得了各种最先进(SoTA)性能。

然而,transformer的原始公式在输入令牌(token)数量方面具有二次计算复杂度。鉴于这个数字通常从图像分类的14^2到图像去噪的128^2 = 16K不等,内存和计算的这一限制严重限制了它的适用性。目前有三组方法来解决这个问题:第一组利用输入令牌之间的冗余,并通过高效的抽样简单地减少计算,例如丢弃或合并冗余令牌。然而,这意味着ViT的最终输出不是空间连续的,因此不能超出图像级别(image-level)的应用,如语义分割或目标检测。第二组方法旨在以低成本计算近似注意力,但通常以性能降低为代价。最后,另一组工作旨在将卷积架构与transformer合并,产生混合架构。虽然这些方法提高了速度,但它们并没有解决二次复杂度的基本问题,并且通常会引入过多的设计选择(基本上是transformer和CNN的联合)。

在这项工作中,我们提出了一种新颖的、迄今为止未经探索的方法:利用计算速度快且简单的参数函数来逼近transformer的计算代价高的块。为了得出这个解决方案,我们首先详细地分析了ViT的关键多头自注意力(MSA)块。通过这项分析,我们发现CLS令牌对空间块的注意力在transformer的块之间具有非常高的相关性,从而导致许多不必要的计算。这启发了我们的方法利用模型早期的注意力,并将其简单地重用于更深的块——基本上是“跳过”后续的SA计算,而不是在每一层重新计算它们。

基于此,我们进一步探索是否可以通过重用前面层的表示来跳过整一层的MSA块。受ResneXt的深度卷积的启发,我们发现一个简单的参数函数可以优于基准模型性能——在吞吐量和FLOPs的计算速度方面更快。我们的方法是通用的,可以应用于任何上下文的ViT:上图显示,我们的跳过注意力(SKIPAT)的新型参数函数在各种任务、数据集和模型大小上都能实现与基准transformer相比更优的精度与效率。

综上所述,我们的贡献如下所示:

我们提出了一种新型的插件模块,可以放在任何ViT架构中,以减少昂贵的O(n^2)自注意力计算复杂度。

我们在ImageNet、Pascal-VOC2012、SIDD、DAVIS和ADE20K数据集上实现了在吞吐量指标上的最SOTA性能,并获得了同等或更高的准确度。

我们的方法在没有下游准确度损失的情况下,自监督预训练时间能减少26%,并且在移动设备上展示了优越的延迟,这都证明了我们方法的普适性。

我们分析了性能提升的来源,并对我们的方法进行了大量的实验分析,为提供可用于权衡准确度和吞吐量的模型系列提供了支持。

方法

28816972-90a5-11ed-bfe3-dac502259ad0.png

SKIPAT framework.

引言

Vision Transformer

设x ∈ R^(h×w×c) 为一张输入图像,其中h × w是空间分辨率,c是通道数。首先将图像分成n = hw/p^2个不重叠的块,其中p × p是块大小。使用线性层将每个块投影到一个embedding zi ∈ R^d 中,从而得到分块的图像:

288c80b4-90a5-11ed-bfe3-dac502259ad0.png

Transformer Layer

Transformer的每一层由多头自注意力(MSA)块和多层感知机(MLP)块组成。在MSA块中,Zl−1 ∈ R^(n×d),首先被投影到三个可学习embeddings {Q, K, V } ∈ R^(n×d)中。注意力矩阵A的计算公式如下:

289c140c-90a5-11ed-bfe3-dac502259ad0.png

MSA中的“多头”是指考虑h个注意力头,其中每个头是一个n × d/h 矩阵的序列。使用线性层将注意头重新投影回n × d,并与值矩阵结合,公式如下所示:

28a77216-90a5-11ed-bfe3-dac502259ad0.png

然后,将MSA块的输出表示输入到MLP块,该块包括两个由GeLU激活分隔的线性层。在给定层l处,表示通过transformer块的计算流程如下:

28b586f8-90a5-11ed-bfe3-dac502259ad0.png

MSA和MLP块都具有带层正则化(LN)的残差连接。虽然transformer的每一层中的MSA块均是学习互不依赖的表示,但在下一小节中,我们将展示这些跨层间存在高度相关性。

启发: 层相关性分析

Attention-map correlation

28c1334a-90a5-11ed-bfe3-dac502259ad0.png

Attention correlation.

ViT中的MSA块将每个块与每个其他块的相似性编码为n × n注意力矩阵。这个运算符具有O(n^2)复杂度(公式2)的计算成本。随着ViT的扩展,即随着n的增加,计算复杂度呈二次增长,使得这个操作成为性能瓶颈。最近的NLP工作表明,SoTA语言模型中相邻层之间的自注意力具有非常高的相关性。这引发了一个问题 -在视觉transformer是否真的需要每一层都计算自注意力?

28d0b90a-90a5-11ed-bfe3-dac502259ad0.png

CKA analysis of A^[CLS] and Z^MSA across different layers of pretrained ViT-T/16.

为了回答这个问题,我们分析了ViT不同层之间自注意力图的相关性。如本节图1所示,来自类别token的自注意力图A^[CLS]在中间层特别具有高度相关性。A^[CLS]l−1和A^[CLS]l 之间的余弦相似度可以高达0.97。其他token embeddings 也表现出类似的行为。我们通过计算每对i,j∈L的A^[CLS]i和A^[CLS]j之间的Centered Kernel Alignment(CKA)来定量分析ImageNet-1K验证集的所有样本之间的相关性。CKA度量网络中间层获得的表示之间的相似性,其中CKA的值越高则表示它们之间的相关性越高。从本节图2中,我们发现ViT-T在A^[CLS]之间具有高度性,特别是第三层到第十层。

Feature correlation

在ViT中,高相关性不仅局限于A^[CLS],MSA块的表示Z^MSA也在整个模型中显示出高度相关性。为了分析这些表示之间的相似性,我们计算每对i,j∈L的Z^MSAi和Z^MSAj之间的CKA。我们从从本节图2中观察到,Z^MSA在模型的相邻层之间也具有很高的相似性,特别是在较早的层,即从第2层到第8层。

利用 Skipping Attention 提升效率

基于我们对transformer中MSA不同块之间具有高度相似性的观察,我们建议利用注意力矩阵和MSA块的表示之间的相关性来提高视觉transformer的效率。与在每层单独计算MSA操作(公式3)相反,我们探索了一种利用不同层之间依赖关系的简单且有效的策略。

我们建议通过重用其相邻层的特征表示来跳过transformer的一个或多个层中的MSA计算。我们将此操作称为Skip Attention(SKIPAT)。由于跳过整个MSA块的计算和内存效益大于仅跳过自注意力操作 O(n^2d+nd^2) vs. O(n^2d),因此在本文中我们主要关注前者。我们引入了一个参数函数,而不是直接重用特征,换句话说,就是将来源MSA块的特征复制到一个或多个相邻MSA块。参数函数确保直接重用特征不会影响这些MSA块中的平移不变性和等价性,并充当强大的正则化器以提高模型泛化性。

SKIPAT parametric function

设 Φ:R^(n×d) → R^(n×d)表示将l−1层的MSA块映射到l层的参数函数,作为Ẑ^MSA l:=Φ(Z^MSA l−1)。在这里,Ẑ^MSA l是Z^MSA l的近似值。参数函数可以是简单的单位函数,其中Z^MSA l−1能被直接重用。我们使用Z^MSA l−1作为l处的MLP块的输入,而不是在l处计算MSA操作。当使用单位函数时,由于l处没有MSA操作,因此在注意力矩阵中的token间关系不再被编码,这会影响表示学习。为了减轻这一点,我们引入了SKIPAT参数函数,用于对token之间的局部关系进行编码。SKIPAT参数函数由两个线性层和中间的深度卷积(DwC)组成,计算公式如下所示:

28eefbc2-90a5-11ed-bfe3-dac502259ad0.png

SKIPAT framework

SKIPAT 是一种可以被纳入任何 transformer 架构的框架,我们通过大量实验对比结果充分地证明了这一点。根据架构的不同,可以在 transformer 的一层或多层中跳过 MSA 操作。在 ViT 中,我们观察到来自 MSA 块(Z^MSA )的表示在第 2 层到第 7 层之间有很高的相关性,所以我们在这些层中使用 SKIPAT 参数函数。这意味着我们将 Z^MSA2 作为输入传递给 SKIPAT 参数函数,并在 3-8 层中跳过 MSA 操作。相反,来自 SKIPAT 参数函数输出的特征被用作 MLP 块的输入。表示的计算流现在被修改为:

28ff4d92-90a5-11ed-bfe3-dac502259ad0.png

由于 MSA 和 MLP 块中存在残留连接,第 3 层到第 8 层的 MLP 块需要独立地学习表示,不能从计算图中删除。值得注意的是,使用 SKIPAT 后 ViT 的总层数不变,但 MSA 块的数量减少了。

Complexity: MSA vs. SKIPAT

自注意力操作包括三个步骤。首先,将token embeddings 投射到query、key和value embeddings,其次,计算注意力矩阵 A,它是 Q 和 K 的点积,最后,计算输出表示作为 A 和 V 的点积。这导致了计算复杂度为 O(4nd^2 + n^2d)。由于 d ≪ n,所以 MSA 块的复杂度可以降低到 O(n^2d)。

SKIPAT 参数函数由两个线性层和一个深度卷积操作组成,计算复杂度为 O(2nd^2 + r^2nd),其中 r × r 是 DwC 操作的内核大小。由于 r^2 ≪ d,所以 SKIPAT 的整体复杂度可以降低到 O(nd^2)。因此,当 n 随着 transformer 的扩大而增加时,SKIPAT 的 FLOPs值 比 MSA 块更少,即 O(nd^2) < O(n^2d)。

实验

290a2960-90a5-11ed-bfe3-dac502259ad0.png

上图展示的是分割mask的可视化效果:第一行和第二行分别是原始Vit-S模型和Vit-S + SKIPAT模型。显而易见,Vit-S + SKIPAT模型对图像中前景和背景的区分度显著高于原始Vit-S模型。

298a9d48-90a5-11ed-bfe3-dac502259ad0.png

上图展示的是注意力图的可视化效果:对比原始Vit-S模型(baseline),Vit-S + SKIPAT模型对目标的定位能力有明显提升。

29993204-90a5-11ed-bfe3-dac502259ad0.png

上图展示的是特征图和Z^MSA的相关性:从中可以清晰地观察到在大多数不同层之间Z^MSA仅有较低的相关性。

图象分类

29a68e40-90a5-11ed-bfe3-dac502259ad0.png

Image classification on ImageNet-1K.

自监督

29b3284e-90a5-11ed-bfe3-dac502259ad0.png

Unsupervised Segmentation and Object Localization on the validation set of Pascal VOC2012.

推理性能

29c8a66a-90a5-11ed-bfe3-dac502259ad0.png

On-device latency (in msec) of vanilla ViT vs. SKIPAT.

语义分割

29d781b2-90a5-11ed-bfe3-dac502259ad0.png

Semantic Segmentation results on ADE20K.

图像去噪

2a01f370-90a5-11ed-bfe3-dac502259ad0.png

Image denoising on SIDD dataset using PSNR andSSIM as the evaluation metrics in the RGB space.

总结

我们提出了一种可以在任何 ViT 架构中即插即用的模块 SKIPAT,用于减少昂贵的自注意力计算。SKIPAT 利用 MSA 块之间的依赖性,并通过重用以前 MSA 块的注意力表示来绕过注意力计算。此外,我们引入了一个简单且轻量的参数函数,它不会影响 MSA 中编码的归纳偏见。SKIPAT 函数能够捕获跨token之间的关系,在吞吐量和 FLOPs 指标上优于基线模型,同时我们在7 种不同的任务中充分地表现出SKIPAT的有效性。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编码
    +关注

    关注

    6

    文章

    1015

    浏览量

    56647
  • Transformer
    +关注

    关注

    0

    文章

    154

    浏览量

    6809
  • 自然语言处理

    关注

    1

    文章

    629

    浏览量

    14562

原文标题:即插即用!Skip-Attention:一种显著降低Transformer计算量的轻量化方法

文章出处:【微信号:CVer,微信公众号:CVer】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于SIMP与折衷规划法的航空附件齿轮箱结构轻量化设计与动态特性提升

    航空发动机附件齿轮箱作为动力传递系统的关键部件,其箱体结构设计直接影响发动机的功率密度、可靠性及振动特性。针对传统经验设计方法难以满足高刚度、轻量化及高动态性能要求的挑战,本文提出了一种基于折衷规划法的多目标拓扑优化
    的头像 发表于 11-07 15:21 420次阅读
    基于SIMP与折衷规划法的航空附件齿轮箱结构<b class='flag-5'>轻量化</b>设计与动态特性提升

    长城汽车荣获2025汽车轻量化大会六项大奖

    近日,从2025(第十八届)汽车轻量化大会传来消息,长城汽车凭借“新代超强高性能车身”及系列创新技术,举荣获 6 项大奖,成为同期车身会议和轻量化设计大赛的“大满贯”获奖厂商。
    的头像 发表于 09-25 14:27 431次阅读

    H6392芯片5W轻量化与100W高性能——风扇升压芯片的选型逻辑与设计指南

    前言:升压芯片如何驱动风扇? 在直流风扇设计中,升压芯片的作用是将电池或适配器的低电压转换为驱动风扇电机所需的高电压,同时确保电路稳定、安全。 H6392作为主流升压芯片,分别针对轻量化与高功率场景
    发表于 09-17 09:57

    【「AI芯片:科技探索与AGI愿景」阅读体验】+第二章 实现深度学习AI芯片的创新方法与架构

    计算 闪存的新颖方法代表了一种多用途的管理模型权重的策略,它根据输入的性质提升性能,从而增强所提出的方案在各种大模型场景中的有效性、可用性和实用性。 3、基于GPU的大模型计算 3.
    发表于 09-12 17:30

    灵活、高效,Sub-GHz频段中的轻量化组网方案

    RFM23A020是轻量化组网SoC芯片,支持Sub-GHz无线通信,适用于低功耗、低成本的无线网络部署。
    的头像 发表于 08-08 15:58 1174次阅读
    灵活、高效,Sub-GHz频段中的<b class='flag-5'>轻量化</b>组网方案

    轻量化AI+AR眼镜热潮将至

    近期,Meta发布了今年第二季度的财报,2025 年第二季度,Meta Reality Labs共实现了 3.7 亿美元的收入,比 2024 年第二季度的 3.53 亿美元增长 5%。在这增长背后的主要原因,是轻量化的Ray-Ban Meta眼镜销量增长明显。
    的头像 发表于 08-07 17:27 1739次阅读

    大模型推理显存和计算估计方法研究

    (如全连接层、卷积层等)确定所需的显存大小; (3)将各层显存大小相加,得到模型总的显存需求。 基于神经网络剪枝的显存估计 神经网络剪枝是一种减少模型参数数量的技术,可以降低显存需求。通过剪枝,可以
    发表于 07-03 19:43

    轻量化5G网关和5gredcap网关有什么区别

    轻量化5G网关与5G RedCap网关本质上是同类技术的不同表述 ,5G RedCap网关是轻量化5G网关的核心实现形式,而轻量化5G网关是RedCap技术应用的场景化概念。以下从技
    的头像 发表于 06-30 09:19 826次阅读

    不同类型的微型导轨精度降低速度有何差异?

    微型导轨是一种高精度、小体积、轻量化的直线运动导轨系统,广泛应用于各种需要精密直线运动的领域。
    的头像 发表于 06-27 18:04 228次阅读
    不同类型的微型导轨精度<b class='flag-5'>降低</b>速度有何差异?

    润和软件破局昇腾310B轻量化难题

    在边缘计算迅猛发展的浪潮中,昇腾310B作为关键AI算力芯片,在嵌入式场景的应用价值持续凸显。但受限于仅适配服务器操作系统的方案,该芯片存在资源轻量化瓶颈,在某些对镜像大小与启动时间有严格限制的特殊
    的头像 发表于 06-25 14:56 1356次阅读
    润和软件破局昇腾310B<b class='flag-5'>轻量化</b>难题

    基于 HT for Web 的轻量化 3D 数字孪生数据中心解决方案

    ,支持 PC、移动端浏览器直接访问,兼容主流操作系统。 轻量化建模体系 : 支持 CAD、BIM 模型导入,通过几何简化、纹理压缩等算法降低模型复杂度,适配 Web 端渲染性能。 提供参数化建模工具,可
    的头像 发表于 05-30 14:33 614次阅读
    基于 HT for Web 的<b class='flag-5'>轻量化</b> 3D 数字孪生数据中心解决方案

    基于双向块浮点量化的大语言模型高效加速器设计

    本文提出双向块浮点(BBFP)量化格式及基于其的LLMs加速器BBAL,通过双向移位与重叠位设计显著降低量化误差,提升非线性计算效率,实现精
    的头像 发表于 05-14 13:40 2107次阅读
    基于双向块浮点<b class='flag-5'>量化</b>的大语言模型高效加速器设计

    唯卓仕AF 50mm F2.0 Air 正式发布:轻量化全画幅镜头重塑50mm经典焦段

    轻量化革新,定义标准焦段新标杆随着全画幅微单市场的持续升温,用户对轻便高性能镜头的需求日益显著。2025年4月2日,国产光学品牌Viltrox唯卓仕正式发布全新AF50mmF2.0AirFE/Z镜头
    的头像 发表于 04-02 14:58 1901次阅读
    唯卓仕AF 50mm F2.0 Air 正式发布:<b class='flag-5'>轻量化</b>全画幅镜头重塑50mm经典焦段

    知行科技将与智驾大陆携手打造轻量化城区领航产品

    近期,知行科技与行业领先的智能驾驶产品供应商智驾大陆正式达成合作,首款合作项目将基于地平线征程6系列计算方案研发轻量化城区领航智驾产品。该产品已获得某国内头部主机厂定点,将于2025年实现量产。以此
    的头像 发表于 01-06 10:13 1379次阅读

    引领轻量化趋势| 法法易轻量化充电枪通过2023版标准强检测试

    法法易轻量化充电枪经过严格的测试与评估,已正式通过2023新国标测试,并荣获相应测试报告。通过的测试报告中详细记录了充电枪的各项性能指标。包括但不限于充电效率、耐久性、防护等级等,均达到了新国标
    的头像 发表于 12-24 09:40 1038次阅读
    引领<b class='flag-5'>轻量化</b>趋势| 法法易<b class='flag-5'>轻量化</b>充电枪通过2023版标准强检测试