ELSA 利用分层 N:M 稀疏性实现 Vision 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(非集智书童)”的作品,均转载自其它媒体,版权归原作者所有,如有侵权请联系我们删除,谢谢。

picture.image

目前大多数:稀疏性方法对所有网络层都采用统一的配置,或者通过考虑每个层中的参数数量来启发式地确定层级的配置。

然而,针对视觉 Transformer (ViTs),即一般由具有相同参数数量的 Transformer 块组成的模型,设计适合的层级:稀疏配置的方法还很少。

在本工作中,为了解决在:稀疏支持加速器上为ViTs选择合适稀疏配置的挑战,作者提出了ELSA,即利用层级:稀疏性辅助ViTs。

考虑到给定加速器支持的:稀疏 Level 以及预期的吞吐量提升,作者的方法通过权衡与内存使用和推理时间减少以及稀疏度的微小降低来为ViT模型带来加速效果。

例如,作者的方法在ImageNet上的Swin-B和DeiT-B分别实现了2.9倍和1.7倍的计算密集型减少,而准确率仅有轻微下降。

1 Introduction

近年来, Transformer 神经网络在包括自然语言处理以及计算机视觉等人工智能任务中得到改用,如图像分类[5; 32; 18]和目标检测。通过一系列的 Transformer 模块,可以有效捕获给定图像的相邻块之间的依赖性, Transformer 神经网络在视觉任务上显示出出色的性能,并取代卷积神经网络(CNNs)成为最先进的方法。例如,DeiT-B通过使用12个 Transformer 模块和17.6G参数,在ImageNet数据集上实现了Top-1精度81.8%。然而,考虑到智能手机或嵌入设备所具有的有限内存预算和计算资源,这种巨型模型在实际部署上颇具挑战性。

为减少模型推理的内存使用和计算成本,已提出了各种模型压缩方法,如量化[19; 17; 36]和剪枝/稀疏化。为了保持应用精度,非结构化剪枝方法已提出,用于从深度神经网络(DNN)中移除不影响准确度的神经元或连接,只保留计算重要权重。另一方面,权重矩阵中剩下的数据分布不规则,需要高的编码/索引成本,从而导致在将压缩数据从内存发送到处理单元时产生开销。相反,结构化剪枝方法[23; 34; 14]移除不影响准确度的行、列或通道。尽管在数据编码方面,:稀疏度具有很低或没有内存开销,但当应用更大的压缩比例以减小模型大小时,应用精度会急剧降低。为克服上述问题,引入了细粒度结构化剪枝(也称为半结构化剪枝),以更好地在模型大小,压缩开销和应用精度之间进行权衡。

利用:稀疏度是一种细粒度结构化剪枝方法,它将连续的个数据块分割为每个组中只有个数据块(即,其余个数据块被剪枝掉)。得到的稀疏数据表示具有较低的数据编码成本(每个剩余数据只需要位指针)。与非结构化剪枝相比,:稀疏度被认为是具有硬件友好性的模型压缩方法。

如图1所示,将DNN转换为其:稀疏对应的方法可以分为三类:

(1)关注于寻找给定的:更优的稀疏 Mask 的方法,例如CAP [15]和LBC [38],准确地估计每个权重的重要性(或剪枝的敏感性)并根据重要性评分决定 Mask ;

(2) 通过稀疏训练算法或策略获得目标:稀疏网络的方法,例如ASP [24],SR-STE [39] 和STEP [21],用于通过模型复训练或权重更新减小由细粒度结构剪枝引起的准确损失;

(3) 与前两类不同,这类方法通常在神经网络的所有层上施加一组给定的/固定的稀疏水平,即均匀稀疏,第三类方法找到网络上不同层的最佳:稀疏配置,即层状:稀疏。据作者所知,目前只有DominoSearch [31] 采用了:层次稀疏。

picture.image然而,针对视觉 Transformer (ViTs)获得层状:稀疏配置的专门方法还为数不多。大多数针对CNNs的层状稀疏度专门方法通过考虑每个层中的神经元或参数数量来决定压缩比或稀疏设置,例如[25, 6, 31]。在ViTs中,通常包含相同参数数量的 Transformer 块[25, 6, 31]。根据参数数量确定层状:稀疏配置很可能对ViTs产生有限影响。

