Vision Transformers (ViTs) have achieved impressive performance over various computer vision tasks. However, modelling global correlations with multi-head self-attention (MSA) layers leads to two widely recognized issues: the massive computational resource consumption and the lack of intrinsic inductive bias for modelling local visual patterns. To solve both issues, we devise a simple yet effective method named Single-Path Vision Transformer pruning (SPViT), to efficiently and automatically compress the pre-trained ViTs into compact models with proper locality added. Specifically, we first propose a novel weight-sharing scheme between MSA and convolutional operations, delivering a single-path space to encode all candidate operations. In this way, we cast the operation search problem as finding which subset of parameters to use in each MSA layer, which significantly reduces the computational cost and optimization difficulty, and the convolution kernels can be well initialized using pre-trained MSA parameters. Relying on the single-path space, we further introduce learnable binary gates to encode the operation choices, which are jointly optimized with network parameters to automatically determine the configuration of each layer. We conduct extensive experiments on two representative ViTs showing that our SPViT achieves a new SOTA for pruning on ImageNet-1k. For example, our SPViT can trim 52.0% FLOPs for DeiT-B and get an impressive 0.6% top-1 accuracy gain simultaneously. The source code is available at https://github.com/ziplab/SPViT.
翻译:视觉变异器(ViTs)在各种计算机的视觉任务中取得了令人印象深刻的成绩。然而,建模与多头自我注意(MSA)层的全球关系,导致两个得到广泛承认的问题:大规模计算资源消耗和缺乏模拟本地视觉模式的内在感官偏差。为了解决这两个问题,我们设计了一个简单而有效的方法,名为“单面视觉变异器运行” (SPVIT),以高效和自动地将经过预先训练的ViTs压缩为紧凑模型,并添加适当的地点。具体地说,我们首先提出一个与MISA和 Convolution操作(MSA)操作之间新的权重共享计划,提供单一路径空间来编码所有候选操作操作。这样,我们把操作搜索问题定位为每个任务层使用哪一组参数,这大大降低了计算成本和优化难度,而连动内核内核部分内存的内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存内存