减少网络推理时间,通过处理 Token 和内存 Token 实现高效的视觉Transformer !

向量数据库云渲染与流化平台机器学习

点击下方卡片,关注「集智书童」公众号

点击加入👉「集智书童」交流群

picture.image

picture.image

picture.image

picture.image

picture.image

想要了解更多:

前沿AI视觉感知全栈知识👉「分类、检测、分割、关键点、车道线检测、3D视觉(分割、检测)、多模态、目标跟踪、NerF」

行业技术方案 👉「AI安防、AI医疗、AI自动驾驶」

AI模型部署落地实战 👉「CUDA、TensorRT、NCNN、OpenVINO、MNN、ONNXRuntime以及地平线框架」

欢迎扫描上方二维码,加入「 集智书童-知识星球 」,日常分享论文、学习笔记、问题解决方案、部署方案以及全栈式答疑,期待交流!

免责声明

凡本公众号注明“来源:XXX(非集智书童)”的作品,均转载自其它媒体,版权归原作者所有,如有侵权请联系我们删除,谢谢。

减少网络推理时间,通过处理 Token 和内存 Token 实现高效的视觉Transformer !picture.image

作者提出了视觉 Token 图灵机(ViTTM),这是一种高效、低延迟、内存增强的视觉Transformer(ViT)。作者的方法基于神经图灵机和 Token 图灵机,前者用于NLP和序列视觉理解任务,后者用于非序列计算机视觉任务,如图像分类和分割。ViTTMs被设计用于非序列视觉任务,如图像分类和分割。

作者的模型创建了两组 Token :处理 Token 和内存 Token ;处理 Token 通过编码器块并在网络中的每个编码器块从内存 Token 中读写,允许它们在内存中存储和检索信息。

通过确保处理 Token 的数量少于内存 Token 的数量,作者可以减少网络的推理时间,同时保持其准确性。

在ImageNet-1K上,最先进的ViT-B的中位数延迟为529.5ms,准确率为81.0%,而作者的ViTTM-B模型快56%(234.1ms),每个FLOPs少2.4%,准确率为82.9%。

在ADE20K语义分割中,ViT-B在13.8帧/秒(FPS)的高速度下达到45.65mIoU,而作者的ViTTM-B模型达到45.17 mIoU,FPS为26.8,+ 94%。

1 Introduction

视觉 Transformer (ViTs)[8]被用于各种视觉任务,如图像识别、语义分割、目标检测,甚至图像生成。ViTs是许多应用和模型的基础,既可以作为后端,又可以作为底层模型。然而,高性能的ViTs导致了巨大的计算成本,因为它们与输入大小的对数复杂度有关[1,27]。通过标记稀疏化:在推理过程中移除无信息的标记。然而,稀疏化会降低准确度,需要微调或架构修改来恢复准确度。

picture.image

ViTTM是一种结合了自然语言处理和视频 Transformer 的并行标记机-视觉 Transformer 混合,这种融合采用了每层内存机制,从而创建了一个(准确度高、低延迟、高效率)的体系结构[14,38,26]。ViTs训练时可以大幅提高模型性能[32]。最近,标记图灵机(TTM)[30]将记忆和视频 Transformer 结合起来,以有效地处理视频。查找-ViT [20]使用了查找标记(类似于内存)来进行图像的处理。

在本文中,作者提出了ViTTM,这是一种融合了记忆的自然语言处理和视频 Transformer -视觉 Transformer 混合,该混合在类比语言任务上的效率达到了一个极好的目标(低延迟,高准确性,见图2)。ViTTM不仅会处理输入序列,而还会处理一系列的特性。通过使用固定大小的内存,ViTTM相对于ViTs每次层面处理所需通过的标记数量减少了。通过使用内存,保证了ViTTM的效率(通过更快地处理更少的标记)和准确性(通过在内存中存储相关信息)。

picture.image

