视觉Transformer效率大比拼,45种模型的全面评估

独角也有噬元兽 2024-07-23 11:26:57

Transformer模型自从在自然语言处理(NLP)领域取得突破性进展以来,迅速成为了机器学习和人工智能研究的热点。Transformer的核心在于其自注意力机制,这种机制能够捕捉输入数据中远距离依赖关系,使得模型在处理序列数据时表现出色。最初Transformer模型主要应用于语言任务,如机器翻译、文本生成和问答系统。随着研究的深入,Transformer模型的应用范围逐渐扩展到计算机视觉(CV)领域,特别是在图像分类、目标检测和图像生成等任务中。

在视觉任务中,Vision Transformer(ViT)是Transformer模型的一个重要变种。ViT通过将图像划分为一系列不重叠的补丁,并将这些补丁视为序列数据来处理,从而成功地将Transformer应用于图像分类任务。ViT在多个基准测试中表现优异,尤其是在ImageNet数据集上的表现,超越了传统的卷积神经网络(CNN)架构。然而Transformer模型的一个主要挑战在于其自注意力机制的计算复杂度。自注意力机制的计算复杂度为O(N²),其中N是输入序列的长度。这意味着随着输入序列长度的增加,计算成本会急剧上升,这在处理高分辨率图像或长序列时尤为明显。

为了应对这一挑战,研究人员提出了多种改进策略,旨在提高Transformer模型的效率。这些策略包括稀疏注意力机制、低秩注意力机制、混合注意力机制以及其他创新的token混合方法。这些方法在不同程度上降低了计算复杂度,使得Transformer模型在资源受限的环境中也能高效运行。然而由于实验条件和评估标准的多样性,不同研究之间的结果往往难以直接比较,这给模型选择带来了挑战。

为了弥补不同实验条件下结果不可比的缺陷,来自凯泽斯劳滕-兰道大学和德国人工智能研究中心(DFKI)的团队进行了大规模的基准测试,评估了45种图像分类模型的效率。研究的主要目的是提供一个标准化的基准,帮助从业者和研究人员在选择或开发高效Transformer模型时做出明智的决策。具体而言,本研究通过评估模型的准确性、速度和内存使用等关键效率指标,分析了不同模型在这些指标上的表现,并基于帕累托前沿(Pareto front)进行比较。

通过这种系统的评估方法,研究不仅揭示了ViT在多个指标上继续保持帕累托最优的事实,还发现了一些混合注意力-CNN模型在推理内存和参数效率方面的显著优势。研究还表明,使用更大的模型通常比使用更高分辨率的图像更有效率。这些发现为视觉Transformer的效率提供了一个集中资源,便于在实际应用中进行选择和开发。

图1。吞吐量和准确性的帕累托前沿(虚线)。标记形状和色调表示使ViT更高效的不同总体策略。帕累托最优模型有一个黑点,而其他模型则有一个白点。标记的大小表示研究团队是使用标准224px还是更大的384px分辨率进行微调。标记基线ViT-Ti@224A.ViT-Ti@384(B)以及ViT-S@224(C)并绘制高分辨率图像的帕累托前沿(虚线)。

本研究由来自凯泽斯劳滕-兰道大学和德国人工智能研究中心(DFKI)的Tobias Christian Nauen、Sebastian Palacio、Federico Raue、Andreas Dengel四位研究人员共同完成,他们在人工智能和计算机视觉领域具有丰富的研究经验和学术背景。凯泽斯劳滕-兰道大学位于德国莱茵兰-普法尔茨州的凯泽斯劳滕市,是一所以工程和自然科学为主的综合性大学。该校在计算机科学、工程学和自然科学领域享有盛誉,拥有多个世界领先的研究中心和实验室。德国人工智能研究中心(DFKI)是欧洲最大的人工智能研究机构之一,成立于1988年,总部位于德国凯泽斯劳滕市。DFKI专注于人工智能技术的研究和应用,涵盖了从基础研究到工业应用的广泛领域。通过凯泽斯劳滕-兰道大学和DFKI的紧密合作,本研究团队能够充分利用两大机构的资源和优势,在视觉Transformer模型的效率评估和优化方面取得了重要进展。这一合作不仅推动了学术研究的发展,也为实际应用提供了有力支持。

