CLASP: Class-Adaptive Layer Fusion and Dual-Stage Pruning for Multimodal Large Language Models
Organizations: School of Artificial Intelligence Science and Technology, Nanjing University.
Abstract
Multimodal Large Language Models (MLLMs) suffer from substantial computational overhead due to the high redundancy in visual token sequences. Existing approaches typically address this issue using single-layer Vision Transformer (ViT) features and static pruning strategies. However, such fixed configurations are often brittle under diverse instructions. To overcome these limitations, we propose CLASP, a plug-and-play token reduction framework based on class-adaptive layer fusion and dual-stage pruning. Specifically, CLASP first constructs category-specific visual representations through multi-layer vision feature fusion. It then performs dual-stage pruning, allocating the token budget between attention-salient pivot tokens for relevance and redundancy-aware completion tokens for coverage. Through class-adaptive pruning, CLASP enables prompt-conditioned feature fusion and budget allocation, allowing aggressive yet robust visual token reduction. Extensive experiments demonstrate that CLASP consistently outperforms existing methods across a wide range of benchmarks, pruning ratios, and MLLM architectures. Code will be available at https://github.com/Yunkaidang/CLASP.
Figures & tables
| Methods | GQA | MMB | MME | POPE | SQA | VQA | VQA | Average |
| Upper Bound, 576 Tokens | 61.9 | 64.7 | 1862 | 85.9 | 69.5 | 78.4 | 58.2 | 100.0% |
| LLaVA-1.5 7B | Retain 192 Tokens \mathbf{{\color[rgb]{0.1328,0.5469,0.1328}(\downarrow 66.7\%)}} | |||||||
| ToMe (ICLR23) ( Bolya et al., 2022 ) | 54.3 | 60.5 | 1563 | 72.4 | 65.2 | 68.0 | 52.1 | 88.5% |
| FastV (ECCV24) ( Chen et al., 2024a ) | 52.7 | 61.2 | 1612 | 64.8 | 67.3 | 67.1 | 52.5 | 87.8% |
| MustDrop (2024.11) ( Liu et al., 2024c ) | 58.2 | 62.3 | 1787 | 82.6 | 69.2 | 76.0 | 56.5 | 96.6% |
| LLaVA-PruMerge (ICCV25) ( Shang et al., 2025 ) | 54.3 | 59.6 | 1632 | 71.3 | 67.9 | 70.6 | 54.3 | 90.2% |
| Methods | GQA | MMB | MME | POPE | SQA | VQA | VQA | Average |
| Upper Bound, 2880 Tokens | 64.2 | 67.4 | 1851 | 86.5 | 70.1 | 81.8 | 64.9 | 100.0% |
| LLaVA-NeXT 7B | Retain 320 Tokens \mathbf{{\color[rgb]{0.1328,0.5469,0.1328}(\downarrow 88.9\%)}} | |||||||
| FastV (ECCV24) ( Chen et al., 2024a ) | 55.9 | 61.6 | 1661 | 71.7 | 62.8 | 71.9 | 55.7 | 88.0% |
| LLaVA-PruMerge (ICCV25) ( Shang et al., 2025 ) | 53.6 | 61.3 | 1534 | 60.8 | 66.4 | 69.7 | 50.6 | 85.6% |
| PDrop (CVPR25) ( Xing et al., 2024 ) | 56.4 | 63.4 | 1663 | 77.6 | 67.5 | 73.5 | 54.4 | 90.9% |
| MustDrop (2024.11) ( Liu et al., 2024c ) | 57.3 | 62.8 | 1641 | 82.1 | 68.0 | 73.7 | 59.9 | 92.2% |
| Methods | MME | POPE | SQA | VQA | MMB | Avg |
| Upper Bound | 2308 | 86.1 | 78.0 | 77.8 | 82.2 | 100% |
| Qwen2.5-VL-7B | TokenPruningRate = 66.7% | |||||
| SparseVLM | 2165 | 81.7 | 73.8 | 71.5 | 78.4 | 94.1% |
| CLASP (ours) | 2197 | 85.1 | 75.4 | 74.7 | 78.6 | 96.5% |
| Qwen2.5-VL-7B | TokenPruningRate = 77.8% | |||||
| SparseVLM | 2086 | 77.7 | 72.8 | 68.7 | 75.6 | 90.8% |
| Method | TGIF | MSVD | MSRVTT | Average |
| Upper Bound | 43.47 | 61.93 | 51.28 | 52.23 |
| SparseVLM | 44.67 | 59.29 | 49.69 | 51.22 |
| CLASP (ours) | 45.65 | 61.62 | 51.58 | 52.95 |
| Method | Time | Prefill | Latency | Mem. | Acc. | |
| Retain 192 Tokens \mathbf{{\color[rgb]{0.1328,0.5469,0.1328}(\downarrow 66.7\%)}} | ||||||
| Upper Bound | 49:41 | 0.5ms | 0.334s | 19.0G | 100.0% | - |
| SparseVLM | 40:51 | 0.6ms | 0.251s | 15.8G | 97.3% | 1.2 |
| CLASP (ours) | 33:08 | 0.2ms | 0.216s | 17.6G | 99.6% | 1.5 |
| Retain 58 Tokens \mathbf{{\color[rgb]{0.1328,0.5469,0.1328}(\downarrow 89.9\%)}} | ||||||
| Upper Bound | 49:41 | 0.5ms | 0.334s | 19.0G | 100.0% | - |
Appendix figures & tables25 assets
Supplementary material from the paper’s appendix.
Appendix
| ID | Category | Fusion weights (LLaVA family) | Fusion weights (Qwen2.5-VL) | Split ratio |
| 0 | Object identification | 0.8 | ||
| 1 | Attribute / breed identification | 0.4 | ||
| 2 | Text / symbol recognition | 0.7 | ||
| 3 | Scene understanding | 0.7 | ||
| 4 | Spatial relations | 0.7 | ||
| 5 | Counting | 0.6 |
| ID | Category | GQA | MMB | MME | MMVet | POPE | SQA | VQA | VQA |
| 0 | Object identification | 2095 | 272 | 355 | 21 | 2277 | 178 | 18263 | 239 |
| 1 | Attribute / breed identification | 4015 | 268 | 85 | 19 | 0 | 410 | 19380 | 1037 |
| 2 | Text / symbol recognition | 75 | 111 | 147 | 12 | 0 | 465 | 4368 | 2856 |
| 3 | Scene understanding | 2319 | 1950 | 1209 | 58 | 6633 | 521 | 35553 | 388 |
| 4 | Spatial relations | 3632 | 379 | 70 | 18 | 0 | 193 | 7378 | 39 |
| 5 | Counting | 9 | 100 | 87 | 5 | 0 | 54 | 10007 | 53 |
| Calibration Size | Sampling Strategy | MME | TextVQA | MMVet |
| 4.5k | Balanced (Avg) | |||
| 4.5k | Random | |||
| 9k | Balanced (Avg) | |||
| 9k | Random | |||
| 18k | Balanced (Avg) | |||
| 18k | Random |
| Component | Time Cost | Memory Usage |
| Intent Classifier (Online Inference) | ms | 15.5 GB |
| Calibration of Layer Weights ( ) (Offline) | h | 19.4 GB |
| Calibration of Split Ratios ( ) (Offline) | h | 17.6 GB |
| Config | MME | TextVQA | GQA | POPE |
| Baseline | 1721 | 56.1 | 57.6 | 83.6 |
| + Fusion | 1814 | 56.9 | 59.6 | 85.0 |
| + Ratio | 1787 | 56.6 | 58.4 | 84.7 |
| + Both (CLASP) | 1848 | 57.6 | 60.4 | 85.6 |
| Methods | GQA | MMB | MME | POPE | SQA | VQA | Average |
| Upper Bound | 63.3 | 68.9 | 1818 | 85.9 | 72.8 | 61.8 | 100.0% |
| LLaVA-1.5 13B | Retain 192 Tokens \mathbf{{\color[rgb]{0.1328,0.5469,0.1328}(\downarrow 66.7\%)}} | ||||||
| SparseVLM | 58.7 | 67.4 | 1768 | 82.2 | 73.1 | 59.6 | 96.9% |
| CLASP (ours) | 60.1 | 68.0 | 1785 | 86.2 | 72.8 | 59.6 | 98.2% |
| LLaVA-1.5 13B | Retain 128 Tokens \mathbf{{\color[rgb]{0.1328,0.5469,0.1328}(\downarrow 77.8\%)}} | ||||||
| SparseVLM | 57.9 | 65.8 | 1774 | 81.1 | 69.9 | 58.4 | 95.0% |
| Methods | GQA | MMB | MME | POPE | SQA | VQA | Average |
| Upper Bound | 64.2 | 67.4 | 1851 | 86.5 | 70.1 | 64.9 | 100.0% |
| LLaVA-NeXT 7B | Retain 640 Tokens | ||||||
| SparseVLM | 61.2 | 62.2 | 1697 | 85.3 | 67.6 | 59.7 | 94.4% |
| CLASP (ours) | 63.1 | 62.8 | 1746 | 87.9 | 69.8 | 61.8 | 97.0% |
| LLaVA-NeXT 7B | Retain 320 Tokens | ||||||
| SparseVLM | 56.1 | 60.6 | 1533 | 82.4 | 66.1 | 58.4 | 90.0% |
| Methods | GQA | MMB | MME | POPE | SQA | VQA | Average |
| Upper Bound | 65.4 | 70.0 | 1901 | 86.2 | 73.5 | 64.3 | 100.0% |
| LLaVA-NeXT 13B | Retain 640 Tokens | ||||||
| SparseVLM | 62.7 | 62.0 | 1821 | 86.0 | 71.5 | 59.3 | 94.9% |
| CLASP (ours) | 64.2 | 63.2 | 1867 | 86.8 | 73.5 | 61.5 | 97.2% |
| LLaVA-NeXT 13B | Retain 320 Tokens | ||||||
| SparseVLM | 60.9 | 60.8 | 1798 | 83.5 | 70.6 | 57.2 | 92.7% |
| Methods | TextVQA | MME | GQA | MMVet |
| Upper Bound | 82.5 | 2270 | 64.9 | 64.0 |
| InternVL2 26B | Retain 35% Tokens | |||
| FastV | 75.6 | 2140 | 61.2 | 45.0 |
| ToMe | 75.7 | 2178 | 63.6 | 52.5 |
| CLASP (ours) | 81.7 | 2262 | 65.0 | 63.2 |
| Layers | Class 0 | Class 1 | Class 2 | Class 3 | Class 4 | Class 5 | Class 6 | Class 7 | Class 8 | Avg |
| MMVet ( ) | ||||||||||
| A | 28.0 | 28.2 | 28.6 | 28.5 | 27.8 | 28.4 | 28.3 | 28.7 | 28.3 | 28.3 |
| B | 28.9 | 28.3 | 27.1 | 28.8 | 16.2 | 27.8 | 28.2 | 28.1 | 28.2 | 26.8 |
| C | 28.4 | 28.6 | 25.8 | 28.5 | 14.0 | 28.1 | 28.9 | 28.4 | 28.4 | 26.6 |
| D | 28.7 | 28.0 | 29.1 | 28.3 | 28.3 | 29.5 | 28.8 | 28.5 | 28.2 | 28.6 |
| E | 28.2 | 28.3 | 27.9 | 28.4 | 28.6 | 27.9 | 28.1 | 28.0 | 28.2 | 28.2 |
| Budget | Method | LLaVA-B | MMVet | VizWiz | MMB-CN | MMB | SEED |
| Unpruned | LLaVA-v1.5-7B | 66.8 | 30.9 | 50.0 | 58.1 | 64.7 | 66.2 |
| R=192 | SparseVLM | 66.1 | 33.1 | 50.5 | 53.7 | 62.5 | 64.2 |
| CLASP (Ours) | 66.7 | 33.3 | 52.1 | 57.9 | 61.3 | 65.4 | |
| R=128 | SparseVLM | 62.7 | 29.0 | 51.4 | 51.1 | 60.0 | 63.6 |
| CLASP (Ours) | 65.6 | 30.0 | 51.9 | 57.1 | 60.7 | 63.0 | |
| R=64 | SparseVLM | 57.5 | 24.9 | 50.1 | 46.1 | 56.2 | 56.8 |
| Class 0 | Class 1 | Class 2 | Class 3 | Class 4 | Class 5 | Class 6 | Class 7 | Class 8 | |
| MME ( ) | |||||||||
| 0.1 | 1815 | 1810 | 1815 | 1812 | 1815 | 1782 | 1812 | 1812 | 1813 |
| 0.3 | 1809 | 1814 | 1770 | 1814 | 1818 | 1802 | 1805 | 1809 | 1804 |
| 0.5 | 1799 | 1813 | 1791 | 1812 | 1811 | 1801 | 1813 | 1815 | 1811 |
| 0.7 | 1817 | 1812 | 1813 | 1828 | 1818 | 1812 | 1812 | 1814 | 1813 |
| 0.9 | 1816 | 1813 | 1809 | 1816 | 1817 | 1816 | 1813 | 1814 | 1814 |
| Iterations | MME | GQA | MMVet | POPE | SQA | TextVQA |
| 3 | 1828 | 60.41 | 31.1 | 85.57 | 69.58 | 56.83 |
| 5 | 1848 | 60.44 | 31.8 | 85.55 | 69.56 | 57.59 |
| 7 | 1823 | 59.08 | 31.3 | 85.48 | 68.32 | 56.81 |
| 9 | 1762 | 59.02 | 30.5 | 84.33 | 68.37 | 56.92 |
| 11 | 1757 | 58.61 | 30.1 | 84.41 | 68.22 | 56.94 |
| Methods | MMBench | MMVet | MME | TextVQA | VQA-v2 | GQA | SQA | POPE |
| Search-derived Weights (fixed ) | 61.34 | 33.3 | 1848 | 57.59 | 77.08 | 60.44 | 69.56 | 85.55 |
| Search-derived Weights init + Calibrated | 60.13 | 32.2 | 1759 | 56.15 | 77.08 | 60.22 | 69.39 | 85.58 |
| Penultimate-biased init + Calibrated | 57.7 | 33.2 | 1722 | 56.05 | 77.14 | 59.78 | 68.69 | 85.67 |
| Uniform init + Calibrated | 17.70 | 12.8 | 1127 | 30.28 | 62.43 | 43.13 | 47.63 | 78.03 |
| Budget | Method | MME | GQA | POPE | TextVQA |
| Unpruned | LLaVA-v1.5-7B | 1862 | 61.9 | 85.9 | 58.2 |
| R=192 | Static [3, 18, 24] | 1756 | 57.4 | 83.9 | 57.6 |
| CLASP (Ours) | 1848 | 60.4 | 85.6 | 57.6 | |
| R=128 | Static [3, 18, 24] | 1701 | 56.2 | 82.7 | 55.3 |
| CLASP (Ours) | 1790 | 58.9 | 85.2 | 56.7 | |
| R=64 | Static [3, 18, 24] | 1614 | 54.1 | 78.2 | 51.9 |
| Retention Budget ( ) | TGIF | MSVD | MSRVTT |
| 45.53 0.18 | 61.72 0.21 | 51.45 0.13 |
| Forced “Default” Ratio | MME | TextVQA | SQA | MMVet | POPE |
| 1840 | 57.4 | 69.5 | 33.3 | 85.5 | |
| 1799 | 55.0 | 68.7 | 32.8 | 84.7 | |
| 1756 | 55.1 | 68.0 | 31.3 | 83.6 | |
| 1715 | 53.7 | 66.7 | 29.6 | 82.2 | |
| Random Error Ratio | MME | TextVQA | SQA | MMVet | POPE |
| 1834 | 57.4 | 69.4 | 33.1 | 85.3 |
| Retained Tokens ( ) | Total Time | Memory | FLOPs | Total Prefill | Classifier Time | Weight Fusion | K-means |
| 192 | 223.1 ms | 17.62 GB | 2.67 T | 125.2 ms | ms | ms | 27.2 ms |
| 128 | 201.7 ms | 17.59 GB | 1.97 T | 109.6 ms | ms | ms | 23.1 ms |
| 64 | 155.8 ms | 17.45 GB | 1.39 T | 74.7 ms | ms | ms | 17.2 ms |
| Router Model | Count Variance | MME | TextVQA | SQA | MMVet | POPE |
| Qwen3-8B (Default) | 0 | 1848 | 57.6 | 69.6 | 33.3 | 85.6 |
| Llama3-8B | 37.2 | 1840 | 57.5 | 69.4 | 32.9 | 85.7 |
| Qwen3-32B | 7.9 | 1848 | 57.7 | 69.4 | 33.1 | 85.3 |
| Method | MME | TextVQA | SQA | MMVet | POPE |
| Nuwa (ICLR 2026) ( Huang et al., 2026 ) | 1834 | 57.4 | 68.2 | 30.5 | 86.4 |
| Holov (NeurIPS 2025) ( Zou et al., 2025a ) | 1820 | 57.4 | 69.8 | - | 85.6 |
| BTP (NeurIPS 2025) ( Li et al., 2025 ) | 1816 | - | 69.1 | 29.1 | 85.6 |
| CLASP (ours) | 1848 | 57.6 | 69.6 | 33.3 | 85.6 |