作者在ImageNet-1K数据集和ADE20K语义分割数据集上评估了ViTTM。ViTTM在ImageNet1K分类上的精确度-延迟权衡具有竞争力,同时扩大了帕累托前沿。

作者的ViTTM-B需要比ViT-B 2.4倍更少的FLOPs,延迟减少56%,同时在ImageNet-1K上的精确度(82.9%)比ViT-B高1.9%(见图3)。

作者的模型在ADE20K语义分割上也具有竞争力。与ViT-B相比,ViTTM-B实现了mIoU为45.17(-0.48),同时在一块NVIDIA A30显卡上的94%更高的FPS。

picture.image

作者的贡献如下:

  • 作者提出了ViTTM体系结构,一种在分类和小样本语义分割上都具有竞争力的,且精确度-延迟权衡良好的,同时增加了内存的并行标记机-视觉 Transformer 混合(见Sec. 3.2)。
  • 作者对ViTTM体系结构进行了深入的剖析,探索了各种设计,并识别出了影响架构质量的关键决策。

2 Related Work

在本节中,作者将介绍ViTs的相关研究,标记稀疏化,以及增强记忆的神经网络。第2.1节将介绍ViTs的相关研究,并突出与ViTTM之间的差异。在第2.2节中,作者将重点介绍标记稀疏化,并突出ViTTM相对于稀疏化的优势。在第2.3节中,作者将介绍关于增强记忆的神经网络(MANNs)的相关研究,重点强调作者如何将MANNs应用到非序列任务。

Vision Transformers

在对语言处理任务取得成功后,研究行人将 Transformer 模型应用于计算机视觉任务 [37]。ViT [8]表明, Transformer 可以在计算机视觉任务上的有效性。随后的研究主要集中在: (1) 通过优化 Transformer 任务性能的训练范式,以及 (2) 实现更好的精度和延迟权衡的可选 ViT 架构。

首先,替代训练配方和自监督训练可用于提高 ViTs。Touvron et al. 表明,ViTs 可以通过使用数据增强策略来实现高精度,而无需使用大型数据集 [35, 36]。Steiner et al. 对 ViTs 的训练进行了深入的实证研究 [33]。他们强调了计算量、数据量、模型大小和正则化之间的交互作用,这是有效训练 ViTs 的关键因素。此外,自监督学习 (SSL) 已成为 ViTs 训练的特征 [17, 2, 4]。

其次,提出了许多可提供不同或严格更好的精度和延迟权衡的 ViT 架构。这些包括层次 ViTs,如 SwinTransformer 和 MViT,它们创建了多尺度特征图,以及 CNN-ViT 杂化,其中包含了卷积偏差 [11, 22]。在这些中,有两个分支的架构--作者的工作与这些架构在概念上相似,但在设计上有所不同。

在本文中,作者提出了一种新颖的两分支架构。与先前的两分支架构不同,作者在轻量级分支中进行大多数计算,因此具有计算效率。作者在 3.1 节中强调了与以前工作的差异。最接近的工作是 LookupViT,在概念上相似但在设计上有所不同。

Token Sparsification

Token 稀疏化是一种技术,用于加速ViTs,通过减少总体 Token 数量,降低计算成本。然而,在缺乏良好的启发式来区分有信息价值和无信息价值 Token 的情况下,稀疏化会降低准确率[24]。稀疏化方法大致可分为两类:剪枝方法(Pruning)和合并方法(Merging)。

剪枝方法在推理期间识别并删除无信息 Token ,从而降低计算成本。流行方法包括使用预测模块[27],或使用中间注意力计算作为启发式来识别无信息 Token 。

合并方法通过识别和组合相似的 Token 来减少总 Token 数量。Boyla等人提出了一种训练自由的合并方法,它在每一层平均相似的 Token [1]。Renggli等人使用学习的模块在单层上合并 Token ,将 Token 数量减少24倍,从而导致计算成本的大幅度降低[28]。同样,Ryo等人通过学习合并 Token ,改进了在视频任务上的ViTs[31]。