研究方法

测试平台设计:标准化的训练管道,避免引入偏差

为了确保对不同Transformer模型的公平比较,研究团队设计了一套标准化的训练管道。这一管道旨在消除由于不同训练设置和数据集带来的偏差,从而提供一个公正的评估平台。

数据集选择:所有模型均在相同的数据集上进行训练和评估。研究团队选择了ImageNet-21k进行预训练,并在ImageNet-1k上进行微调。这两个数据集在计算机视觉领域广泛使用,能够提供丰富的图像数据,确保模型在各种视觉任务中的表现具有代表性。

训练设置:为了避免引入偏差,研究团队采用了相同的训练设置。所有模型均在相同的硬件环境下进行训练,使用4或8个NVIDIA A100 GPU。此外,训练管道中不使用知识蒸馏等可能引入偏差的技术,确保所有模型在相同条件下进行比较。

训练周期:所有模型均训练140个epoch,其中在ImageNet-21k上预训练90个epoch,然后在ImageNet-1k上微调50个epoch。这样的训练周期设计能够确保模型充分学习数据中的特征,同时避免过拟合。

分辨率设置:模型在不同分辨率下进行训练和评估,以确保结果的全面性。具体来说,模型在224和192像素分辨率下进行预训练,然后在224和384像素分辨率下进行微调。这样的设置能够评估模型在不同图像分辨率下的表现,提供更全面的效率评估。

通过上述标准化的训练管道设计,研究团队能够在相同条件下对不同Transformer模型进行公平比较,确保评估结果的可靠性和可比性。

模型选择与分类:基于流行度、多样性和新颖性选择模型

为了全面评估Transformer模型的效率,研究团队选择了45种不同的图像分类模型。

流行度:选择在学术界和工业界广泛使用和认可的模型。这些模型通常在多个基准测试中表现出色,具有较高的参考价值。多样性:选择具有不同架构和设计理念的模型,以确保评估结果的全面性和代表性。具体来说,研究团队选择了包括ViT、DeiT、Swin Transformer、XCiT等在内的多种模型,这些模型在自注意力机制、混合注意力机制、稀疏注意力机制等方面具有不同的实现方式。新颖性:选择一些最新提出的模型,这些模型在设计上具有创新性,可能在效率和性能上具有优势。例如,研究团队选择了EfficientFormerV2、NextViT、TokenLearner等新模型,这些模型在最近的研究中表现出色。

通过基于流行度、多样性和新颖性选择模型,研究团队能够全面评估不同Transformer模型在图像分类任务中的效率表现,提供具有广泛参考价值的评估结果。

效率评估指标:参数数量、FLOPS、训练和推理速度、内存需求等

为了全面评估Transformer模型的效率,研究团队设计了一套多维度的评估指标。这些指标包括理论指标和实证指标,能够全面反映模型的计算成本和性能表现。

参数数量:参数数量是衡量模型复杂度和计算成本的一个重要指标。参数数量越多,模型的计算成本和内存需求越高。研究团队通过比较不同模型的参数数量,评估其在计算资源上的需求。FLOPS:浮点运算次数(FLOPS)是衡量模型计算复杂度的另一个重要指标。FLOPS越高,模型的计算成本越大。研究团队通过计算不同模型的FLOPS,评估其计算复杂度。训练速度:训练速度是衡量模型在训练过程中计算效率的一个重要指标。研究团队通过测量模型在相同硬件环境下的训练时间,评估其训练效率。推理速度:推理速度是衡量模型在实际应用中计算效率的一个重要指标。研究团队通过测量模型在相同硬件环境下的推理时间,评估其推理效率。内存需求:内存需求是衡量模型在计算过程中内存使用情况的一个重要指标。研究团队通过测量模型在训练和推理过程中的显存(VRAM)需求,评估其内存使用效率。