因此,作者提出了ELSA,一个用于利用ViTs的层状:稀疏的稀疏度探索框架。作者的方法考虑不仅支持给定的加速器上的所有:稀疏 Level ,而且预计吞吐量改进,因此可以通过权衡极其微小的准确损失与内存使用和推理时间减少为ViTs模型带来好处。此外,作者的方法可以通过一次训练过程获得具有不同压缩比的多个目标模型。

作者的贡献如下:

  • 迄今为止,这是作者首次探索适用于视觉 Transformer 线性模块(线性投影和多层感知机层的矩阵)的层逐步 稀疏配置。
  • 作者的 proposed 方法可以考虑由给定加速器支持的所有 稀疏 Level ,并搜索具有高精度的层逐步 稀疏神经网络。另一方面,作者的方法获得稀疏配置可以提供有关硬件设计师构建支持混合 稀疏度的加速器的实际性的洞察。
  • 考虑不仅应用精度,而且硬件效率,作者的方法可以在高精度和小到显著的 FLOPs 减少的情况下,获得多个层逐步稀疏配置。这高度与混合 稀疏支持加速器的吞吐量改进相关。例如,作者的方法在 ImageNet 分类上仅实现了微小的精度降低,就将 FLOPs 减少了 2.9 倍。

2 Preliminaries and Related Work

为了支持 :稀疏度压缩的DNN模型,已经提出了几种加速器。例如,NVIDIA Ampere GPU中的稀疏张量核心可以支持2:4稀疏度,允许DNN模型将参数数量减半,并在压缩2:4稀疏矩阵的操作上达到理论2倍速度提升[28]。此外,S2TA[20]和VEGETA[12]中呈现的体系结构分别支持4:8权重稀疏度和可配置的:4稀疏度在它们基于阵列加速器的systolic体系结构中,从而实现速度提升和能耗效率的提升。

图2描绘了具有:稀疏度支持的可配置加速器的概念视图。图2 upper部分展示了通过2:4稀疏度压缩的权重矩阵。矩阵中的白色网格表示4个元素组中较不重要的值,因此被修剪为零。在2:4稀疏度应用下,压缩后的稀疏矩阵仅保留组中最重要的两个权重,而非零和对应的2位索引(用于区分非零的原始位置和位于:4稀疏度中的4个元素组中的非零位置)被存储。因此,不仅剩余权重,相应的数据索引开销也可以降低,从而使:稀疏度比无结构剪枝更具有硬件友好性。

picture.image图2 lower部分展示了如何从稀疏权重矩阵和密集激活矩阵计算矩阵乘法的准确结果。通过解码权重矩阵中每个原始-元素组中非零的索引,可以选取相应的矩阵乘法激活/输入数据并加载到处理单元中。与对应密集矩阵乘法相比,当前权重矩阵的稀疏度为2:4时,矩阵乘法中的乘法和累计操作只会执行50%。具有稀疏矩阵索引、控制信号、相关乘法器以及稀疏矩阵乘法处理单元的加速器可以有效加速矩阵乘法。

如果一个支持各种:稀疏度水平的加速器( e.g,:4稀疏度)可用,可以通过使用相对于精确度损失较小(与激进应用均匀稀疏度,e.g,1:4稀疏度相比)的定制层稀疏度实现更高的吞吐量。在此场景下,为加速器中不同DNN计算层稀疏度的有效方法成为必要。

然而,将合适的稀疏配置应用到ViT模型中以实现速度提升并保持微小精确度损失是一种挑战。例如,当一个包括48个权重矩阵的ViT模型在支持1:4,2:4稀疏矩阵乘法和4:4稠密矩阵乘法的加速器上运行时,结果稀疏度的组合有3^48种。此外,当应用更高的压缩比例来加速操作时,矩阵中的某些关键值可能会被修剪,这导致非可忽略的精确度损失。因此,减轻这种精确度损失需要针对大量训练周期进行精心调整,以保持压缩模型的准确性。因此,需要确定一种在不使用全面搜索和微调的方法来确定各种可能组合中适合的层稀疏配置。

3 Methodology

问题描述 假定有一个支持混合 : 稀疏水平的矩阵乘法加速器,可以将 : 半结构剪枝应用于 VIn 的线性模块,以追求计算效率。考虑一个预训练的经典 VIn 模型,包括 个 Transformer 模块,每个模块包含四个线性模块,如图3 所示。假设加速器支持一组 不同的稀疏度 ,作者的目标是确定一个稀疏配置(即,一个稀疏度序列),其中 ,。这个配置 然后被用于将预训练的权重值,表示为