与 Token 稀疏化类似,作者的ViTTM架构通过增加滑动窗口大小来一次处理更少的 Token ,但作者的方法并非必然与剪枝或合并方法同源。与稀疏化不同,作者能够访问内存单元,可减轻删除 Token 所带来的准确性下降。

Memory Augmented Neural Networks

记忆增强神经网络(MANNs)是神经网络的一种扩展,可以通过引入记忆功能来增强它们的能力[26]。最初,MANNs使得RNN能够更好地解决各种顺序化算法、语言和推理任务。随后,记忆被用于增强神经网络在各种视觉任务中的能力。

神经图灵机(NTMs)是第一种MANNs[14]。NTMs由具有读写头的一组RNN组成,这些读写头可以与外部存储器进行交互。这些修改使得NTMs在复制、排序和算法任务方面优于RNNs。记忆网络是一种并行方法,专注于语言和推理任务[38]。可微神经计算机(DNCs)通过添加动态内存分配[15]进一步扩展了这些NTMs。与先前的作品相比,DNCs在各种算法、语言和推理任务上都显示出了有效性。最近的工作通过在 Transformer 中增强记忆序列建模[40]来增强 Transformer 。

最近的工作将MANNs应用到序列和非序列视觉任务。视觉 Transformer (ViTs)在每个层中都增加了可学习的记忆标记来增强微调[32]。标记图灵机(TTM)将NTMs扩展到用于序列视觉理解任务的 Transformer 模型,如视频活动检测[30]。TTM使用外部存储器进行读写,并引入了一个标记总结模块,不管序列长度如何,都保持恒定的计算成本。作者的洞察是,可以通过将中间特征视为一系列来将NTMs扩展到ViTs。与先前的作品不同,作者创建了一个使用记忆处理非序列任务架构。

3 Vision Token Turing Machines (ViTTM)

作者首先给出了ViTTM的直观想法,以及这项工作与相关工作之间的关系,并与NTMs(新型显存技术文本文档管理系统)相比较,在3.1节中进行了详述。接着,作者在3.2节详细讨论了ViTTM架构。

Intuition and Comparison to Prior Work

ViTTM 架构受到两个关键见解的启发:

(1)NTM 和 TTM 已经证明神经网络可以学会使用记忆 [15, 30];

(2)通过 Transformer 块处理更少的标记(tokens)可以使推理(inference)更快,更多的标记(tokens)意味着更好的准确性[24]。通过将这些见解整合,ViTTM 能够在使用记忆(memory)的同时,每次处理仅几条标记(tokens),从而实现既高效又准确的信息处理。

ViTTM 通过两种标记流处理图像,一个流计算权重较强但处理较少的标记,另一个流包含更大数量的标记。作者的直觉是作者可以学习使用读写头(read-write heads)在两个流之间交换信息。计算权重流中的信息经过更多处理,因此作者称之为“处理标记”(process tokens)。同样,遵循 NTM,作者预计处理更多标记的流将被用于调用和存储信息,因此作者称之为“记忆标记”(memory tokens)。

这种方法区分ViTTM与先前的两个流架构(如CrossViT和ViT-CoMer),因为ViTTM将大量处理集中在单个流中。此外,不像可逆ViT的训练中减少激活缓存,ViTTM专门设计用于推理时的计算效率。此外,ViTTM的优势在于它可以使用更少的标记(tokens)同时将它们的信息存储在内存中,从而在维持准确性和效率的同时取得优势。

与NTMs不同,作者的工作将记忆应用到ViTs的并行(parallel)任务中,如图像识别。图2显示了将NTM与ViTTM进行比较。

与LookupViT(ECCV 2024)的比较: 同时期的LookupViT [20],也受到观察到处理标记(tokens)较少可以通过 Transformer 块使推理(inference)更快这一事实的启发。他们利用这一事实通过处理两组标记,将较少标记的标记归入计算权重流。