通过上述多维度的评估指标,研究团队能够全面评估不同Transformer模型的效率表现,提供具有广泛参考价值的评估结果。这些评估结果不仅能够帮助从业者和研究人员在选择或开发高效Transformer模型时做出明智的决策,还能够为未来的研究提供重要的参考依据。

通过设计标准化的训练管道、选择具有代表性的模型以及采用多维度的评估指标,研究团队能够在相同条件下对不同Transformer模型进行公平比较,提供全面的效率评估结果。这些结果为视觉Transformer的效率提供了一个集中资源,便于在实际应用中进行选择和开发。

核心元素与效率提升策略

1.ViT的核心元素:图像处理任务的适应版本,自注意力机制的计算复杂度

图2:高效 Transformer 列表(括号中为引用关键词)分为两个级别:1. 该方法在哪些方面改变了 ViT?2. 该方法如何改变 ViT?

Vision Transformer(ViT)是将Transformer模型应用于图像处理任务的一个重要变种。与传统的卷积神经网络(CNN)不同,ViT通过将图像划分为一系列不重叠的补丁,并将这些补丁视为序列数据来处理。这种方法使得ViT能够利用Transformer模型在处理序列数据方面的优势,捕捉图像中的长距离依赖关系。

ViT的核心元素包括以下几个方面:

图像补丁:ViT将输入图像划分为一系列不重叠的补丁,每个补丁被线性嵌入为一个大小为d的token,并添加位置编码。这些token序列然后被输入到Transformer编码器中进行处理。自注意力机制:自注意力机制是Transformer模型的核心,能够计算输入序列中每对token之间的相似度。具体来说,自注意力机制通过查询(Q)、键(K)和值(V)矩阵计算注意力权重,并生成加权的输出序列。自注意力机制的计算复杂度为O(N²),其中N是输入序列的长度。这意味着随着输入序列长度的增加,计算成本会急剧上升。分类token:在ViT中,一个特殊的分类token [CLS] 被添加到输入序列中。经过Transformer编码器处理后,只有这个分类token的输出被用于最终的分类决策。

尽管ViT在多个基准测试中表现优异,但其自注意力机制的计算复杂度问题仍然是一个主要挑战。为了应对这一挑战,研究人员提出了多种改进策略,旨在提高ViT的效率。

2.效率提升的策略

为了降低自注意力机制的计算复杂度,提高ViT的效率,研究人员提出了多种策略。这些策略可以分为以下几类:

Token混合:低秩注意力、稀疏注意力、固定注意力等

低秩注意力:低秩注意力机制利用查询(Q)和键(K)矩阵的低秩特性,通过降维减少计算量。例如,Linformer通过将K和V矩阵投影到较低维度,从而降低计算复杂度。Nystromformer则使用Nystrom方法进行矩阵分解,近似计算注意力权重。稀疏注意力:稀疏注意力机制通过固定大部分注意力权重为零,只计算最重要的部分,从而降低计算复杂度。例如,Swin Transformer在局部图像块内进行注意力计算,而HaloNet则让每个token只关注其邻居。固定注意力:固定注意力机制预先设置注意力值,仅依赖token位置,从而减少计算量。例如,Synthesizer通过固定注意力矩阵,避免了动态计算注意力权重的开销。

混合注意力机制将卷积与自注意力机制结合,利用卷积捕捉局部特征,利用自注意力机制捕捉全局特征。例如,EfficientFormerV2首先使用卷积关注局部交互,然后使用自注意力机制捕捉全局交互。CvT和ResT则在注意力机制内使用卷积,创建局部查询、键和值。

