点击下方卡片,关注
「集智书童」
公众号
导读
作者提出了一种对全局处理视觉Transformer(ViT)的简单增强方法,以在保持吞吐量的同时提高准确性。ViT+Jumbo创建了一个更宽的CLS Token ,该 Token 在注意力之前被分割以匹配 Patch Token 宽度,然后进行自注意力处理并重新组装。在注意力之后,Jumbo对此 Token 应用了一个专用且更宽的FFN。Jumbo在ImageNet-1K上显著优于
注册,在高速运行时(ViT-tiny提高3.2%,ViT-nano提高13.5%);这些Jumbo模型甚至在不牺牲纯ViT架构优势的情况下,超越了专门的计算效率模型。尽管Jumbo在ImageNet-1K上对ViT-small没有看到任何收益,但它比
在ImageNet-21K上提高了3.4%。这两个发现表明,当ViT本身对于任务过于狭窄时,Jumbo最为有用。最后,作者展示了Jumbo可以轻松地适应,在图像以外的数据上表现出色,例如时间序列。
- 引言
过去十年间,计算机视觉领域取得了巨大进步。创新导致了模型在绝对精度、给定精度下的速度以及简洁性方面的提升。视觉Transformer(ViTs)是这一进步的例证。
ViTs结构简单。它们将图像分割成块,将块线性投影形成块嵌入,将位置嵌入添加到块嵌入中,预置一个可学习的“CLS” Token ,然后使用transformer处理这组向量;这些操作可以在一个包含约100行PyTorch代码的文件中实现。ViTs具有灵活性。它们通过 Token 丢弃、块调整大小、图像尺寸外推、模型缩放和多模态处理提供无缝的Sparse计算。ViTs效果显著。在图像分类、目标检测和语义分割中实现了最先进的(SOTA)性能;ViTs是视觉-语言模型的核心组件。然而,普通的ViTs在计算效率方面通常不如更专业的架构,尤其是在高速情况下。
许多近期架构提升了ViTs的计算效率,其中效率的提升通常指的是在准确率-速度权衡中取得更好的结果。这些架构借鉴了经典架构,如ResNets和VGGNets的分层设计——它们在增加通道宽度的同时逐渐减少空间维度。更大的宽度对应着更大的 FFN,通过在更多维度上实现非线性处理来增加模型容量。然而,在这些架构中,通过减少 Patch / Token 的数量来控制更大FFN的成本。作者将这种在较低计算成本下增加的容量作为此类模型的一个共同特点。这些高效的架构通常将诸如卷积、池化、Sparse或线性注意力以及其他创新模块与标准的ViT模块(即自注意力和点积FFN)混合使用。然而,这些创新消除了作者希望保留的ViTs的某些理想特性,例如 Token 丢弃和多模态支持。
增加深度和/或宽度是提高ViT模型容量的标准方法。最近,Darcet等(2024年)通过添加称为“寄存器”的可学习 Token 来增加参数数量。寄存器通过添加全局容量(
词间建模)而不添加局部容量(词内建模)来不对称地扩展容量。这解决了他们识别出的ViT的一个关键弱点:普通ViT的全局容量不足。他们表明,添加寄存器可以提高普通ViT的分类和分割性能。然而,寄存器中的全局信息仅通过注意力(即线性投影的加权求和)进行交互。这限制了
寄存器学习更复杂全局特征函数的能力,这是作者在此处要解决的问题。
ViT+Jumbo称为Jumbo,它将CLS token的宽度增加到原始patch宽度的
倍。在自注意力之前,ViT+Jumbo将这个额外的宽Jumbo token分割成
个更小的token,将它们包含在自注意力中,然后拼接起来重新组装成一个单一的Jumbo token。与所有patches共享FFN参数不同,Jumbo利用一个更宽的CLS特定FFN来增加模型容量。由于这个更大的FFN只处理单个token,因此其成本极低。关键的是,Jumbo保留了之前讨论的普通ViTs的所有优势,同时有效地增加了全局容量。这包括对token丢弃的支持,这对于许多自监督学习(SSL)算法至关重要。
作者通过直接对比,证明了ViT+Jumbo在三个场景中显著优于
registers。具体来说,Jumbo在图像分类方面有显著提升: 在ImageNet-1k数据集上,针对ViT-tiny和ViT-nano尺寸,以及在ImageNet-
数据集上,针对尺寸达到ViT-base的情况。这些结果揭示了这样一个见解:当ViT在其他情况下对于任务过于狭窄时,Jumbo的帮助最大。
实际上,在微型和纳米尺度上,ViT+Jumbo的表现优于专门的计算高效架构,例如EfficientViT。据作者所知,
Jumbo是第一个仅关注注意力机制且非层次化的架构,能够在高速下与计算高效架构相媲美。这两个特性使得ViT+Jumbo能够直接兼容最先进的自监督学习(SSL)方法,并适应其他数据模态,如时间序列。
作为将Jumbo应用于视觉领域之外的示例,作者展示了将Jumbo简单集成到时间序列任务中,其性能优于PatchTST和PatchTST+Registers。
- 背景与相关工作
2.1 视觉Transformer
ViT将图像分割成非重叠的网格块,
,其中
表示通道数,
分别表示图像的高度/宽度,
分别表示网格的高度/宽度,
分别表示像素块的高度/宽度(等于
)。接下来,它们将网格展平成序列,并将块展平成向量,
,其中
表示块的数量(等于
,
表示每个块中像素值的数量(等于
)。接下来,它们应用可学习的线性投影来形成块嵌入,
,其中
是模型宽度,也称为嵌入维度。然后,它们将位置嵌入添加到块嵌入中。(存在更优越且稍微复杂的位置编码方法;然而,在本工作中作者仅使用可学习的嵌入——尽管Jumbo也与所有这些其他方法兼容。)这些操作产生了代表高度局部信息的局部 Token
,通常是一个
像素的正方形。对于本工作来说至关重要,ViT在局部 Token 序列前添加一个可学习的CLS Token
,
,其中
表示沿着
(序列)维度的连接。最后,输入
通过一个普通的Transformer进行处理,现在具有上下文的CLS Token 可用于图像分类。
尺寸。ViT的尺寸根据深度和宽度而变化。作者训练的所有模型都具有12层,而宽度分别为
,对应名称为{pico, nano, tiny, small, base}。作者以Woo等人(2023)的研究为灵感,命名了pico和nano尺寸。
标准图像尺寸为
和标准 Patch 尺寸为
,导致有196个局部 Token 。单个 CLS Token ——即设计用于聚合全局信息以促进分类的 Token ——分配了模型表示能力的
给全局信息(并且这个比例随着图像尺寸的增大和/或 Patch 尺寸的减小而降低)。这种分配似乎不太理想。最近的研究发现了一些支持这一直觉的证据,并提出了一个解决方案。
寄存器。ViT 对更多 CLS Token 的需求如此之大,以至于它们学会了将一些局部 Patch Token 重新用于“伪 CLs” Token ;这些被劫持的 Token 的行为类似于 CLS Token ——它们汇总全局信息并丢弃 Patch 特定的局部信息。Darcet等人(2024)提出了一种解决方案:在输入序列前添加额外的可学习 Token ——称为寄存器
,其中
是寄存器的数量——,
。寄存器通过提供更多的全局容量来提高性能并减少注意力图伪影。
添加寄存器实现起来既简单又优雅,同时它们保留了普通ViT的优点;它们可以原生地丢弃 Token ,并且与最先进的自监督学习算法兼容。从理论上讲,寄存器可以惠及任何普通的、非因果的 Transformer 。这些优势解释了寄存器产生重大和即时影响的原因,包括它们在图像数据之外的广泛应用。因此,
寄存器是ViT+JumboJumbo的主要灵感来源。
Hiera。作者的工作在精神上与Hiera相一致,通过用池化层替换卷积来简化层次化Transformer,例如Swin或MViT。尽管层次化模型与“开箱即用”的token丢弃不兼容,但Ryali等(2023)设计了一种解决方案,使得Hiera可以通过 Mask 自动编码进行预训练。然而,Hiera的速度并不快——例如,其最快的变体吞吐量仅为作者的Jumbo ViT-small的
。
2.2 计算高效架构
作者强调了3种架构,并将它们作为高速ViT的基准。
EfficientViT和
SHViT通过引入高效的注意力、池化和卷积层来提高ViT的效率。
MobileNetV4通过利用许多策略(以及针对不同模型大小的不同策略)来提高CNN的效率。这些基准代表了计算效率的SOTA;请参阅附录A.1以了解这些模型架构的描述。
除了这些之外,关于计算高效的计算机视觉架构的文献非常丰富。例如,存在几种基于CNN的高效架构;然而,这些架构最近已被MobileNetV4超越。自从ViT的发明以来,已经出现了许多计算高效的“ViT”,这些“ViT”融合了受CNN方法启发的模块。SHViT最近超越了这些架构。尽管这些混合架构具有影响力和独创性,但它们都不符合纯ViT的定义,即仅关注注意力机制且非层次化;因此,它们失去了作者希望保留的许多ViT的优势。
- 方法
3.1 设计动机与直觉
容量。寄存器增加了普通ViT的全局容量。寄存器通过注意力机制“相互通信”。而注意力机制可以被视为一种在 Token 之间移动信息的机制。虽然注意力子层是transformer的关键组成部分,但其表达能力本身是有限的。相反,FFN(相当于具有1个隐藏层的MLP)接受单个 Token 作为输入,并通过应用学习到的非线性函数来处理这些信息。通过连接作者的全局 Token (即分割的Jumbo Token )并将结果Jumbo Token 通过FFN处理,作者可以模拟全局特征的更复杂函数。
成本。尽管Jumbo增加了全局容量,但其成本极低。关键洞察是较大的FFN(全连接神经网络)仅处理单个 Token 。如图3所示,计算成本(每层的FLOPs)的主要驱动因素是序列长度和块宽度
。添加寄存器或作者的Jumbo Token 对FLOPs的贡献相对微不足道。作者将在第5节中讨论Jumbo参数的增加。
非层次化和仅关注。Jumbo保留了ViTs和
的注册的非层次化(有时称为列状或各向同性)形状。此外,通过放弃卷积,空间信息仅通过关注进行传递。这些特性具有多个优势,作者将在下文进行讨论。
仅注意力模型可以高效地删除 Token 。尽管卷积可以通过Sparse计算核处理Sparse子集的 Patch ,但这些核可能很复杂,难以使用,并且需要在新硬件出现时进行更新。此外,Sparse卷积核的效率永远无法与简单地从序列中索引——即,如何使用Transformer删除 Token ——相提并论。作为一个比较点,ConvNeXt V2报告了使用Minkowski Engine v0.5.4的60% Mask 比时,速度提高了1.3倍。相反,MAE报告了使用75% Mask 比时,速度提高了2.8-4.1倍。对于大多数SOTA SSL算法,例如I-JEPA、CrossMAE、Image World Models、LatentMIM等,都需要高效的 Token 删除。 Token 删除也用于加速普通监督训练;作者在第4.2小节中展示了 Token 删除的这种用途。
非层次化和仅关注注意力的模型可以轻松适应其他数据模态。例如,1D时间序列、3D点云或多模态数据;用户只需调整分词策略。作者在第4.3小节中展示了Jumbo在1D时间序列应用中的示例。
非层次化和仅关注注意力的模型更容易受益于其他深度学习进展;即,它们可以“搭便车”利用其他创新。
许多最近的SSL方法是为plain ViT的非层次化形状设计的。
许多最近的分割和目标检测“ Head ”是为plain ViT的非层次化形状设计的。
近年来,plain selfattention的计算 Kernel 的许多进展降低了其成本。例如,Flash Attention可以将self-attention的速度提高超过
。Jumbo立即从这些进展中受益。
相反,2.2小节中提到的所有计算效率高的架构都不能立即从这些进步中受益。它们都不支持其他数据模式。而且,它们都不支持token丢弃。
两个假设。Jumbo不对称地增加了网络宽度。因此,
作者预计随着patch token宽度的减小,Jumbo将带来越来越多的收益。换句话说,网络越缺乏宽度,Jumbo的帮助应该越大。然而,“缺乏宽度”的含义并不直观。直观上,需要推理更多概念的任务必须需要更多的宽度来存储这些概念并促进对这些概念的推理。因此,
作者预计随着任务输出维度的增加,Jumbo将带来越来越多的收益。作者通过使用不同宽度的ViT和不同复杂性的数据集进行实验,来探索这两个假设。
3.2 设计细节
与原始的ViT类似,Jumbo计算块嵌入,
。与原始的ViT不同,ViT+Jumbo创建了一个Jumbo CLS Token ,其宽度是块宽度
的
倍,
。随后,结构相同的Transformer层处理这些输入。
在自注意力机制之前,Jumbo Token 被分割成
个 Token ,
,其中
表示沿着第1维(特征维)分割成
个部分。接下来,分割后的Jumbo Token 沿着序列维度与片段嵌入进行拼接,
。这个序列通过一个普通的多头自注意力层进行处理。之后,通过沿着序列维度分割,从序列中提取Jumbo Token ,
,其中第一个元素包含(仍然分割的)Jumbo Token ,第二个元素包含片段表示。最后,通过沿着通道维度拼接重新组装Jumbo Token ,
。这两次分割和两次拼接对运行时开销的影响可以忽略不计。
在自注意力之后,Jumbo Token 由其自身的FFN进行处理;即,它不与分块FFN共享参数。作者在图2中通过不同颜色区分Jumbo和分块FFN来表示这一点。在所有层处理完图像后,ViT+Jumbo将Jumbo Token 投影到
类logits,
。由于最后一层的分块FFN未被使用,作者将其丢弃。
- 实验
对于所有实验,作者使用PyTorch 2.6.0、torch.compile和512批大小,在RTX 4090 GPU上测量吞吐量。
4.1 高速实验
作者采用了与许多先前工作不同的实验方法。通常,这些工作在ImageNet-1K上使用其新颖的架构进行300个epoch的训练。他们进行(通常是广泛的)调整,并与 Baseline 报告的结果直接比较。例如,MobileNetV4使用神经架构搜索(NAS)对每个模型规模(小、中等等)进行调整。此外,每个模型规模通常使用不同的超参数“配方”进行训练——在MobileNetV4的情况下,每个配方包含10+个看似经过调整的超参数。这种方法产生了高度有价值的成果——即训练好的模型权重——实践者可以下载并使用。
然而,这种方法使得在上述研究基础上进行构建具有挑战性,因为架构和训练配方之间的相对贡献可能不明确。此外,结果相对于训练配方的鲁棒性也可能不明确,导致在利用新颖架构在不同环境中时存在显著的不确定性。
基于这些观察,作者进行了同侪比较,其中包括自行训练最先进的快速模型。
4.1.1 实验细节
设置。作者使用函数匹配在ImageNet-1K上从头开始训练模型,使用一个高精度教师模型(在ImageNet-1K上达到85.7%的top-1准确率,Touvron等,2022年,在128×128像素下,训练400个epoch)。然后,作者在224×224像素下对每个模型进行20个epoch的微调,使用一个更精确但成本更高的教师模型(在ImageNet-1K上达到87.0%的top-1准确率)。每次运行需要4-5天的时间,在RTX 4090 GPU上完成。
这种方法具有三个优点。
通过在两个分辨率下进行训练,作者可以比较模型在两个分辨率下的准确度-速度权衡(而不是单一点的比较)。
通过在大多数epoch中使用较低分辨率进行训练,作者可以节省大量的训练成本,并且模型可以从FixRes效应中受益。
通过利用最先进的蒸馏方法,模型可以从更高的样本效率中受益。重要的是,低分辨率到高分辨率训练和函数匹配对架构是无关的——它们是为CNNs发明的,并且与ViTs一起使用。
作者对每个模型架构进行了两次训练,一次使用学习率
,批大小为1024,采用AdamW。作者报告了每个模型架构的最佳学习率结果。请参阅附录A.2.1以获取完整的结果和超参数。
Baseline 。作者为每个系列选择了最快的模型:
ViT
Jumbo {nano, tiny, small},
EfficientViT
,
SHViT {S1,
,以及
MobileNetV4 {convsmall, conv-medium, hybrid-medium}。作者将这些架构与最快ViT+Jumbo变体 {pico, nano, tiny, small} 进行比较。Darcet等(2024年)表明,
Jumbo中的
表现最佳,作者在附录A.2.3中进行了验证,并在这些实验中使用。作者展示了ViT
Jumbo对
的选择具有鲁棒性;作者使用
,并在第4.4节中研究其影响。
测试集。作者在三个最常用的ImageNet-1K测试集上测试所有模型:ImageNet-Val、ImageNet-ReaL和ImageNetv2。作者还对所有模型在较新的、高质量的ImageNet-1K测试集ImageNet-HR以及一个分布外测试集ImageNet-R(Hendrycks等,2021年)上进行测试。
4.1.2. 高速结果
如图4所示,Jumbo在ImageNet-1K上的快速模型中主要达到了帕累托前沿。作者强调这些结果的重要性,因为Jumbo在保持plain ViTs的众多优点和简洁性的同时实现了这些成果;即使与专门的计算高效架构相匹配,也为
Jumbo提供了强有力的论据。
Jumbo在纳米尺度上比
registers高13.5%,在微小尺度上高3.2%,这是在224×224像素图像上测试的结果。这些提升是显著的,并且证实了作者的第一个假设,即随着作者减小 Patch 宽度(即从小(
)到微小
,再到纳米尺度(
)),Jumbo的增益应该会增加。如果一个研究行人或从业者需要SSL算法或多模态处理的开箱即用支持,并且需要一个快速模型,那么
Jumbo是一个明确的选择。
registers在高速度下表现不佳,而专门的计算高效架构不支持大多数SOTA SSL算法或多模态处理。遥感(Rolf等人,2024年)和自动驾驶(Muhammad等人,2020年)是许多应用中这种速度、SSL支持和多模态处理组合特别有价值的应用之一。
在ViT-small规模下(即深度
,宽度
),ViT+Jumbo相对于
注册没有获得任何优势——至少在ImageNet-1K上是这样。然而,并没有根本原因表明收益在ViT-small规模上就会停止。似乎一个384维的CLS Token 可以充分地模拟ImageNet-1K的输出维度。此外,这个独特的负面结果促使作者测试第二个假设,即Jumbo在需要在大概念空间上进行推理的任务中,其收益应该会增加。
4.2. ImageNet-21K 实验
ImageNet-1K是更具挑战性的原始ImageNet(Deng等,2009年)的一个子集,现在通常被称为ImageNet-21K。作者使用了一个包含10450个类别的常见变体;这是一个经过处理的变体,旨在使在ImageNet-21K上的训练更加容易(Ridnik等,2021年)(他们称这个变体为ImageNet-21K-P,但作者将之称为ImageNet-21K)。这个数据集提供的类别和样本数量比ImageNet-1K多出超过
倍——使其非常适合测试作者的第二个假设。
4.2.1 实验细节
设置。作者在ImageNet-21K(Ridnik等,2021年)上从头开始训练模型。由于在ImageNet-21K上训练模型成本高昂,作者利用一个token丢弃策略来降低成本。具体来说,作者以90%的token丢弃率开始训练,并线性降低此值至10%,这使处理的token总数减半。Dehghani等(2024年)证明了这种策略的有效性,即利用“ Mask ”进行普通监督训练。此外,作者在ImageNet-21K上训练的所有模型都支持token丢弃,且只需进行最小的代码修改。
作者使用3e-3的学习率、1024的批量大小以及AdamW优化器(Loshchilov, 2017)(其他超参数见附录A.2.1)对每个模型架构进行一次训练,共训练50个epoch。每个ViT-base运行需要7天,每个ViT-small运行需要3.3天,在RTX 4090 GPU上。
Baseline 。作者选择了
的
版本来与作者的ViT+Jumbo {small, base
尺寸进行比较。这是一个更为狭窄但有效的比较,因为由于其简单性、灵活性和与SSL算法的即插即用兼容性,原始的ViT在这些规模上成为了视觉社区的首选架构。对于ViT+Registers,作者使用
;对于
,作者使用
用于小型模型(因为它在ImageNet-1K上表现良好)和
用于基础模型(因为
无法适应内存;作者将在第5节讨论并展示解决这一限制的方法)。
4.2.2. IMAGENET-21K 结果
ViT
Jumbo在ViT-small和ViT-base尺度上分别优于
registers 3.4%和1.0%(见图1b)。这些显著的提升证实了作者的第二个假设,即Jumbo的收益应随着输出维度性的增加而增加。由于Jumbo的尺度与输出维度性相得益彰,作者预计Jumbo在CLIP-like(Radford等,2021)视觉-语言框架中将表现出色,在这些框架中,ViT负责建模包含
个术语的词汇表。然而,这些实验需要更多的资源,因此作者将它们留待未来的工作。
4.3 时间序列实验
用户可以轻松地将Jumbo适应于不同的输入形状,即超出图像的范围。本小节演示了将Jumbo适应于时间序列输入的一种方法。
PatchTST(Nie等,2023)是一种针对时间序列处理的SOTA(最先进的技术)基于 Patch 的Transformer架构,旨在解决单个时间点所携带的语义意义有限的难题。作者通过引入寄存器到其Transformer主干网络(PatchTST + 寄存器)以及结合Jumbo(PatchTST
Jumbo)来扩展PatchTST。
4.3.1 实验细节
设置。作者在UCR档案(Dau等,2018)中的10个单变量时间序列数据集和UEA档案(Bagnall等,2018)中的10个多变量时间序列数据集上从头开始训练模型;这两者都是常用的基准数据集(Zerveas等,2021;Grover等,2024;Le等,2024)。对于每个数据集和模型架构,作者执行一个超参数搜索,该搜索是以下笛卡尔积的结果:学习率{3e-3, 1e-3, 3e-4, 1e-4}和dropout{0.0, 0.1, 0.2}。附加的超参数和训练细节在附录A.2.2中提供,其中作者还报告了每个数据集和架构的最佳运行和所有12次运行的平均值。为了总结这些众多结果,作者计算了模型之间的排名,然后平均了10个单变量和10个多变量数据集的排名。
Baseline 。作者将PatchTST与作者的PatchTST
Jumbo模型进行比较,并创建PatchTST
Registers作为另一个 Baseline 。作者对所有三个架构进行了每个序列8个和42个 Patch 的实验。重要的是,将作者的Jumbo CLS Token 或寄存器添加到PatchTST架构中非常简单易行。
4.3.2. 时间序列结果
广泛的评估表明,PatchTST + Jumbo优于强大的PatchTST和PatchTST + Registers Baseline (表1)。特别是,Jumbo在较少的 Patch 和所有运行结果平均的情况下获得最大收益。这些结果证明了Jumbo在利用普通、非因果 Transformer 的应用中的潜力。随着 Transformer 在众多重要科学和工程挑战中越来越被采用,改进普通 Transformer (而不是针对特定应用的细分改进)将产生更广泛的影响。
4.4 消融
设置。作者遵循ImageNet-1K训练配方,使用函数匹配(Beyer等,2022)训练模型,共400个epoch,在
分辨率下进行。作者调整Jumbo乘数
和内部Jumbo FFN乘数;这个内部乘数增加了Jumbo FFN的隐藏层大小,作者始终使用默认值4进行 Patch 处理。作者在
分辨率下测试模型。
结果。ViT+Jumbo对Jumbo乘数和内部Jumbo FFN乘数的选取具有鲁棒性(见表2),尽管在ImageNet-1K上通常情况下,更高的乘数表现更佳。为了简便起见,作者使用最大的乘数作为默认值(灰色),并在作者的直接比较中使用它们(即第4.1节和第4.2节)。然而,较低的值可能提供略微更好的准确度-速度权衡。请参阅附录A.2.3以获取完整结果。
- 讨论
局限性。Jumbo最显著的局限性是由于为Jumbo CLS Token 分配了独立的FFN(而不是在 Patch 之间共享参数)并增加了这个Jumbo FFN的大小,导致参数增加。对于许多应用来说,提高速度比增加内存更有帮助。对于内存受限的应用,作者提出了一种控制这种成本的方法:将Jumbo的FFN参数在层间绑定。这种策略导致额外模型参数减少了12倍(ViT+Jumbo有12层)。作者还尝试将层特定的LoRAs(Hu等,2022)应用于绑定的Jumbo参数;这是一种参数高效的使Jumbo FFN在不同层之间有所差异的方法,类似于Li等(2024a)。作者发现这两种方法在控制Jumbo的参数数量方面都极为有效(表3)。
结论。Jumbo是一种极具潜力和简洁优雅的方法,它在不降低吞吐量的同时,提高了普通ViT的全局推理能力。当 Patch Token 宽度对于任务来说过于狭窄时,Jumbo最为有用;作者通过减小 Patch Token 宽度和单独增加输出维度来证明这一点。Jumbo有许多令人兴奋的应用方式,例如零样本图像分类,它可能具有较大的输出词汇表,作者期望Jumbo能更好地对其进行建模。此外,还有许多扩展Jumbo的方法,例如包括多个共享的Jumbo Token (例如,两个共享的J=2 Jumbo Token )或参数高效的密集线性层替代方案,以进一步控制内存成本(Qiu等,2024)。
参考
[1]. Simpler Fast Vision Transformers with a Jumbo CLS Token
扫码加入👉
「集智书童」
交流群
(备注:
方向
学校/公司+
昵称
)