点击下方“计算机书童”卡片,每天获取顶刊论文解读
Training-Free Transformer Architecture Search With Zero-Cost Proxy Guided Evolution题目:无需训练的Transformer架构搜索:零成本代理引导进化
作者:Qinqin Zhou; Kekai Sheng; Xiawu Zheng; Ke Li; Yonghong Tian; Jie Chen; Rongrong Ji
摘要
Transformers 已经展示了卓越的性能,然而,它们的架构设计是一个耗时的过程,需要专业知识和反复试验。因此,研究通过Transformer架构搜索(TAS)自动搜索高性能Transformer的有效方法是非常有价值的。为了提高搜索效率,无训练代理方法已在神经架构搜索(NAS)中被广泛采用。然而,这些代理在泛化到Transformer搜索空间方面被认为不够充分,这一点已通过几项研究和我们自己的实验得到证实。本文提出了一种名为TRansformer Architecture search with ZerO-cost pRoxy guided evolution (T-Razor)的高效TAS方案。首先,通过理论分析,我们发现多头自注意力(MSA)的突触多样性和多层感知器(MLP)的显著性与相应Transformer的性能相关。突触多样性和突触显著性的属性激励我们引入了突触多样性和显著性的等级,用DSS++表示,用于评估和排名Transformer。DSS++结合了采样Transformer之间的相关性信息,为突触多样性和突触显著性提供统一分数。然后,我们提出了一种由DSS++引导的分块进化搜索,以找到最优Transformer。DSS++决定了变异和交叉的位置,增强了探索能力。实验结果表明,我们的方法在四个流行的Transformer搜索空间中与人工或自动设计的Transformer架构相比具有竞争力。显著的是,T-Razor在不同Transformer搜索空间中提高了搜索效率,例如,将所需的GPU天数从超过24天减少到不到0.4天,并且超越了现有的零成本方法。我们还将T-Razor应用于BERT搜索空间,并发现搜索到的Transformer在几个自然语言处理(NLP)数据集上达到了竞争性的GLUE结果。这项工作为无训练TAS提供了见解,揭示了基于其不同块的属性评估Transformer的有用性。
关键词
I. 引言
Transformer最初是为自然语言处理(NLP)任务构建的,而视觉Transformer(ViT)[3], [5], [6], [7]最近在计算机视觉界展示了其竞争力。随着手动设计的先进Transformer架构[8], [9], [10]的出现,Transformer架构搜索(TAS)[1], [11], [12], [13], [14]应运而生,旨在自动化地搜索Transformer架构的多种配置。尽管现有的TAS利用了一次性NAS方案[15], [16], [17], [18], [19]来加速搜索过程,但仍然需要高计算成本(例如,大于24个GPU天)来训练一个超网,以便在各种Transformer架构上提供可靠的性能估计。此外,由于Transformer搜索空间的大小(例如,GLiT [13]中的约)远远超过了CNN搜索空间的大小(例如,DARTS [20]中的约),并且Transformer通常需要更多的训练周期(例如,300个周期),基于一次性的TAS的搜索效率仍然不令人满意。值得注意的是,为了提高CNN搜索空间的搜索效率,提出了几种代理(例如,GraSP [21], TEscore [22], 和 NASWOT [23])以零成本方式评估不同CNN架构的等级。通常,CNN由卷积层组成,而Transformer的基本构建块是多头自注意力(MSA)和多层感知器(MLP),它们主要由线性层组成。这些架构之间的差异引发了对将直接在CNN上验证的现有零成本代理应用于Transformer搜索空间的担忧。因此,探索开发一个更适合排名Transformer并且促进TAS训练效率的有效零成本代理是至关重要的,也是值得的。这个问题激励我们更深入地研究Transformer架构,提出一种无需训练的有效方法来进行TAS。为了开发有效的性能指标来对Transformer进行排名,我们对典型Transformer架构中的MSA和MLP进行了模块化研究。我们的理论分析和广泛的实验揭示了Transformer中的两个关键组成部分,即MSA和MLP,具有指示模型性能的不同属性。具体来说,MSA的突触多样性基于其权重和梯度矩阵的秩,这反映了MSA的表征能力。MLP的突触显著性包括其权重和梯度矩阵,这意味着MLP的权重重要性。如第III节所示,较高的突触多样性和突触显著性分数通常对应于相应Transformer的更好性能。“突触”一词在生物医学领域意味着神经元之间的连接,本文中将其比喻为模型内部块之间的连接。受到这些重要见解的启发,我们尝试通过利用上述MSA和MLP的属性来全面评估各种Transformer。最初,我们直接将一个Transformer中的MSA和MLP的代理分数相加作为其代理指标。然而,多样性和显著性分数的不同量级使得确定这两个分数的平衡组合变得具有挑战性。考虑到MSA的突触多样性和MLP的突触显著性相对独立,我们利用从MSA和MLP获得的多样性和显著性分数的等级来构建相应Transformer的指标,称为DSS++。DSS++引入了采样Transformer之间的相关性,以消除多样性和显著性分数不同量级的影响。为了进一步提高效率并减少搜索过程中的随机性,我们提出了一种基于DSS++的分块进化策略,用于在不同搜索空间中搜索Transformer,如图1左侧所示。据我们所知,这是第一次提出基于MSA的突触多样性和MLP的突触显著性的分块进化策略来搜索Transformer架构。此外,值得强调的是,我们的DSS++独立于Transformer搜索空间设计和权重共享策略。因此,它灵活地与流行的最新Transformer搜索空间或TAS方法结合,以提高搜索效率。与人工设计的Transformer[6], [24], [25], [26]和自动搜索的Transformer[1], [13], [27]相比,我们的T-Razor实现了优越的准确率-延迟权衡,并加速了搜索过程,从大约24个GPU天减少到不到0.4个GPU天,大约快了60倍(见图1中间和右侧)。为了确保公平比较和彻底调查,我们还提供了一个可靠的测试平台,以评估Transformer搜索空间中的最新零成本代理(例如,TE-score [22], NASWOT [23], NTKtrace [28], Gradsign [29] 和 MGM [30])。我们基于AutoFormer [1]的几个预训练超网构建了一个大型代理TAS基准。这使我们能够比较不同零成本代理在Transformer架构上的相对性能。通过我们对这些零成本代理的数值观察,我们能够经验性地验证TAS中不同零成本代理的相对排名,我们的DSS++超越了它的同行。此外,我们在设计更好的代理以对Transformer架构进行排名方面获得了一些实际见解。- 我们提出了一种新的TRansformer Architecture search with ZerO-cost pRoxy guided evolution (T-Razor)框架,以高效地搜索最优Transformer架构。
- 我们引入了一个无训练指标,即突触多样性和显著性的等级,用DSS++表示,它结合了突触多样性和突触显著性的等级,形成了Transformer架构的统一评估指标。
- 基于DSS++,我们进一步提出了一种分块进化策略,以分块方式变异和交叉Transformer。
- 我们进行了全面的实验,包括一系列控制实验,以分析所提出的T-Razor。结果表明,T-Razor不仅实现了竞争性的搜索性能,还提高了搜索Transformer的搜索效率。这些发现为设计用于评估Transformer网络的最佳代理指标提供了实证见解。
本文基于我们之前的工作[31],进行了几项创新改进。首先,我们通过改进Transformer的代理分数的排名,进一步改进了无训练代理,将Transformer架构的排名细化为相应Transformer架构的MSA和MLP层的代理分数的排名。考虑在块级别而非结构级别上的排名关系,所提出的代理通过提前结合不同Transformer之间的相关性关系,进一步增强了评估结果的相关性。其次,我们提出了一种分块进化搜索方法,以增强T-Razor中Transformer架构的细粒度搜索。在这种方法中,变异和交叉位置由DSS++决定。第三,为了进一步评估我们T-Razor的泛化能力,我们将搜索空间扩展到涵盖计算机视觉和语言处理任务。对于计算机视觉任务,我们在Shunted ViT搜索空间[3]上验证了T-Razor的有效性,这是最新的ViT骨干之一。对于语言处理任务,我们在BERT搜索空间[4]上进行了实验,表明所提出的DSS++在几个NLP场景中实现了竞争性性能。第四,我们进行了好几项消融研究,以验证DSS++和分块进化搜索策略的有效性。本文的其余部分组织如下:第II节提供了相关工作的概述。第III节详细介绍了我们提出的T-Razor。实验结果和分析在第IV节中详细说明。最后,我们在第V节得出结论。III. 方法论
A. 动机
现有的TAS方法[1], [13], [27]相对耗时,特别是在性能估计上(例如,在AutoFormer搜索空间[1]上8个GPU上300个训练周期,或在BERT搜索空间[4]上完成预训练过程需要3个GPU天)。然后,利用零成本代理[21], [22], [23]对Transformer进行排名并减少性能估计中的计算成本是有价值的。然而,现有的零成本代理专门设计用于CNN搜索空间(例如,DARTS[20]和NAS-Bench 201[42])。显然,Transformer的搜索空间与CNN大不相同,那么现有的代理就不能保证在Transformer搜索空间上的泛化(见第IV节的实验结果)。这激励我们探索并利用Transformer内部MSA和MLP的有用属性,并设计一个面向Transformer的训练免费代理。与我们的第一版不同,我们注意到MSA的多样性和MLP的显著性是两个不同的指标,用于衡量架构的两个维度。虽然,这两个指标的简单相加在估计架构时提供了足够好的结果,但仍然需要一种合适的方式将这两个指标结合起来。因此,我们提议使用这两个指标分别对架构进行排名,然后将这两个指标的排名相加作为架构的最终排名。无训练指标使得极其快速地评估Transformer成为可能(例如,少于一个GPU天)。然而,使用超过可能性的搜索空间中的每个Transformer进行评估是不切实际的。为了提高搜索效率,我们将无训练指标与搜索策略结合起来。搜索策略的一种实践是使用随机抽样评估一定数量的Transformer,并选择表现最好的作为搜索结果。然而,这种方法可能不稳定,增加样本数量会降低搜索效率。另一种策略是利用进化算法,根据迄今为止发现的优秀候选进行交叉和变异。然而,变异和交叉的位置是随机选择的,也给搜索过程带来了不稳定性。为了解决这个问题,我们提出了一种基于粒子群优化(PSO)的分块进化搜索方法。该方法采用无训练指标来确定变异和交叉过程中Transformer的具体变异和交叉位置,增强了搜索过程中的稳定性。在本节中,我们提出了一种有效的方法来计算MSA的突触多样性,并生成与Transformer的分类精度正相关的评估结果。此外,我们发现当MLP模块具有更重要的权重参数,即更高的突触显著性值时,相应的Transformer网络会产生更好的分类性能。此外,我们提出了一种无需训练的代理引导的Transformer架构进化搜索,称为T-Razor。T-Razor采用多样性和显著性的等级DSS++来有效地评估各种Transformer。基于DSS++,T-Razor结合了分块进化搜索策略以改进搜索结果。B. MSA中的突触多样性
- 理论分析:MSA是Transformer的基本组成部分。几项工作揭示了MSA的一个重要属性:其多样性[43], [44]。Dong等人[44]指出,MSA导致学习表示中的秩崩溃。具体来说,随着输入在网络中向前传播,深度不断加深,Transformer中MSA的输出逐渐收敛为秩1。最终,输出退化为秩为1的矩阵,每一行的值变得相同,即多样性的稀缺。这种秩崩溃减少了MSA的多样性,严重退化了相应Transformer的性能。直观地说,秩崩溃的程度可以用作评估一个Transformer中MSA多样性的代理。然而,估计高维表示空间中的秩崩溃需要巨大的计算成本。实际上,Fazel等人[45]证明,矩阵的秩包含特征多样性信息的代表性线索。基于这些理解,我们提出使用MSA模块中权重参数矩阵的秩作为评估Transformer架构的替代品。
- 突触多样性:对于MSA模块,其权重矩阵的巨大维度使其直接测量权重矩阵的秩在计算上复杂,这阻碍了实际应用。因此,有必要设计另一种方法来加速计算MSA模块的突触多样性。基于权重矩阵的属性,我们理论上证明了权重矩阵的秩可以使用核范数来近似。因此,我们提出利用MSA的权重矩阵的核范数来近似其秩作为多样性指标。
理论上,权重矩阵的核范数可以被视为其秩的等价替代品,当权重矩阵的Frobenius范数满足某些条件时。具体来说,我们表示MSA模块的权重参数矩阵为。表示MSA模块中的第个线性层,通常设置为4,以表示查询/键/值的线性变换之一以及随后的线性层。的Frobenius范数定义为:在我们的案例中,是MSA模块中一个线性层的初始化权重矩阵。通常,在模型的初始状态下,没有任何权重值达到无限大或无限小的幅度。换句话说,MSA模块中线性层的的每一列的和都小于某个常数。根据算术平均数-几何平均数不等式,的上界计算为:其中表示中列和的最大绝对值常数。的上界可以是的线性独立向量的最大数量,即矩阵的秩。我们进一步提供的核范数与的Frobenius范数之间的联系。对于矩阵,其核范数可以计算如下:其中表示第个最大的奇异值,表示奇异值的数量。因此,的上界可以是:因此,是的上界,也受到的限制。这表明,对于一个在MSA模块中良好条件的,核范数可以紧密近似秩,尤其是根据(2)中的导出约束。我们进一步研究的核范数与的秩之间的联系。给定中随机选择的两个向量和,当和线性独立时,接近其上界(即)。最大的线性独立向量数量称为矩阵秩。这表明:的Frobenius范数越大,的秩就越接近的多样性。根据Fazel等人[45]证明的定理,当时,的秩的凸包是的核范数。这个定理激励我们尝试使用的核范数来近似的秩在MSA模块中。正式地,的核范数也定义为:其中表示相应矩阵的迹。在我们的案例中,我们总是有,因此的秩的凸包可以是。理论上,与成比例,这表明的核范数是秩的凸包的重要部分。基于这一观察,我们提出使用来衡量的多样性。为了更好地估计从一个Transformer网络中随机初始化的权重参数的MSA模块的突触多样性,我们进一步考虑上述过程在每个MSA模块的梯度矩阵(是损失函数)上。总的来说,我们定义第个MSA模块的突触多样性如下:其中和是标量。考虑到模型权重和模型梯度都包含了关于相应模型的重要信息,我们使用和来计算MSA模块的多样性。我们还对提出的小型TAS基准进行了实验,表明仅使用的Kendall's 是0.457,仅使用的Kendall's 是0.542,两者都达不到乘以和时获得的0.641的Kendall's 。为了验证MSA的突触多样性与给定Transformer的测试精度之间的正相关性,我们重新训练了从AutoFormer[1]采样的100个Transformer网络,并获得了它们相应的分类性能作为小型TAS基准。这个基准被限制在模型参数的一个小区间内,这在很大程度上减少了模型参数的影响。网络性能与相应MSA模块的突触多样性之间的Kendall's 为0.65,如图2(a)所示。第IV节中呈现的结果也证明了(8)式的评价分数与每个输入Transformer架构的验证精度之间的正相关性。C. MLP中的突触显著性
- 理论分析:网络剪枝[46], [47], [48]在CNN的背景下取得了显著进展,并且最近开始在Transformer[49], [50], [51]上展示其能力。提出了几种有效的CNN剪枝方法[46], [52], [53]来衡量初始化阶段模型权重的重要性。Tanaka等人[46]引入了突触显著性的概念,以在不训练的情况下剪枝CNN来衡量权重的重要性。Wang等人[49]发现Transformer中的不同模块表现出不同程度的冗余,即使在初始化阶段也是如此,并尝试剪枝Transformer的不同维度。同样,Paul等人[50]观察到,在测试时可以移除相当比例的注意力头而不会造成显著的性能下降。TAS同样集中在搜索几个重要维度,包括注意力头的数量,MSA和MLP的比例等。鉴于这些进展,我们尝试使用突触显著性作为评估各种Transformer的手段。然而,已经验证了[49], [50], [51],MSA和MLP对剪枝的敏感性不同。MSA中有相当比例的权重是冗余的[50], [51],在测试期间对性能的影响很小。这意味着突触显著性可能在MSA和MLP中表现出不同的属性。
为了进一步支持这些发现,我们展示了一些从剪枝敏感性实验中的定量结果。如图2(b)所示,我们随机采样了5个Transformer架构来自AutoFormer搜索空间,以分析MSA和MLP对剪枝的敏感性。我们观察到MLP对剪枝的敏感性远高于MSA。我们还对深窄Transformer网络(例如,PiT [2])进行了相同的实验,并获得了类似的观察结果(见图2(c))。此外,我们采用突触显著性对MSA和MLP模块作为代理来计算提出的小型TAS基准上的Kendall's ,分别为。MLP上的Kendall's 为0.47,优于MSA(0.24)和MLP与MSA(0.41)。这些结果与[49], [50], [51]中得出的结论一致。由于突触显著性的基于求和的计算,冗余权重参数的存在具有累积效应。特别是,MSA模块对剪枝不敏感,表明MSA中的权重参数存在较高程度的冗余。先前关于剪枝的研究[37]表明,冗余权重参数的值明显小于非冗余对应物。虽然这些冗余参数的值相对较小,但超过50%的冗余往往会有显著的累积效应,特别是在区分类似架构时。考虑到MSA模块中冗余权重参数的累积效应,重要的是在用于衡量显著性的零成本代理中考虑这些参数。未能这样做可能会导致零成本代理中的累积效应,反过来,可能会潜在地给性能较差的网络更高的排名。与此同时,MLP模块的突触显著性较少受到权重冗余的影响,使其成为指示相应Transformer性能的合适代理。- 突触显著性:为了评估Transformer中MLP的性能,我们利用了突触显著性的概念,这在网络剪枝中已经得到了广泛的研究。这种度量用于确定模型权重的重要性。有几个基于剪枝的零成本代理[21], [37], [38]可以直接用于衡量CNN的突触显著性,它们主要由卷积层组成。相比之下,Transformer主要由MLP和MSA模块组成,表现出不同的剪枝属性。通过第III-C节中MSA和MLP模块的剪枝敏感性分析,我们验证了MLP模块对剪枝的敏感性远高于MSA模块。因此,突触显著性可以更好地反映MLP模块内权重重要性的差异。相反,MSA模块对剪枝相对不敏感,其突触显著性常受到冗余权重的影响。
基于MLP的剪枝敏感性,我们提出以分块方式衡量突触显著性。具体来说,这种分块方式衡量MLP的突触显著性作为Transformer架构指标的一部分。形式上,给定一个Transformer架构,第个MLP模块的显著性分数为:其中表示矩阵的Frobenius内积,表示指定Transformer网络中第个MLP的线性层数,通常设置为2。图2(a)显示了一些定性结果,以验证SMLP在评估Transformer架构中的有效性。在小型TAS基准上,较高的SMLP值通常对应于相应Transformer模型的较高验证精度。D. 无训练代理引导的进化搜索Transformer架构
我们提出的TRansformer Architecture search with ZerO-cost pRoxy guided evolution (T-Razor)的框架图如图3所示。T-Razor包括一个新的无训练指标,称为DSS++,用于在不训练的情况下评估Transformer网络。基于DSS++,设计了一种分块进化搜索方法,以进一步探索搜索空间。- 多样性和显著性的等级:由于突触多样性和突触显著性相对独立,直接将这两个代理相加以作为指标可能会破坏不同Transformer之间的排名关系,这种关系可能被这两个代理的量纲单位隐藏。这个问题在图2(a)中得到了说明,它突出了多样性和显著性代理之间的量纲差异。通常,一个Transformer的显著性分数比其多样性分数要大。这种多样性和显著性之间的不一致可能会干扰搜索过程,导致Transformer的评估结果出现分歧。为了过滤出具有不一致多样性和显著性排名的Transformer,我们提出了一个结合多样性和显著性排名的综合Transformer指标。基于所提出的DSS++,具有更一致的多样性和显著性排名的Transformer更有可能获得高排名。我们进一步比较了DSS++与我们第一版(DSS-indicator [31])在提出的小型TAS基准上的评价结果。如图4所示,DSS-indicator和我们的DSS++在提出的小型TAS基准上的Kendall 分别为0.657和0.671。可以观察到,与DSS-indicator相关的Transformer比与DSS-indicator相关的Transformer表现更好,这与上述结论一致。
基于上述分析,我们提出了一种TRansformer Architecture search with ZerO-cost pRoxy guided evolution (T-Razor),以进一步提高探索能力。T-Razor利用分块进化方法,使得在变异和交叉过程中对Transformer架构进行无训练评估。得益于DSS++的分块方式计算,DSS++可以与不同的搜索策略结合使用。在本文中,我们专注于通过我们的DSS++改进基于进化的搜索。这是通过将DSS++与进化搜索中的变异和交叉过程结合起来实现的,从而能够更精确地确定Transformer的具体变异和交叉位置。- 分块进化搜索:大多数TAS方法[1], [13], [27], [35]基于进化搜索。然而,变异和交叉操作中存在相当大的随机性,这给TAS带来了不稳定性。为了解决这个问题,我们提出了一种称为分块进化搜索的搜索策略,它基于所提出的DSS++来减少随机噪声的影响。具体来说,由于我们提出的DSS++是根据Transformer的不同块获得的,我们提出根据DSS++分数引导结构进行变异和交叉。在变异和交叉过程中,具有最低DSS++分数的块被优先考虑。为了开始搜索过程,从指定的Transformer搜索空间中随机选择一组Transformer,并根据它们相应的DSS++分数进行评估。然后选择DSS++分数最高的前-k个Transformer,形成进一步探索的种群。从这个种群中,选择一个子集的Transformer进行变异和交叉。在交叉过程中,两个不同Transformer的块以固定比例交换,以创建一个新的Transformer,替换具有较低DSS++分数的块。对于变异过程,选择具有较低DSS++分数的固定比例的块进行变异。经过t步的交叉和变异后,所选Transformer的块的DSS++分数更新如下:
其中表示通过当前Transformer选择的具有最低代理分数的块的变异和交叉后的DSS++变化:其中是控制探索和利用之间平衡的惯性权重,和是控制个体最优和全局最优位置影响的加速系数,是粒子的搜索最佳位置,是种群中任何粒子找到的最佳位置。如算法1所示,给定特定的参数约束,T-Razor首先从指定的Transformer搜索空间中随机采样一批Transformer。随后,为每个Transformer计算DSS++分数,反映它们的评估排名。T-Razor然后选择DSS++分数较高的Transformer形成种群。从这个种群中,选择一定数量的Transformer进行变异和交叉,使用我们的分块进化搜索策略。然后,种群用变异和交叉操作的结果更新。这个过程重复进行总共160个周期。最后,种群中DSS++分数最高的Transformer作为T-Razor搜索的结果。IV. 实验
A. 实施细节
T-Razor包括搜索阶段和重新训练阶段。在分块搜索阶段,种群大小、变异和交叉数量分别设置为50、25、25。搜索周期设置为160。每个采样的Transformer都使用权重和DSS++进行初始化。为了计算所提出的DSS++,输入构建为每个像素都是1。在搜索阶段之后,我们重新训练种群中DSS++最高的子网。在重新训练阶段,我们遵循AutoFormer[1]中的训练配置来训练获得的最优Transformer网络:AdamW优化器[58],权重衰减0.05,初始学习率,最小学习率,余弦调度器,5个周期的预热,批量大小为256,模型训练300个周期等。对于BERT,我们遵循[4]中的配置来训练搜索到的架构。所有实验都在NVIDIA Tesla V100 GPU上实现,结果在ImageNet [59], CIFAR-10/CIFAR100 [60], COCO 2017 dataset [61], and ADE20 K dataset [62]上估计。默认情况下,图像分辨率为224×224。B. 在各种搜索空间与SOTA的比较
在本节中,我们在当前开源TAS方法的搜索空间和基于现有主流Transformer构建的搜索空间上进行实验。在AutoFormer搜索空间上的结果:我们首先在AutoFormer的搜索空间,即AutoFormer搜索空间SA上评估T-Razor。我们将搜索到的最优Transformer的性能与[1], [13], [27], [31]等其他TAS方法以及手动设计的CNN和Transformer[8], [9], [25], [26], [55]在ImageNet数据集上的性能进行比较。如表I所示,搜索到的最优架构T-Razor(即T-Razor-Ti, T-Razor-S, 和 T-Razor-B)在所有三种模型大小(即微型、小型和基础)上,与手动设计的CNN[6], [10], [54], [55]相比,显示出显著的性能提升。此外,T-Razor与其他手动设计的Transformer[8], [9], [24], [25], [26]相比,也取得了有竞争力的结果。具体来说,搜索到的T-Razor-Ti达到了75.3%的top-1准确率,超过了DeiT-tiny 3.1个百分点。此外,与其他流行的TAS方法[1], [13], [27], [31]不同,它们需要超过24个GPU天来搜索最优架构,我们提出的DSS++使我们能够在少得多的GPU天数内获得相当的结果。我们的DSS++全面考虑了在搜索最优Transformer架构时的有效性和效率。基于对每个输入Transformer的DSS++估计,我们减少了大量计算预算,并在仅0.4个GPU天内获得了性能相当的最优Transformer架构。在PiT搜索空间上的结果:为了证明我们的T-Razor的泛化能力,我们建立了一个基于PiT[2]的PiT搜索空间,记为SP,它采用一些深度卷积作为池化来获得深窄架构。为了确保全面性,我们在PiT[2]上引入了SP,并引入了Transformer的几个重要维度(例如,深度、MSA的头数、MLP比例),加上深度卷积。如表II所示,我们的DSS++仍然能够搜索到展现出与PiT-Ti和PiT-S相当或更优的Top-1分类准确率的最优Transformer架构。此外,搜索到的网络的结果比随机选择的PiT-Tir和和PiT-Srand高出约2.9%到5%。值得注意的是,我们观察到在PiT搜索空间上搜索到的T-Razor架构的性能低于在AutoFormer搜索空间上列出的表I中的性能。这一观察表明搜索空间也是TAS的一个重要部分。在Shunted ViT搜索空间上的结果:Shunted ViT[3]是2022年CVPR提出的另一种尖端Transformer,它提出了Shunted Self-Attention (SSA)方案,明确考虑多尺度特征。我们建立了一个基于Shunted ViT的搜索空间,包括基本维度、补丁大小、层数、头数和MLP比例作为可搜索维度,大约为。我们遵循Ren等人[3]中描述的训练设置来重新训练搜索到的架构。表III中的结果表明,T-Razor在三个级别的架构上都优于Shunted ViT。我们比较了在视觉任务中应用的AutoFormer和PiT搜索空间上搜索到的Transformer架构,以及在Shunted ViT搜索空间上搜索到的Transformer架构,得出了几个经验性发现:(1)最优架构倾向于最大化它们的深度;(2)在大型ViT的浅层中,较大的MLP比例通常更好;(3)在深层中,较小的头数比例更高。此外,与手动设计的Transformer相比,我们发现由我们的T-Razor搜索到的Transformer更有可能将一些冗余维度上的浪费计算转移到计算不足的其他维度上。在BERT搜索空间上的结果:考虑到我们的DSS++从基本角度评估Transformer,并且Transformer已广泛应用于NLP研究领域[4],那么研究我们的度量如何在NLP设置中找到最优网络是有趣且值得的。为了检查所提出的DSS++在NLP场景中的适用性,我们在基于[4]的BERT搜索空间上进行了实验。具体来说,BERT搜索空间包括三个维度:块数、MLP的中间尺寸和头数。我们的T-Razor搜索一个Transformer编码器块堆栈,包括在{6, 8, 10, 12}中采样的块数。在每个Transformer编码器块中,MLP的中间尺寸在{512, 768, 1024, 3072}中采样,头数在{4, 8, 12, 16}中采样。在这种情况下,BERT搜索空间中的候选数量约为,我们遵循[4]中的流程和评估指标。1 T-Razor在BERT搜索空间上的搜索过程少于0.4个GPU天。至于评估,NLP任务包括MNLI、QQP、QNLI、CoLA、MRPC和RET,这些任务是从通用语言理解评估(GLUE)基准[64]中选择的。2 GLUE是九个语言理解任务的集合,包括问答、语言可接受性、情感分析、文本相似性、释义检测和自然语言推理。在我们的实验中,我们遵循常见的实践[4], [64]:QQP和MRPC报告F1分数,STS-B报告Spearman相关性,其他任务报告准确率分数。如表IV所示,由我们的T-Razor搜索到的架构在几个任务上取得了与比较模型[4], [63]相当的性能,甚至在一些任务上略高。此外,T-Razor在每个NLP任务上搜索架构的时间少于0.4个GPU天,比手工设计方式的效率更高。这些实验结果验证了我们的T-Razor可以推广到其他Transformer搜索空间,包括NLP任务。对于NLP任务,我们观察到由我们的T-Razor搜索到的架构有一些共同点:(1)倾向于在浅层块中具有较大的MLP中间尺寸;(2)倾向于在深层块中具有较小的头数;(3)更深并不总是更好。C. 进一步研究
消融研究:首先,我们进行额外的实验,以全面研究我们T-Razor中关键组件的贡献,在PiT搜索空间上。注意到表V中的Random + DSS和BE (Block-wise Evolution) + DSS++对应于TF-TAS [31]和我们的T-Razor。如表V所示,我们DSS++与随机搜索策略(Random + DSS++)相比,从73.7%提高到74.2%,我们的分块进化搜索策略与DSS(BE + DSS)相比,也更好,并且额外压缩了20%的时间。在评估流行的架构时:为了进一步研究我们DSS++的通用性,我们在三个最先进的Transformer架构上进行了额外的评估实验:PiT [2], T2T-ViT [10], 和 XCiT [65]。如表VI所示,我们的DSS++能够正确评估从不同Transformer搜索空间中采样的架构的排名。值得注意的是,不同搜索空间中DSS++获得的值不能直接比较,因为它们取决于采样子集的数量。此外,不同搜索空间中获得的多样性和显著性分数也不能直接比较。这可能是由于几个因素造成的。例如,模型初始化的不同方式,以及搜索空间本身包含不同的模块,使得公平比较变得困难。迁移学习结果:为了测试搜索到的最优Transformer架构的可转移性,我们在ImageNet [59], CIFAR-10 (C-10)和CIFAR-100 (C-100) [60]上进行了一些迁移学习实验。我们遵循DeiT [9]中的相同设置,并对T-Razor-S(见表I)进行微调。结果列于表VII中。我们观察到,以无训练方式由T-Razor找到的最优Transformer架构与AutoFormer [1]搜索到的架构具有类似的微调性能。与ViTB/16 [8]和DeiT-B [9]相比,我们的T-Razor-S在ImageNet [59], CIFAR-10和CIFAR-100 [60]上实现了更好的性能,同时参数数量更少。目标检测:为了确定我们的T-Razor在各种任务中的通用性,我们在COCO 2017数据集[61]上进行了转移实验。我们遵循[67]中采用的训练和测试设置,训练不同的主干网络,包括ResNet-50 [54], ViT-S [8], PiT-S [2], Shunted-S[3]和我们T-Razor搜索的模型(T-RazorPiT, T-Razor-SSA)在COCO 2017数据集上进行微调。为了适应基于Transformer的主干网络,我们遵循[2]中的策略,在训练和测试期间将所有主干网络的图像分辨率减半。在表VIII中展示的测量AP分数表明,由T-Razor搜索的架构在检测任务中实现了有竞争力的性能。此外,基于不同的Transformer搜索空间,我们T-Razor搜索的架构优于手动设计的Transformer(即:ViT-S [8], PiT-S [2]和Shunted-S [3])。我们还发现,来自Shunted ViT空间的架构似乎比来自PiT搜索空间的架构更适合检测任务。这一发现与Ren等人[3]提出的通过引入Shunted Self-Attention (SSA)来捕获多尺度特征以用于检测任务的结论一致。这些结果证实了所提出的T-Razor可以推广到不同的Transformer搜索空间,包括检测任务。语义分割:我们进一步在ADE20K [62]基准上评估了我们T-Razor在语义分割上的结果,使用了Shunted ViT搜索空间。我们报告了不使用多尺度测试的mIOU。我们采用Semantic FPN [68]作为主要框架,并遵循[68]和mmsegmentation [69]中的默认实践(例如,裁剪大小为512×512,使用权重衰减为1×10^-4的AdamW,设置学习率为1×10^-4,并在8个NVIDIA V100 GPU上训练模型80 K次迭代)。如表IX所示,我们的方法也可以找到用于语义分割任务的最优主干网络。与专家手动设计的Transformer[3], [26], [66]相比,我们仅用不到1个GPU天的时间就找到了实现有竞争力甚至更好性能的主干网络。此外,我们还注意到,当模型未经ImageNet预训练时,T-Razor-SSA的表现也优于Shunted-S:T-Razor-SSA和Shunted-S分别达到了44.1% mIOU和43.0% mIOU。零成本代理的比较:为了全面调查,我们将我们的DSS++与几种最新的零成本代理[21], [22], [23], [28], [29], [30], [31], [37], [38]进行了比较,用于CNN搜索空间。对于通用Transformer没有卷积层,当将原本为CNN设计的代理转移到Transformer时,只考虑在线性层部分获得的结果。为了构建一个可靠的测试平台来评估这些零成本代理,我们基于AutoFormer搜索空间构建了一个大型代理TAS基准。我们将AutoFormer [1]的搜索空间记为SA以简化。根据经验,Chen等人[1]发现,从SA中采样的子网,其权重从预训练的超网继承,可以实现与重新训练的子网相当的性能。基于这一观察,我们从SA中采样了3,000个子集,并从预训练的超网继承了它们的权重来获得准确率。为了简化,我们采样了参数量在三个常见范围内的子网:5M ∼ 7M, 15M ∼ 19M, 和 23M ∼ 25M,形成了一个大型代理TAS基准。有了这个基准,我们比较了我们的DSS++与几种尖端零成本代理方法,如SNIP [38], GraSP [21], NASWOT [23], TE-score [22], NTK-trace, [28] GradSign [29], MGM [30], Grad-norm [37], 和 DSS [31]。表X中列出的Kendall τ [70]的结果表明,代理的相对排名为:我们的 > DSS > MGM > SNIP > NASWOT > GradSign > Grad-norm > NTK-trace > TE-score > GraSP。我们的DSS++在排名各种Transformer架构方面优于其他代理。结果还提供了设计有效的TAS零成本代理的实际见解:1)为了有效地对Transformer进行排名,应该同时考虑MSA和MLP,这一点通过DSS和我们的DSS++得到了验证。2)DSS++采用多样性和显著性的等级来消除多样性和显著性之间的量纲差异,从而提高了Kendall τ结果。3)DSS++在23M ∼ 25M之间的Kendall τ结果更好,这与第III-D1节中得出的结论一致。4)基于SNIP [38], MGM [30], DSS [31]和我们的DSS++的性能,很明显,从初始化的Transformer网络中得到的梯度矩阵包含了丰富的信息来评估相应的模型。5)基于GraSP [21]和TE-score [22]的性能,我们发现Transformer的Hessian矩阵不易使用,需要进一步的努力。在表XI中,我们列出了使用几种零成本代理方法搜索到的最优网络的分类结果。如表XI所示,由我们的DSS++搜索到的Transformer架构优于其他尖端同行[21], [22], [23], [28], [29], [30], [31], [37], [38],它们在流行的CNN搜索空间中取得了有竞争力的性能。结果还证实了为TAS设计面向Transformer的性能指标的必要性。不同随机种子的一致性:为了检查各种代理在不同随机种子下的稳定性,我们使用四个随机种子生成结果并分析相应的值。为了简化,实验在提出的大型代理TAS基准的5 ∼ 7M子网上进行。如表XII所示,不同种子对几个代理有一定的波动。我们的DSS++继承了DSS(如第III-D节所述)对不同种子的不变性。由于大多数代理不使用所有输入数据,不同的种子会影响输入数据的采样,使得这些代理的计算变得不稳定。DSS++使用每个像素都是1的模型输入,不受不同种子的影响。因此,DSS++在不同随机种子方面具有一定的稳定性。采样大小的影响:为了确定搜索过程中采样大小的影响,我们在DSS++和DSS上进行了实验。在这个实验中,我们从采样大小为1开始,以200个样本的间隔增量地获得AutoFormer搜索空间上搜索到的最优子网络。值得注意的是,重新训练每个搜索到的子网络的成本太高。因此,为了确保公平,我们采用了继承超网权重的方法来获得搜索到的子网络的top-1准确率。实验结果如图5所示,表明总体而言,采样数量越大,DSS++和DSS获得的结果越好。与DSS相比,DSS++显示出更快的收敛速度,意味着DSS++可以更快地识别出更优越的结构。然而,随着采样数量的增加,改进搜索结果的潜力越来越小,搜索效率下降。因此,考虑到搜索性能和搜索效率之间的平衡,我们遵循我们的第一个版本[31]将采样大小设置为8000。初始化方式的影响:由于我们的DSS++旨在评估初始化状态下的Transformer,因此模型初始化方法起着重要作用。我们比较了不同的训练免费指标[21], [22], [23], [31], [38]与六种常见的初始化方法。为了简化,实验在提出的小型TAS基准上进行。如图6所示,初始化方法对测试指标有显著影响。一个主要原因是这些指标依赖于权重和梯度信息。在六种初始化方法中,正态初始化为所有指标实现了更好的结果,我们的DSS++在正态初始化下优于其他同行。同时,它也表明我们的DSS++在其他初始化方法下不如一些训练免费指标。我们根据[71]中的结论找到了一些可能的解释。如[71]所示,模型的表达性在很大程度上取决于其线性区域,而正态初始化可以防止在初始化时区域的崩溃,这发生在所有偏置都唯一为零时。因此,正态初始化可以更好地反映与显著性和多样性相关的模型的表达性,因此更适合我们的DSS++。输入类型的效应:正如我们在第III-D1节中展示的,模型输入为每个像素都是1('All-1')可以使模型输出为用于计算DSS++的模型权重。我们在提出的小型TAS基准上对真实图像、高斯噪声和均匀噪声作为输入类型进行了进一步测试。图7(a)显示'All-1'实现了最佳的相关性结果,而其他三种输入类型对权重有负面影响,导致相关性下降。在这些输入类型中,均匀噪声的结果更接近'All-1'。我们认为,均匀噪声相对均匀地影响模型权重,对模型权重的改变相对较小。总的来说,由于DSS++依赖于模型权重来获得MSA的多样性和MLP的显著性的等级,使用每个像素都是1的输入更为合适。不同损失函数在计算DSS++时的影响:在我们的实现中,DSS++的计算是通过单次前向传播和反向传播完成的。由于DSS++采用的输入是每个像素都是1,模型输出是用于反向传播的模型权重的总和。为了测试DSS++与其他损失函数的结合效果,我们在提出的小型TAS基准上测试了不同的损失函数。图7(b)显示,不同的损失函数对DSS++的影响很小。我们认为这可能是因为输入为每个像素都是1,使得损失的计算只涉及模型梯度,而不受真实图像的干扰。因此,经过单次前向传播和反向传播后,不同模型的DSS++分数之间的差异可能并不显著。实验结果表明,我们的DSS++更关注模型架构的差异影响,而损失函数在不同模型间的增益差异可能并不显著。V. 结论
在本文中,我们提出了T-Razor,这是一种新颖的无需训练的Transformer架构搜索方法,通过零成本代理引导的进化加速了TAS的效率。我们引入了一个面向Transformer的性能指标,即突触多样性和显著性的等级,记为DSS++,它基于Transformer架构的MSAs和MLPs。通过利用MSAs的突触多样性和MLPs的突触显著性的等级,我们有效地估计了不同Transformer架构的性能。我们还提出了一种分块进化搜索方法,与DSS++结合使用,以进一步提高搜索效率和改进搜索结果。与其他尖端TAS方法相比,我们由DSS++引导的分块进化搜索在涉及视觉任务以及NLP任务的流行Transformer搜索空间中实现了有竞争力的性能。此外,我们显著提高了TAS的效率,仅需要0.4个GPU天就可以找到相对最优的Transformer架构,与现有方法相比减少了24个GPU天。未来的工作,我们将研究如何加速大型模型(例如,参数量超过10亿)和多模态模型的架构设计。声明
本文内容为论文学习收获分享,受限于知识能力,本文对原文的理解可能存在偏差,最终内容以原论文为准。本文信息旨在传播和学术交流,其内容由作者负责,不代表本号观点。文中作品文字、图片等如涉及内容、版权和其他问题,请及时与我们联系,我们将在第一时间回复并处理。你是否有这样的苦恼:自己辛苦的论文工作,几乎没有任何的引用。为什么会这样?主要是自己的工作没有被更多的人了解。
计算机书童为各位推广自己的论文搭建一个平台,让更多的人了解自己的工作,同时促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 计算机书童 鼓励高校实验室或个人,在我们的平台上分享自己论文的介绍、解读等。
稿件基本要求:
• 文章确系个人论文的解读,未曾在公众号平台标记原创发表,
• 稿件建议以 markdown 格式撰写,文中配图要求图片清晰,无版权问题
投稿通道:
• 添加小编微信协商投稿事宜,备注:姓名-投稿
△长按添加 计算机书童 小编