傅里叶注意力机制通过使用快速傅里叶变换(FFT)降低计算复杂度。例如,FNet直接利用FFT进行token混合,计算复杂度为O(N log N)。GFNet则利用FFT进行全局卷积,AFNO在傅里叶空间中使用多层感知器(MLP)。

非注意力混合机制通过其他方法捕捉token之间的交互,而不使用自注意力机制。例如,MLP-Mixer使用全连接层进行全局交互,FastViT使用深度卷积进行token混合。EfficientMod通过值矩阵调制卷积上下文,FocalNet通过卷积提取的层次上下文进行调制。

Token序列方法通过移除冗余信息,减少计算成本。例如,Dynamic ViT使用Gumbel-softmax确定token保留概率,EViT利用上一层的注意力矩阵避免引入额外参数。ToMe通过快速二分匹配算法合并相似token,CaiT通过交叉注意力在单个token上汇总全局信息。

MLP块方法通过将计算移到MLP块,降低计算复杂度。例如,Switch Transformer引入多个参数集,每个MLP块传递不同的token。HiViT则用额外的MLP块替换早期的注意力层。

通过上述多种策略,研究人员在不同程度上降低了ViT的计算复杂度,提高了其效率。这些策略为开发高效的视觉Transformer模型提供了多种路径,推动了Transformer在计算机视觉领域的广泛应用和发展。

实验设计与结果

1.训练管道:标准化训练管道的设计与验证

为了确保对不同Transformer模型的公平比较,研究团队设计了一套标准化的训练管道。这一管道旨在消除由于不同训练设置和数据集带来的偏差,从而提供一个公正的评估平台。

图3:按精度排序的模型的精度(红线,右侧 y 轴)和每个参数的精度(条形图,左侧 y 轴),分辨率为224px。47 个中等大小的模型中有 14 个被归入其他类别。请参阅补充材料以查看完整图表。

数据集选择:所有模型均在相同的数据集上进行训练和评估。研究团队选择了ImageNet-21k进行预训练,并在ImageNet-1k上进行微调。这两个数据集在计算机视觉领域广泛使用,能够提供丰富的图像数据,确保模型在各种视觉任务中的表现具有代表性。训练设置:为了避免引入偏差,研究团队采用了相同的训练设置。所有模型均在相同的硬件环境下进行训练,使用4或8个NVIDIA A100 GPU。此外,训练管道中不使用知识蒸馏等可能引入偏差的技术,确保所有模型在相同条件下进行比较。训练周期:所有模型均训练140个epoch,其中在ImageNet-21k上预训练90个epoch,然后在ImageNet-1k上微调50个epoch。这样的训练周期设计能够确保模型充分学习数据中的特征,同时避免过拟合。分辨率设置:模型在不同分辨率下进行训练和评估,以确保结果的全面性。具体来说,模型在224和192像素分辨率下进行预训练,然后在224和384像素分辨率下进行微调。这样的设置能够评估模型在不同图像分辨率下的表现,提供更全面的效率评估。

通过上述标准化的训练管道设计,研究团队能够在相同条件下对不同Transformer模型进行公平比较,确保评估结果的可靠性和可比性。

2.效率指标的比较:参数数量、速度、内存、扩展行为等

为了全面评估Transformer模型的效率,研究团队设计了一套多维度的评估指标。这些指标包括理论指标和实证指标,能够全面反映模型的计算成本和性能表现。

图4:对于需要少于 50 小时进行微调的模型,微调时间和准确度的帕累托前沿。我们在补充材料中附上了完整的图表。

参数数量:参数数量是衡量模型复杂度和计算成本的一个重要指标。参数数量越多,模型的计算成本和内存需求越高。研究团队通过比较不同模型的参数数量,评估其在计算资源上的需求。

FLOPS:浮点运算次数(FLOPS)是衡量模型计算复杂度的另一个重要指标。FLOPS越高,模型的计算成本越大。研究团队通过计算不同模型的FLOPS,评估其计算复杂度。