然而,作者的工作在概念和实现方面与LookupViT有所不同。 LookupViT 主要使用交叉注意力(cross attention),而作者根据 NTM 先前的相关工作研究了各种读写和融合机制(Sec. 4.2)。此外,与 LookupViT 不同,作者没有优化记忆标记(memory tokens)。这符合 NTM 设计,其中记忆可以在任何时候仅从(read from)或向(written to) 标记(tokens )中进行访问。作者的决定扩大了 LookupViT 的帕累托前沿,创建了一个在更快的速度下具有更高准确性的模型(如图1所示)。

ViTTM Architecture

作者定义了memory和process token(流),它们被定义为和,分别。嵌入后,这些token使用重复块进行处理。作者为每个块指定一个索引。这些ViTTM块按照以下顺序依次执行三操作:

(1)从内存读取; (2)处理; (3)将数据写入内存。

读取和写入操作返回"读取到的token"和"写入到的token"。作者将读取到的token和写入到的token分别定义为和。为了确保效率,作者改变了ViT处理所有token的做法,而是仅将_processing_步骤应用到process token(比memory token更少,即K<<tK<<t)上。步骤的定义如下:< p=""></t$)上。步骤的定义如下:<>

(2) (3)

读取和写入操作使用 read-write head执行。在 processing 操作之前,读取token通过 fusion 操作合并到process token中,并由encoder block执行处理操作。在processing 操作之后,写入token被合并到memory token中。

ViTTM的目标是高效,同时保持准确性。从图3中可以看出,过程token和read-write head的数量将影响延迟。这是由于encoder block的延迟与过程token的数量成正比(见第2.2节),重复的读取/写入可能会抵消减少token的好处。此外,有效使用内存会影响任务性能。因此,为了让ViTTM既高效,又有效地使用内存,必须解决以下四个核心设计决策:

  1. 如何初始化 memory和process token?
  2. 如何从读/写中选择token?
  3. 如何将选择的token融合到process/memory token?
  4. 是否应该对memory token进行处理?

接下来作者提出这些设计决策中最有效的选择,即由作者的ablation(第4.2节)确定的选择。

3.2.1 Initializing Process and Memory Tokens

作者为记忆 Token 的 Token 化过程遵循了原始的Vision Transformer(ViT)架构[8]。这个过程分为两步:首先,作者将输入图像转换为一组非重叠的 patches,大小为。其次,作者对长度为的 Token 应用一个学习的线性投影,。直觉是记忆 Token 应包含图像丰富的表示。然而, Token 化过程需要进一步的考虑,因为他们的创建方式并不明显。

作者对_process_ Token 的初始化方式进行了探索,提出了三种选择:

(1)Latent- 学习一组潜在的 Token ;

(2)Down-sample - 将记忆 Token 下采样以创建process_ Token ;

(3)Patch- 学习_process_ Token 的投影。在实际应用中,它们具有相同的效果。作者选择为 memory 和 process_ Token 学习不同的投影,因为这与ViT的嵌入最相似。为了保持ViTTM的效率,作者确保 process_ Token 的数量少于_memory_ Token 的数量。

这通过使用较大的patch大小来实现,以确保在_process_ Token 上的计算量较 memory_ Token 上的计算量小。

3.2.2 Read-Write Heads

在AI研究中,读写头(read-write head)在选择要读取或写入内存的相关信息中起着关键作用。一个关键的考量因素是读写操作的效率。为此,作者评估了几个读写头的设计:TokenSummary、Cross Attention、Latent Attention和Linear Attention。

