ToaSt: Token Channel Selection and Structured Pruning for Efficient ViT
Organizations: LG Electronics, Seoul, Republic of Korea · Hankuk University of Foreign Studies, Yongin, Republic of Korea · University of Toronto, Toronto, Canada
Abstract
Vision Transformers (ViTs) have achieved remarkable success across various vision tasks, yet their deployment is often hindered by prohibitive computational costs. While structured weight pruning and token compression have emerged as promising solutions, they suffer from prolonged retraining and inter-layer dependencies that complicate optimization, respectively. We propose ToaSt, a decoupled framework applying specialized strategies to distinct ViT components. We apply coupled head-wise structured pruning to Multi-Head Self-Attention modules, leveraging attention operation characteristics to enhance robustness. For Feed-Forward Networks (over 60% of FLOPs), we introduce Token Channel Selection (TCS), a training-free method that filters redundant noise channels at inference time. Extensive evaluations across nine diverse models, including DeiT, ViT-MAE, and Swin Transformer, demonstrate that ToaSt achieves superior trade-offs between accuracy and efficiency, consistently outperforming existing baselines. On ViT-MAE-Huge, ToaSt achieves 88.52% accuracy (+1.64%p) with 39.4% FLOPs reduction. ToaSt also transfers effectively to diverse downstream tasks (COCO detection, ADE20K segmentation, CIFAR-100 classification), achieving 52.2 versus 51.9 mAP on COCO. Code: github.com/SHANNonLab-HUFS/ToaSt
Figures & tables
| Model | Method | Top-1 (%) | Top-5 (%) | GFLOPs | FLOPs (%) | Throughput (img/s) | Speedup |
|---|---|---|---|---|---|---|---|
| DeiT-Tiny | Baseline | 72.20 | 91.10 | 1.3 | – | 2090.9 | 1.00 |
| ToMe ( Bolya et al., 2022 ) | 71.25 | 90.74 | 0.7 | 46.2 | 2484.6 | 1.19 | |
| DiffRate ( Chen et al., 2023 ) | 71.78 | 90.87 | 0.9 | 30.8 | 2422.5 | 1.16 | |
| ToaSt (Ours) | 74.25 | 92.65 | 0.76 | 41.5 | 4249.7 | 2.03 | |
| DeiT-Small | Baseline | 79.82 | 94.95 | 4.6 | – | 2313.2 | 1.00 |
| ToMe ( Bolya et al., 2022 ) | 79.35 | 94.65 | 2.7 | 41.3 | 2737.1 | 1.18 |
| Model | Method | GFLOPs | Top-1 (%) | Acc | Throughput(imgs/s) |
|---|---|---|---|---|---|
| DeiT Tiny | Baseline | 1.3 | 72.20 | – | 2090.95 |
| DiffRate | 0.8 | 71.67 | - 0.53 | 2255.7 | |
| ToaSt (Ours) | 0.8 | 74.30 | +2.1 | 4249.68 | |
| DeiT Small | Baseline | 4.6 | 79.82 | – | 2313.2 |
| ToMe | 2.7 | 79.35 | - 0.47 | 2737.05 | |
| DiffRate | 2.7 | 79.38 | - 0.44 | 3259.85 |
| Backbone | Method | GFLOPs | Box | Mask |
| mAP | mAP | |||
| Swin Small | Baseline | 194 | 51.9 | 45.0 |
| ToaSt | 144 (25.8% ) | 52.2 | 45.0 | |
| Swin Base | Baseline | 343 | 51.9 | 45.0 |
| ToaSt | 251 (26.8% ) | 52.2 | 45.1 | |
| ToaSt | 246 (28.3% ) | 51.8 | 44.9 |
| Setting | GFLOPs | Quality | |
|---|---|---|---|
| ADE20K (Baseline) | 87.0 | 48.13 mIoU | – |
| ADE20K (4-layer TCS) | 82.8 | 48.13 mIoU | 0.00 |
| ADE20K (6-layer TCS) | 80.9 | 47.98 mIoU | 0.15 |
| CIFAR-100 (Baseline) | 15.4 | 89.37% | – |
| CIFAR-100 (ToaSt) | 10.1 (34.4% ) | 89.44% | +0.07 |
| Model | Method | Top-1 (%) | GFLOPs | Throughput | Speedup |
|---|---|---|---|---|---|
| DeiT Small | Baseline | 79.82 | 4.6 | 2313.20 | 1.00 |
| MHSA Only | 76.12 | 3.1 | 3684.59 | 1.59 | |
| ToaSt | 83.40 | 2.5 | 4783.32 | 2.07 | |
| ViT-MAE Large | Baseline | 85.96 | 61.6 | 349.03 | 1.00 |
| MHSA Only | 81.81 | 42.8 | 492.07 | 1.41 | |
| ToaSt | 88.94 | 38.5 | 527.01 | 1.51 |
Appendix figures & tables22 assets
Supplementary material from the paper’s appendix.
Appendix
| Operation | Complexity | FLOPs (%) | Primary Factor |
|---|---|---|---|
| Projections | 23.0% | Hidden dim | |
| Attention Score | 3.9% | Sequence length | |
| Attention Output | 3.9% | Sequence length | |
| Output Projection | 7.7% | Hidden dim | |
| FC1 | 30.7% | Hidden dim | |
| FC2 | 30.7% | Hidden dim |
| Model | -norm | -norm | Geometric Median |
|---|---|---|---|
| DeiT-Small (90%) | 76.12 | 76.17 | 76.24 |
| Swin-Small (90%) | 80.54 | 81.14 | 81.20 |
| Block | Kept SNR | Pruned SNR | Ratio |
|---|---|---|---|
| 17 | 0.198 | 0.065 | 3.04 |
| 18 | 0.229 | 0.055 | 4.20 |
| 19 | 0.282 | 0.051 | 5.50 |
| 20 | 0.409 | 0.077 | 5.29 |
| 21 | 0.562 | 0.153 | 3.67 |
| Operation | Original FLOPs | Pruned FLOPs | Reduction |
|---|---|---|---|
| Projection | 90% | ||
| (Attn) | 90% | ||
| Projection | 90% | ||
| (Weighted Sum) | 90% | ||
| Output Projection | 90% |
| Model | Epochs | Wall-clock Time |
|---|---|---|
| DeiT-Small | 290 | 1 day |
| ViT-MAE-Large | 139 | 31 hours |
| ViT-MAE-Huge | 15 | 15 hours |
| Layer | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| FC1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.5 | 0.5 |
| FC2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.8 | 0.8 | 0.9 | 0.9 | 0.9 |
| Layer | 1-24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |
|---|---|---|---|---|---|---|---|---|---|
| FC1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.2 |
| FC2 | 0 | 0.8 | 0.9 | 0.9 | 0.9 | 0.9 | 0.9 | 0.9 | 0.9 |
| Stage 0 | Stage 1 | Stage 2 | Stage 3 | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Layer | 1 | 2 | 1 | 2 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 1 | 2 |
| FC1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.3 |
| FC2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.9 | 0.9 | 0.9 | 0.9 | 0.9 | 0.9 | 0.9 | 0.9 | 0.9 | 0.9 | 0.9 |
| Model | Method | Top-1 (%) | GFLOPs | Throughput | Speedup |
|---|---|---|---|---|---|
| DeiT-Tiny | Baseline | 72.20 | 1.3 | 2090.95 | 1.00 |
| MHSA Only | 69.81 | 0.9 | 2947.26 | 1.41 | |
| ToaSt | 74.25 | 0.76 | 4249.68 | 2.03 | |
| DeiT-Small | Baseline | 79.82 | 4.6 | 2313.20 | 1.00 |
| MHSA Only | 76.12 | 3.1 | 3684.59 | 1.59 | |
| ToaSt | 83.40 | 2.5 | 4783.32 | 2.07 |
| Importance Source | Top-1 (%) | Top-5 (%) |
|---|---|---|
| Coupled (Ours) | 71.43 | 90.75 |
| Q only broadcast to K | 71.28 | 90.53 |
| K only broadcast to Q | 71.32 | 90.71 |
| Proj only broadcast to V | 71.10 | 90.38 |
| Model | With Attn (%) | Without Attn (%) | ||
|---|---|---|---|---|
| DeiT | Tiny | 74.25 | 66.22 | +8.03 |
| Small | 83.40 | 75.83 | +7.57 | |
| Base | 84.82 | 82.60 | +2.22 | |
| ViT-MAE | Large | 89.21 | 89.51 | 0.30 |
| Huge | 88.52 | 90.52 | 2.00 | |
| Swin | Tiny | 81.76 | 81.85 | 0.09 |
| DeiT-T | DeiT-S | DeiT-B | MAE-B | MAE-H | ||
|---|---|---|---|---|---|---|
| 0.0 | 1.0 | 65.54 | 75.39 | 83.26 | 85.40 | 90.57 |
| 1.0 | 1.0 | 74.58 | 83.37 | 84.75 | 84.94 | 89.50 |
| 2.0 | 1.0 | 74.25 | 83.40 | 84.82 | 84.13 | 88.52 |
| 3.0 | 1.0 | 73.51 | 83.13 | 85.03 | 83.01 | 87.33 |
| 5.0 | 1.0 | 72.31 | 82.84 | 84.84 | 80.98 | 85.12 |
| 1.0 | 2.0 | 73.85 | 82.40 | 84.40 | 85.45 | 89.90 |
| Model | Sampling | Top-1 | GFLOPs | Throughput | Model | Sampling | Top-1 | GFLOPs | Throughput |
|---|---|---|---|---|---|---|---|---|---|
| DeiT-Tiny | No Sampling | 75.21 | 0.76 | 4100.7 | ViT-MAE-Huge | No Sampling | 88.64 | 101.4 | 201.3 |
| 20% (default) | 74.25 | 0.76 | 4249.7 | 2% (default) | 88.52 | 101.4 | 206.2 | ||
| 1% | 72.65 | 0.76 | 4228.5 | 1% | 88.06 | 101.4 | 206.0 | ||
| 1 Sample | 72.65 | 0.76 | 4251.5 | 1 Sample | 87.71 | 101.4 | 206.3 | ||
| DeiT-Small | No Sampling | 84.67 | 2.5 | 4564.2 | Swin-Tiny | No Sampling | 82.12 | 2.5 | 3073.6 |
| 2% (default) | 83.40 | 2.5 | 4783.3 | 20% (default) | 81.76 | 2.5 | 3096.2 |
| Pattern | DeiT-S | MAE-L | MAE-H | Swin-B |
|---|---|---|---|---|
| fc2_heavy (Ours) | 82.84 | 88.24 | 88.79 | 85.85 |
| stepwise | 81.01 | 86.16 | 90.06 | 84.29 |
| uniform | 56.54 | 77.56 | 77.04 | 74.42 |
| inverse | 18.06 | 74.57 | 68.24 | 63.06 |
| Method | Training | Top-1 (%) | vs. TCS |
|---|---|---|---|
| SVD (truncated) | Free | 69–73 | 10 to 15 |
| LoRA (rank-matched, 20 ep.) | 20 epochs | 76.13 | 7.27 |
| TCS (Ours) | Free | 83.40 | — |
| Model | Method | Top-1 (%) | Top-5 (%) | GFLOPs | Throughput (img/s) |
|---|---|---|---|---|---|
| DeiT-Tiny | ToMe | 71.25 | 90.74 | 0.7G | 2484.6 |
| ToaSt | 74.25 | 92.65 | 0.76G | 4249.7 | |
| ToaSt + ToMe (r=7) | 72.30 | – | 0.64G | 3636.0 | |
| DeiT-Small | ToMe | 79.35 | 94.65 | 2.7G | 2737.1 |
| ToaSt | 83.40 | 96.97 | 2.5G | 4783.3 | |
| ToaSt + ToMe (r=13) | 79.98 | 95.64 | 1.83G | 6138.1 |
| Model | Method | Top-1 (%) | Top-5 (%) | GFLOPs | FLOPs (%) | Latency (ms) | Throughput (img/s) | Speedup |
|---|---|---|---|---|---|---|---|---|
| DeiT-Tiny | Baseline | 72.20 | 91.10 | 1.3 | – | 61.22 | 2090.95 | – |
| ToMe | 71.25 | 90.74 | 0.7 | 46.2 | 51.54 | 2484.59 | 1.19 | |
| DiffRate | 71.78 | 90.87 | 0.9 | 30.8 | 52.84 | 2422.54 | 1.16 | |
| DiffRate | 71.67 | 90.78 | 0.8 | 38.5 | 56.75 | 2255.70 | 1.08 | |
| ToaSt | 69.93 | 89.67 | 0.9 | 30.8 | 36.89 | 3469.48 | 1.66 | |
| ToaSt | 74.30 | 92.26 | 0.8 | 38.5 | 29.32 | 4364.95 | 2.09 |
| Model | Method | Top-1 (%) | Top-5 (%) | GFLOPs | FLOPs (%) | Latency (ms) | Throughput (img/s) | Speedup |
|---|---|---|---|---|---|---|---|---|
| ViT-MAE-Base | Baseline | 83.75 | 96.54 | 17.6 | – | 112.27 | 1140.16 | – |
| ToMe (r=16) | 81.09 | 95.61 | 8.8 | 50.0 | 62.00 | 2064.49 | 1.81 | |
| ToMe (r=13) | 81.87 | 96.02 | 10.4 | 40.9 | 71.78 | 1783.33 | 1.56 | |
| DiffRate | 82.90 | 96.14 | 11.5 | 34.7 | 82.43 | 1552.75 | 1.36 | |
| ToaSt | 83.44 | 95.49 | 11.5 | 34.7 | 78.80 | 1624.28 | 1.42 | |
| ToaSt | 84.13 | 96.39 | 11.0 | 37.5 | 75.62 | 1692.61 | 1.48 |
| Model | Method | Top-1 (%) | Top-5 (%) | GFLOPs | FLOPs (%) | Latency (ms) | Throughput (img/s) | Speedup |
|---|---|---|---|---|---|---|---|---|
| Swin-Tiny | Baseline | 81.20 | 95.50 | 4.5 | – | 49.02 | 2610.94 | – |
| ToaSt | 81.76 | 95.70 | 3.1 | 31.3 | 45.58 | 2705.76 | 1.04 | |
| Swin-Small | Baseline | 83.20 | 96.20 | 8.7 | – | 83.42 | 1534.41 | – |
| STViT-R | 82.60 | 96.07 | 5.8 | 33.3 | 77.74 | 1646.58 | 1.07 | |
| ToaSt | 84.65 | 96.80 | 5.4 | 38.2 | 67.03 | 1909.46 | 1.24 | |
| Swin-Base | Baseline | 83.50 | 96.50 | 15.4 | – | 116.35 | 1100.10 | – |
| Model | Method | Total (ms) | Attn (ms) | Selection (ms) | FFN (ms) | Overhead |
|---|---|---|---|---|---|---|
| DeiT Tiny | ToMe | 125.81 | 50.90 | 38.93 | 35.98 | 30.9% |
| ToaSt | 53.01 | 29.42 | 8.79 | 14.80 | 16.6% | |
| DeiT Small | ToMe | 37.90 | 13.80 | 10.56 | 13.54 | 27.9% |
| ToaSt | 27.45 | 9.92 | 2.57 | 14.97 | 9.4% | |
| DeiT Base | ToMe | 82.80 | 34.12 | 5.31 | 43.37 | 6.4% |
| ToaSt | 75.59 | 23.18 | 3.51 | 48.91 | 4.6% |
| Backbone | MHSA Pruning | TCS Configuration |
|---|---|---|
| Swin-Small | 60% | FC1: 30% last 1L, FC2: 90% last 3L |
| Swin-Base (Config 1) | 60% | FC1: 30% last 1L, FC2: 90% last 4L |
| Swin-Base (Config 2) | 60% | FC1: 30% last 1L, FC2: 90% last 6L |