训练速度:训练速度是衡量模型在训练过程中计算效率的一个重要指标。研究团队通过测量模型在相同硬件环境下的训练时间,评估其训练效率。

推理速度:推理速度是衡量模型在实际应用中计算效率的一个重要指标。研究团队通过测量模型在相同硬件环境下的推理时间,评估其推理效率。

内存需求:内存需求是衡量模型在计算过程中内存使用情况的一个重要指标。研究团队通过测量模型在训练和推理过程中的显存(VRAM)需求,评估其内存使用效率。

图5:在我们默认的批量大小下训练内存的帕累托前沿(虚线)2048(左)和最小批量大小为的推理内存(右)训练时 VRAM 少于 225GB、推理时 VRAM 少于 1.25GB 的模型的准确率。

通过上述多维度的评估指标,研究团队能够全面评估不同Transformer模型的效率表现,提供具有广泛参考价值的评估结果。这些评估结果不仅能够帮助从业者和研究人员在选择或开发高效Transformer模型时做出明智的决策,还能够为未来的研究提供重要的参考依据。

3.主要发现

通过对45种Transformer模型的全面评估,研究团队得出了一些重要的发现。这些发现不仅揭示了不同模型在效率上的表现,还提供了关于如何优化Transformer模型的重要见解。

ViT在多个指标上继续保持帕累托最优

尽管有许多新模型声称在效率上优于ViT,但研究结果表明,ViT在多个关键指标上仍然保持帕累托最优。具体来说,ViT在参数数量、训练速度和推理速度等方面表现出色,继续作为一个强有力的基准模型。这一发现表明,尽管有许多新模型在设计上进行了创新,但ViT的整体效率和性能仍然具有竞争力。

扩大模型规模比使用更高分辨率的图像更有效率

研究还发现,扩大模型规模通常比使用更高分辨率的图像更有效率。具体来说,增加模型的参数数量和层数能够显著提高模型的准确性,而不会显著增加计算成本。相比之下,使用更高分辨率的图像虽然也能提高模型的准确性,但计算成本的增加更为显著。这一发现与当前许多研究使用高分辨率图像进行评估的趋势相反,表明在实际应用中,优化模型结构可能比提高图像分辨率更为有效。

不同效率指标的相关性分析

通过对不同效率指标的相关性分析,研究团队发现了一些有趣的趋势。例如,微调时间与训练内存之间的相关性最高,表明这两个指标可能存在共同的瓶颈。此外,FLOPS与训练内存之间的相关性也较高,表明可以通过FLOPS对训练内存进行粗略估计。然而,对于其他指标,理论指标与实际计算成本之间的相关性较低,强调了实证测量的重要性。

图6:关于图像分类中哪种 Transformer 更受青睐的建议。首先,选择主要约束 (1.),速度或内存,以及要优化此约束的阶段 (2.):推理或训练。在此基础上,我们从基线、序列缩减、混合注意力、非注意力改组和稀疏注意力的分类类别中提供了关于哪种 Transformer 更受青睐的建议 (3.) 。请参阅补充材料,了解每个指标的帕累托最优模型的完整列表。

通过设计标准化的训练管道、选择具有代表性的模型以及采用多维度的评估指标,研究团队能够在相同条件下对不同Transformer模型进行公平比较,提供全面的效率评估结果。这些结果为视觉Transformer的效率提供了一个集中资源,便于在实际应用中进行选择和开发。

讨论与结论

在对45种视觉Transformer模型进行全面评估后,研究团队得出了一些重要的结论。这些结论不仅验证了ViT作为基准模型的有效性,还揭示了Token Sequence方法和混合注意力模型在效率提升方面的优势。

尽管有许多新模型声称在效率上优于ViT,但研究结果表明,ViT在多个关键指标上仍然保持帕累托最优。ViT在参数数量、训练速度和推理速度等方面表现出色,继续作为一个强有力的基准模型。这一发现表明,尽管有许多新模型在设计上进行了创新,但ViT的整体效率和性能仍然具有竞争力。