从密集表示转换为稀疏表示。为了发挥稀疏支持加速器的加速潜力,同时最小化相关的性能降低,确定最优稀疏配置是至关重要的。

picture.image在支持灵活稀疏矩阵乘法加速器上的 ViT 模型部署通常涉及两个步骤:

(1)确定模型中的每个矩阵的 : 稀疏度,然后(2)微调模型以减少因稀疏化导致的准确性损失。但是,决定 ViT 的层级 : 稀疏配置要比卷积模型更具挑战性,主要是因为 ViT 包含涉及相同参数数量的多个 Transformer 模块。因此,以前在卷积模型背景下使用的启发式稀疏度选择方法,在 ViT 上面临选择既在准确性上优于其他配置,同时在计算速度上也有显著提升的稀疏度配置的困难。

此外,稀疏化过程通常会导致显著的准确性下降,尤其是在用结构化或半结构化的方式剪裁矩阵时。这一过程迫使作者对大量轮次进行微调,以恢复给定模型的应用准确性,使作者能够精确评估选择的稀疏度配置。

为了应对显著的微调需求,作者采用超网络范式 ,它最初是用于避免从头训练每个候选网络以准确评估相应的性能,同时搜索网络架构超参数,例如卷积神经网络(CNNs)的核大小和通道数。通过定制编码策略,搜索空间中的所有候选网络(即,称为子网络)都被编码为超参数过度的超网络。这些子网络随后被共同训练,有效抵消了评估每个特定/选择的网络架构超参数组合所需的微调需求。通过只训练一次,作者可以通过直接继承超网络获得任何特定网络配置的对应网络,而不需要完全训练每个网络一次。

在这篇工作中,作者将这些原则应用于解决获得合适层 : 稀疏网络的复杂性。具体而言,作者设计了一个超网络构建方案,该方案旨在将所有候选 : 稀疏网络集成在一起,每个稀疏网络对应于搜索空间 内的一个 : 稀疏配置 。利用这个超网络,作者可以直接推导出特定的稀疏网络,而无需进行额外的微调。这不仅有助于评估特定的稀疏配置 ,还有利于加速在硬件加速器上的部署,从而提高计算吞吐量。

Supernet Construction - All Sparsity Configurations in One Supernet

作者首先通过构建超网络来逐步探索卷积层稀疏性,该超网络包括在ViT模型中执行矩阵乘法所使用的所有层,例如线性投影和多层感知机层。例如,DeiT-S由12个Transformer块组成,每个块包含4个目标层(即,qkv、线性投影、fc1和fc2);因此,在部署支持混合稀疏的加速器之前,需要确定48层的稀疏配置。随后,所有的支持加速器被编码为每个层可能的可选方案。如果一个加速器提供1:4,2:4和4:4的稀疏选项,那么超网络中的每个目标层都会包含3种稀疏选项,其中一个选项会在计算时被选择,相应的稀疏 Level 将在该层计算过程中应用。此外,对于给定的ViT模型,每种稀疏选择组合都被视为超网络中的稀疏配置,可以用于导出一个稀疏子网。在构建包含所有稀疏配置的超网络之后,作者先训练该超网络,然后再寻找合适的配置。

子集超集关系作者注意到不同N:M稀疏等级之间的子集-超集关系,并利用该关系构建超网络。具体来说,在应用相同的剪枝标准时,较低N:M稀疏等级下选择的非零值形成该等级较高稀疏等级下子集的一部分。对于图5中所示的N:4稀疏等级,较深的单元表示其值更为显著;1:4稀疏度和2:4稀疏度根据这些权重的显著性进行非零值选择。可以看出,在应用1:4稀疏度时选择的权重必须在每个层中被选择应用,当应用2:4稀疏度时也是如此。此外,这些权重都包含在密集矩阵(即,使用4:4稀疏度)中。

picture.image通过利用这种关系,作者不仅要为每种稀疏 Level 的每个矩阵构建不同实例的稀疏权重,从而导致超网络训练时巨大的内存开销,而且只维护一个权重矩阵堆叠,其中表示第个线性模块的共享权重矩阵。即,超网络中的所有N:M稀疏选择在每个层的共享权重矩阵中使用相同的权

在训练和评估过程中,给定稀疏配置 = ,作者通过动态投影共享参数 ( ^{text{th}}线性模块的参数)到对应稀疏矩阵