在本工作中,作者采用Katharopoulos等人([18])介绍的Linear Attention来实现作者的读写头。作者对Linear Attention的使用进行理论分析和作者的消融研究(第4.2节)的实证结果来证明。它具有以下优点:

  • Linear Attention的计算复杂性与一个输入序列的长度有关,而Cross Attention则与两个序列的长度有关。
  • Linear注意力与序列长度无关,而TokenSummary并不是。因此,可以与ViTTM一起使用现成的标记稀疏方法,如ToMe[1],还可以使用训练方法,如MAE[17]。
  • 作者发现Linear attention具有与cross-attention相似的准确性,但更为高效。

作者读写头的计算线性注意在两个输入序列X1∈R^{T×d}和X2∈R^{K×d}之间进行。作者使用权重矩阵、和计算 Query 、键和值矩阵,其中d表示嵌入维度,c表示潜在嵌入维度。 Query 、键和值矩阵的计算如下:

Q =X2W_{q}∈R^{K×c} \tag{5} K =X_{1}W_{k}∈\mathbb{R}^{T×c} (6) V =X_{1}W_{v}∈\mathbb{R}^{T×d} \tag{7}

遵循Katharopoulos等人,作者将输出序列计算为:

在阅读操作期间,作者设,,,相反,在写入操作期间,作者设,, =。在作者的评估中,作者使用,正如作者的消融实验(表2所示)。

picture.image

3.2.3 Process-Memory Fusion

融合操作将读取 Token 和写入 Token 从读写头合并到过程和内存流中,以实现低秩表示的分布式表示。作者探索了三种融合实现:擦除操作、加法操作和加擦除操作(图4)。

picture.image

擦除操作将前一个过程 Token 替换为读取 Token ,即抹去先前的过程 Token 。加法操作将读取 Token 和前一个过程 Token 相加。加擦除操作在过程 Token 中创建新的过程 Token ,作为读取 Token 和前一个过程 Token 的凸组合,使用组合权重和。组合权重根据公式 Eq. (10) 计算(不包含偏置)。作者使用调节权重矩阵和Sigmoid非线性将平均读取 Token 进行投影。

在作者的评估中,作者采用加法融合,因为它在具有线性注意力的情况下具有最佳性能(表4)。

picture.image

3.2.4 Processing in the Memory Stream

是否需要对记忆tokens进行处理是一个关键问题。处理允许对记忆tokens进一步丰富,但会牺牲效率。作者在表4中研究了在记忆流中增加一个有多层感知机(MLP)并具有不同瓶颈大小的影响。与 LookupViT [20] 不同, MLP 的益处微乎其微,作者不明确处理记忆流。作者发现不优化记忆流可能导致训练不稳定 - 标准化有助于此,但增加批量大小更有效。

4 Evaluation

作者评估ViTTM设计决策并与现有工作进行了比较。第4.1节描述了作者的实验设置,第4.2节探讨了ViTTM设计决策。作者在第4.3节中将与其他方法在分类和分割方面进行比较。

Experimental Setup

训练 :作者在配备多达40块NVIDIA A100 GPU(40GB)([33])的高性能计算系统上进行了训练。作者遵循[33]中为ViT编写的训练配方。具体来说,作者在ImageNet-21K[29]上预训练作者的模型,随后在ImageNet-1K[6]上进行微调。对于语义分割,作者使用微调后的ImageNet-1K权重初始化作者的backbone模型。

测量 :使用[10]中的_fivcore库对计算吞吐量进行测量,并使用[25]中的PyTorch _benchmark_模块测量延迟,批处理大小为256。语义分割实验和基准测试使用[5]中的MMSegmentation库。基准和评估在单独的80GB A100 GPU和24GB A30 GPU上进行。为了提高可重复性,作者公开作者的代码。

表示 :作者的ViTTM配置如下:ViTTM-B是与49个过程标记和64个内存标记的"ViTTM-B模型"。对于没有标记(即 Baseline 模型)的模型,作者用表示不存在标记。

Ablations