ViT的设计简单而有效,其自注意力机制能够捕捉图像中的长距离依赖关系,使其在多个基准测试中表现优异。尽管自注意力机制的计算复杂度较高,但通过合理的优化策略,ViT仍然能够在实际应用中保持高效。

Token Sequence方法通过移除冗余信息,显著减少了计算成本。例如,Dynamic ViT使用Gumbel-softmax确定token保留概率,EViT利用上一层的注意力矩阵避免引入额外参数。ToMe通过快速二分匹配算法合并相似token,CaiT通过交叉注意力在单个token上汇总全局信息。

这些方法在保持模型性能的同时,显著降低了计算复杂度,使得模型在资源受限的环境中也能高效运行。特别是在推理速度和内存使用方面,Token Sequence方法表现出色,成为高效Transformer模型的一个重要方向。

混合注意力模型将卷积与自注意力机制结合,利用卷积捕捉局部特征,利用自注意力机制捕捉全局特征。例如,EfficientFormerV2首先使用卷积关注局部交互,然后使用自注意力机制捕捉全局交互。CvT和ResT则在注意力机制内使用卷积,创建局部查询、键和值。这些方法在保持模型性能的同时,显著降低了计算复杂度,使得模型在资源受限的环境中也能高效运行。特别是在推理速度和内存使用方面,混合注意力模型表现出色,成为高效Transformer模型的一个重要方向。

通过本研究的全面评估和分析,研究团队为未来的视觉Transformer研究提供了一些重要的方向和建议。

研究通过设计标准化的训练管道、选择具有代表性的模型以及采用多维度的评估指标,提供了一个公平的基准。这一基准能够帮助从业者和研究人员在选择或开发高效Transformer模型时做出明智的决策。未来的研究可以基于这一基准,进一步优化和改进Transformer模型,探索新的效率提升策略。例如,可以结合不同的注意力机制和优化方法,开发出更加高效的模型架构。

研究的结果表明,通过合理的优化策略,Transformer模型在计算机视觉领域具有广泛的应用前景。特别是在资源受限的环境中,高效Transformer模型能够显著提高计算效率,降低计算成本。未来的研究可以进一步探索Transformer模型在其他视觉任务中的应用,如目标检测、图像生成、视频分析等。通过结合不同的优化策略和模型架构,开发出更加高效和高性能的视觉Transformer模型。

虽然研究主要集中在视觉Transformer模型的效率评估上,但其方法和结论同样适用于其他领域的Transformer模型研究。例如,在自然语言处理、语音识别、时间序列分析等领域,Transformer模型同样面临计算复杂度和效率问题。未来的研究可以基于本研究的方法和结论,探索不同领域的Transformer模型的效率提升策略,推动Transformer模型在各个领域的广泛应用和发展。

总之,通过本研究的全面评估和分析,研究团队不仅验证了ViT作为基准模型的有效性,还揭示了Token Sequence方法和混合注意力模型在效率提升方面的优势。未来的研究可以基于本研究的结果,进一步优化和改进Transformer模型,推动高效Transformer在计算机视觉和其他领域的广泛应用和发展。(END)

参考资料:https://arxiv.org/abs/2308.09372

波动世界(PoppleWorld)是噬元兽数字容器的一款AI应用,是由AI技术驱动的帮助用户进行情绪管理的工具和传递情绪价值的社交产品,基于意识科学和情绪价值的理论基础。波动世界将人的意识和情绪作为研究和应用的对象,探索人的意识机制和特征,培养人的意识技能和习惯,满足人的意识体验和意义,提高人的自我意识、自我管理、自我调节、自我表达和自我实现的能力,让人获得真正的自由快乐和内在的力量。波动世界将建立一个指导我们的情绪和反应的价值体系。这是一款针对普通人的基于人类认知和行为模式的情感管理Dapp应用程序。

0 阅读:0

独角也有噬元兽

简介:感谢大家的关注