目标,作者将连续的 个参数视为一组 ,其中 。作者将修剪 个参数,即每个 中具有最不显着重要性评分(即每个权重的重要性评分)的 个参数。如图5 所示,当 1:4 稀疏度被选定时,每个 4-元素组中的三个参数将被修剪。从数学上讲,作者将 定义为 的 最小显著性评分,并可以计算组中权重元素的掩值 :

通过二进制 Mask ,作者可以通过修剪对应掩值 为 0 的参数 来确定稀疏权重。在作者的框架中,显著性评分函数 可以是一种多种指标,包括权重大小和泰勒评分 [26, 27]。为了简洁,作者使用权重大小作为默认显著性评分估计器。

总的来说,通过利用子集-超集关系,作者可以将给定的稀疏度水平编码到作者的超网络中。这种方法确保了给定神经网络中权重数量相同,不需要在不同稀疏度水平下使用多个权重副本。这不仅可以减少内存成本,还可以显著降低训练开销,简化了计算过程。

此外,这种共享权重的方法增强了稀疏子网络的收敛性,因为在超网络训练期间选择特定的稀疏度水平的同时训练了其子集和超集。如图5所示,如果应用2:4的稀疏度,相应的稀疏权重矩阵将被训练并共享权重也将得到更新。

Supernet Training and Subnetwork Sampling

苏佩网络训练旨在同时对指定搜索空间内的所有稀疏网络进行全面训练。这个过程中捕捉到的核心是以下目标函数:

在这里, 表示超网络的权重, 表示训练损失。每个稀疏配置由 表示,其中 表示对应每个配置 的稀疏权重。目标函数最小化搜索空间内所有现有稀疏子网络的期望损失,即 。在每一步优化中,从先验分布 中采样一种稀疏结构。这些稀疏结构被训练以最小化训练损失 并将梯度更新到共享的超网络权重中。

在超网络训练中,管理搜索空间的复杂性是很重要的。作者通过战略性地关注(i)可以转换成更稀疏网络以获得进一步吞吐量改进的配置,或(ii)计算成本在用户定义的上限 内的配置。在实际情况下,这意味着只有计算成本 小于或等于 的配置才被包括在采样过程中。

这种定制的调整使得搜索空间能适应各种实际约束,例如硬件限制,使得搜索更加适应可用的计算资源和使用场景。此外,通过考虑一个给定的 值,作者的超网络训练可以关注稀疏子网,这些子网通常需要更多的努力才能恢复模型准确性。如图6 所示,在考虑 的过程中,稀疏子网的表现将会提高。

picture.image在作者深入探讨候选配置的先验分布之前,作者首先回顾常规方法 [9]。在传统方法[9]中,所有候选配置被平等对待。具体地,稀疏配置通过独立地从 中均匀选择每个线性模块的稀疏级 来采样。

借助中心极限定理的洞察[22],可以明了在这个简单的取样范式下,计算成本 的分布将大致收敛到正态分布。在对作者共享权重超网络结构时,当作者采样了一个特定的稀疏配置 ,接近完全相同计算成本的相似配置也将被间接地训练。这使得训练偏向计算成本聚集在平均值附近的架构,而对于计算成本极其边界的架构,特别是具有更高稀疏性的架构,容易出现过拟合训练。