在本节中,作者对 ViTTMs(第3.2节)的四个核心设计决策进行消融实验。作者将对以下问题进行消融实验以作出回答:

  1. 如何初始化记忆和处理 Token ?(第4.2.1节和第4.2.4节)
  2. Token 将如何用于读/写?(第4.2.2节和第4.2.3节)
  3. 如何将选择的 Token 融合到进程/内存 Token 中?(第4.2.2节)
  4. 内存 Token 是否需要进行处理?(第4.2.5节)

为了评估每个设计选择的有效性,作者对 ImageNet-1K 进行微调并评估。对于每个消融实验,作者分配固定数量的训练时间,即100个周期。第4.2.1节和第4.2.2节的消融实验使用 ViTTM-S模型进行,而第4.2.3节、第4.2.4节和第4.2.5节的消融实验使用 ViTTM-B模型。

4.2.1 Memory and Process Initialization

作者评估了第3.2.1节中定义的过程标记的初始化方法。最终,初始化方案的选择对准确性没有影响。因此,作者选择了Patch初始化方法,因为它是ViT架构的标准方法。

4.2.2 Read-Write Head and Fusion Choice

作者在第3.2节中概述了读写头和融合机制的组合。表1显示了读写头和融合机制的消融结果。作者发现所有读写头提供相似的准确性,主要区别是在计算成本上的差异。如第3.2.2节所述,作者使用线性注意[18],因为它在效率上优于交叉注意,且与交叉注意的准确性相当。

4.2.3 读写头潜在维度的效应

picture.image

表2说明了更改潜在嵌入维度c的影响。将潜在嵌入维度相对于嵌入维度d减少不会降低准确性,但可以获得显着的延迟优势。如表2所示,将c设置为d的四分之一可以降低延迟100ms,而对Top-1准确性的影响可以忽略不计。鉴于这个结果,作者在本文中的所有评估中选择c=d的四分之一。

4.2.4 Effect of Memory and Process Token Number

在表3中,作者呈现了记忆和过程 Token 的数量如何影响ViTTM-B的计算成本和准确性。作者得出的结论如下:(1)_增加记忆 Token 可以提高准确率_;(2)_额外的记忆 Token 所产生的边缘准确率提升较小_;(3)_额外的过程 Token 所产生的边缘准确率提升较大_。

picture.image

首先,很明显增加记忆 Token 可以提高准确率。当与ViT-B进行比较时,Top-1准确率提高了7.2%。其次,额外的记忆 Token 带来的边缘效益最小。这一点在比较ViTTM-B, ViTTM-B和ViTTM-B时得到了证实,在这三个例子中,增加额外的记忆 Token 几乎无法获得任何准确率提升。最后,额外的过程 Token 带来的边缘效益较高。正如与ViTTM-B进行比较时,ViTTM-B来看,保持记忆 Token 不变,增加过程 Token 可以使准确率提高1.2%。

4.2.5 Effect of Memory Stream Non-linearity

查找ViT提出了使用非线性来他们的查找标记(类似于作者的内存流)以提高准确性。作者报告这既不高效(表4)。MLP提高了运算吞吐量(FLOPS)的14%-56%,同时提高了延迟(latency)的13%-47%,而对准确性几乎无影响。

Comparison with other work

作者在ImageNet-1K分类(第4.3.1节)和ADE20K语义分割(第4.3.2节)上评估作者的ViTTM模型,使用来自MMSegmentation库[34]的Segmenter。在图像分类方面,作者将与现有的双流架构进行比较,并使用ViT和DeiT模型[35,8]作为基准。在语义分割方面,作者将与来自timm库[39]的ViT-B/16模型进行比较。基于作者的消融试验,作者配置ViTTM模型使用线性注意 读写头(), 融合,以及 记忆流非线性。

注意,本翻译已尽量保证语法、清晰度和整体可读性,尽量不改变原文内容。由于某些术语和表述可能需要根据具体上下文进行调整,部分内容可能需要进行改动。如果您有其他具体需求,请随时告知。