为了激励并确保在架构光谱上进行更平衡的探索,作者采用了两步采样策略。这个过程首先将计算成本离散化到不同的 Level ,表示为 ,其中 对应于最小计算成本(), 对应于用户指定的最大计算成本()。数学上,这种离散化可以表示为设有一组区间 = {。有了这些区间,采样会在两个阶段展开:首先,在 中均匀选择一个计算成本区间 = ,然后在这个选定的区间内,针对性地采样一个架构。基于这种战略方法,作者可以确保不同计算成本架构的平衡训练,从而减轻高稀疏度架构的欠训练问题。

picture.image为了激发并确保在架构光谱上进行更平衡的探索,作者采用了两步采样策略。这个过程首先将计算成本离散化到不同的 Level ,表示为 ,其中 对应于最小计算成本(), 对应于用户指定的最大计算成本()。数学上,这种离散化可以表示为设有一组区间 = {。有了这些区间,采样会在两个阶段展开:首先,在 中均匀选择一个计算成本区间 = ,然后在这个选定的区间内,针对性地采样一个架构。基于这种战略方法,作者可以确保不同计算成本架构的平衡训练,从而减轻高稀疏度架构的欠训练问题。

当探索更强的稀疏性时,例如1:8或1:16的稀疏性,超网络训练可能会受到负面影响,因为这些选择过于稀疏,对某些层无法传递信息到后续层。因此,作者提出了一种自动选择过滤方法,在训练阶段移除过于稀疏的选择,以保持某些层的确切性。

从搜索空间中过滤不适合稀疏度的选择,作者通过描述在算法1中发生的选择概率的过程来保持稀疏度选择的概率。在此,第个层有一套稀疏度选择,每个稀疏度选择都关联一个概率,其中且。经过几次训练周期,稀疏子网会从每个区间中随机采样,并用代理数据集(验证数据集的子集,以减少评估时间)评估它们的精度。采样子网的精度将被视为评估分数,用于更新其在稀疏配置中的概率,即所有,其中是稀疏配置中第个层的稀疏度选择。

通过评估一定数量的子网,表示稀疏度选择对不同层精度的影响。当一个稀疏度 Level 被选择用于稀疏化一个层并导致更大的精度下降时,其分数较低。如果该稀疏度 Level 的得分低于给定的阈值,其概率为0(在随后的训练中不被选择)。否则,每个层中稀疏度选择的分数将被规范化,并用于下一轮训练的。对于增强超网络训练的详细训练处方,请参阅附录A.1。

picture.imageSearching for the Pareto-optimal Solutions

从训练好的超网络中获取合适的稀疏配置,作者依赖于进化搜索和提出的自动选择过滤策略(第3.2节中的Algo. 1)以确定在准确率和加速之间的适当权衡。进化算法包含四个步骤:初始化、突变、交叉和选择。首先,作者用作者的两步采样策略初始化子网络的种群,以采样一些包含为 ViT 中的数组稀疏选择的稀疏配置。

其次,每个子网络中每一层的稀疏度突变(例如,从 2:4 变为 1:4),以突变概率进行突变。第三,作者通过将部分稀疏设置改变来交叉多对子网络,以生成新的稀疏组合。

然后,根据适应度函数,保留具有最高 最佳适应度分数的稀疏设置在种群中,以便进行下一轮迭代(较低分数的设置将被删除)。经过多次突变、交叉和选择后,合适的稀疏配置将被获得,相应的具有高准确度的子网络可以从中提取,而无需进行进一步的微调。

数据集和基准作者的实验在图像分类任务上进行的ImageNet-1k 数据集。作者将这种方法应用到DeiT,该方法包括多个 Transformer 编码器块,和在改进的 Swin-Transformer 中采用了层次设计和推移窗口方法。有关超网络训练的详细设置,请在附录A.2 中查看。

Pruning Results on ImageNet-1K

在作者的方法中,作者使用2的N次方作为一个二进制对来定义作者的搜索空间,并开展一个协调的超级网络的训练过程。这个超级网络包含各种稀疏子网络。通过进化搜索,作者战略性地在搜索空间中导航,以识别出最佳的层状稀疏配置。作者的结果如表1所示。所有模型都是直接继承自超级网络,不需要进行额外的调整、微调和后训练。 如表1所示,作者的方法在探索N:M稀疏度的同时,展示了降低FLOPs并保持模型性能的能力。例如,在使用作者的剪枝策略对DeiT-B进行处理时,作者实现了计算成本的显著减少2.9倍,而准确率仅有轻微下降,如图8所示。当作者追求约50%的FLOPs减少时,作者的进化搜索方法将作者引导到了超级网络统一的2:4稀疏设置。

picture.image此外,具有统一2:4稀疏设置的稀疏网络,在仅0.2%的准确率下降的情况下,可以实现近两倍的计算成本降低。与Swin-Transformer模型的情况类似,从而证实了作者的方法的鲁棒性。

采用层状稀疏度的优势 层状稀疏度的采用是作者方法的基础方面,与传统的2:4稀疏配置相比,具有显著的优势。正如DeiT-B模型所显示的那样,通过探索层状稀疏度,作者的方法已经实现了效率的改进,表明FLOPs减少了1.53倍(9.2G 6.0G)。此外,FLOPs的减少与在支持N:M稀疏度的加速器上部署稀疏网络所获得的加速非常相关。这一结果表明,层状稀疏度能够利用更高的硬件加速率。这一趋势也在Swin-B模型中得到证实,报告了计算效率的提高1.51倍(8G 5.3G)。

值得一提的是,作者的半结构稀疏度探索所获得的FLOPs减少可以理论化为运行时速度加快,当时与其他新兴的N:M稀疏度支持硬件加速器配对。假设硬件利用率最佳,一个2:4稀疏的网络可以在像NVIDIA Ampere GPU[28]这样的平台上的速度提高近两倍。同样地,采用层状N:4稀疏度的稀疏网络,如ELSA-DeiT-B-N:4,在部署到VEGETA[12]这样的平台上时,应期望能获得最多2.9倍的速度提高。此外,作者的方法的重要优势在于,可以探索各种半结构稀疏度模式。这使得作者的方法可以与不同的硬件设计无缝集成,如图10所示,该网络针对N:8稀疏度,以帮助开发在保证准确率的同时高效的稀疏网络。此外,作者半结构稀疏度探索的FLOPs减少理论上也可能转化为运行时速度增加,结合新兴的N:M稀疏度支持硬件加速器。

picture.imageComparison to Other Sparse Configuration Search Methods

为了证明作者在识别最佳分层稀疏配置方法的有效性,作者将比较作者的方法与其他占优的稀疏选择范式。进行比较的方法包括 Erdos-Renyi (ER)[25](最初设计用来确定分层无结构的稀疏性,作者通过首先决定无结构稀疏度 Level ,然后将该 Level 四舍五入到最近的稀疏度 Level )DominoSearch [31],一种针对CNNs的稀疏度 Level 选择方法)。关于这两种方法的更多描述,请参见附录A.3。

在作者的实验中,采用上述策略在预训练的ViTs上决定每个目标线性模块的稀疏度 Level 。一旦确定了稀疏度 Level ,作者从完全训练的超网络中推导出稀疏子网络,并评估这些在ImageNet-1k验证数据集上的性能。

从图9的视觉表示来看,作者的方法在Swin-B架构上始终优于基准方法。作者的方法在FLOPs和准确性之间实现了更优的权衡。值得注意的是,作者的方法能够确定一个比DominoSearch策略实现额外34%的FLOPs减少,同时保持可比的,如果不是优越的准确性。此外,当对FLOPs对齐时,还观察到Top-1准确度的0.8%提高。最后,图表强调作者的结果始终位于Pareto前沿,表示计算效率和性能之间的更好平衡。这种视觉证据强调了在ViTs中提出的分层稀疏探索技术的有效性。请参阅附录A.4以了解更多关于由所讨论的算法搜索的稀疏配置的详细可视化。

picture.image5 Conclusion

本文提出了ELSA,这是一种首先针对ViTs加速的层状稀疏性探索方法。作者解决了在稀疏支持的加速器上选择适当层状稀疏配置的挑战。利用稀疏 Level 之间的子集-超级集关系,作者构建了具有全部稀疏选择的超网络,并使它们共享权重,同时应用动态 Mask 提取稀疏矩阵,从而既减少了训练开销,又提高了稀疏子网的收敛性。

通过作者提出的ELSA方法,作者可以不仅得到具有高精度的稀疏ViT模型,还可以得到具有有效减少FLOPs的稀疏配置,这与混合稀疏支持加速器的加速效果高度相关。作者预计,作者的工作将为未来在稀疏ViT模型上进行的研究建立一个可靠的基准,并为即将到来的硬件和软件协同设计研究提供有价值的见解。### 作者的稀疏超网络训练和扩展算法的详细信息

由于超网络需要同时训练多个架构,训练超网络具有挑战性。这种复杂性需要简化训练过程以促进收敛。通常包含在ViTs训练过程中的正则化方法(例如,dropPath、dropout),在作者的方法中已被禁用。在超网络的动态环境中,参数不断被 Mask 和变化,额外的正则化可能创建训练困难,阻碍超网络中封装的各种网络的有效学习。

受到模型压缩先前工作[35; 29]的启发,作者引入了知识蒸馏[11],这是一种基于教师-学生范式的技术,以进一步增强和稳定作者的超网络训练。在作者的实现中,未压缩的模型是教师。在训练过程中,一个数据 mini-batch 首先经过未压缩的模型产生预测 logits。

然后,从超网络稀疏子网中采样出来的稀疏子网络被优化,以模仿未压缩模型的行为,通过最小化与教师生成的 logits 相对于交叉熵损失。这种策略旨在利用未压缩模型的指导帮助超网络中训练多个稀疏架构。

参考

[1].ELSA: Exploiting Layer-wise N:M Sparsity for Vision Transformer Acceleration.

picture.image

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

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

picture.image

点击下方“ 阅读原文 ”,

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

0
0
0
0
评论
未登录
暂无评论