4.3.1 Image Classification (ImageNet-1K)

ViTTM在ImageNet-1K上提供了竞争力很强的准确率和延迟权衡。表5显示了作者将现有方法与ViTTM进行比较的结果。作者同时在匹配或近似匹配其他方法的精度下,实现了较低的延迟,从而扩大了帕累托前沿(见图1)。例如,与相似的延迟LookupViT相比,ViTTM-B具有5.5%的更高准确率。与相似的准确率LookupViT相比,作者的ViTTM-B具有145.1ms(38%)的更低延迟。

picture.image

4.3.2 Semantic Segmentation (ADE20K)

ViTTM在ADE20K上也能获得可竞争的结果,如图6所示。作者在ViTTM-B上将ADE20K的语义分割与ViT-B/16相匹配,同时在A100 GPU上提高了37%的FPS(从23.8 FPS提高到32.5 FPS),在A30 GPU上提高了94%的FPS(从13.8 FPS提高到26.8 FPS)。

5 Discussion and Future Work

两流架构: 从先前的相关工作和作者进行的实验可以看出,两流架构可以用于创建既高效又不准确的目标检测模型,例如,LookupViT,CrossViT和ViTTMs。然而,两流架构的设计选择比ViTs多,留下许多关于什么构成最佳设计的研究空间。例如,尽管作者在第4.2节中消融了许多设计选择,但作者没有考虑不同流中的嵌入维度差异、变化 depth 或者使用自监督学习的影响。以前的研究[3]表明改变嵌入维度是有效的,但与其他参数之间的交互仍然不清楚。改变嵌入维度在前人的工作中[3]被证明是有效的,但它与其他参数之间的关系还未知。此外,作者还发现两流架构可能受到训练不稳定性的影响(第3.2.4节)。未来工作的一个重要方向是对两流架构的选择和训练动态的严谨研究。

读写头: 设计的一个重要考虑因素是读写头的选择。如第3.2.2节所述,读写头必须是高效的。作者认为实现读写机制的高效执行是未来工作的一个重要方向。实际上从FLOP减少中获得延迟减少对于替代架构的进一步发展和使用是很重要的。

记忆流在多模态应用中的使用: 在本工作中,作者消融了如何初始化过程流的过程,即如何填充 Token (第3.2.1节)。然而,作者没有探索如何初始化记忆 Token 。可以使用另一种模态来初始化记忆 Token ,从而创建多模态模型。这种模型可以在不同的模态之间读写(融合)信息。近年来,在生成模型中使用两流架构是为了这个目的[9,13]。

6 Conclusion

picture.image

作者 introduce ViTTM,它是一种ViT-NTM混合体,将记忆集成到视觉 Transformer 中,以创建高效且准确的视觉模型。ImageNet1K和ADE20K上的评估结果显示,ViTTM的准确性匹配或超过了先前的研究。

ViTTM-B比ViT-B快56%(2.4倍 fewer FLOPs)且在ImageNet1K上的准确性为82.9% (+1.9%)。在ADE20K上,ViTTM-B比ViT-B实现了37%-94%的更高FPS。

作者的研究工作证明了ViTTM的有效性,并预计它们的效率可以改进和扩展到其他任务。关于读写机制延迟优化的未来工作,例如融合运算符,将是一种有效扩展。

参考

[1].Token Turing Machines are Efficient Vision Models.

picture.image

扫码加入👉「集智书童」交流群

(备注: 方向+学校/公司+昵称 )

picture.image

点击下方“ 阅读原文 ”,

了解更多AI学习路上的 「武功秘籍」

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
大规模高性能计算集群优化实践
随着机器学习的发展,数据量和训练模型都有越来越大的趋势,这对基础设施有了更高的要求,包括硬件、网络架构等。本次分享主要介绍火山引擎支撑大规模高性能计算集群的架构和优化实践。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论