Fit and Prune: Fast and Training-free Visual Token Pruning for Multi-modal Large Language Models
<|reference_start|>Fit and Prune: Fast and Training-free Visual Token Pruning for Multi-modal Large Language Models: Recent progress in Multimodal Large Language Models(MLLMs) often use large image tokens to compensate the visual shortcoming of MLLMs, which not only exhibits obvious redundancy but also greatly exacerbates the already high computation. Token pruning is an effective solution for speeding up MLLMs, but when and how to drop tokens still remains a challenge. In this paper, we propose a novel and training-free approach for the effective visual token pruning of MLLMs, termed FitPrune, which can quickly produce a complete pruning recipe for MLLMs according to a pre-defined budget. Specifically, FitPrune considers token pruning as a statistical problem of MLLM and its objective is to find out an optimal pruning scheme that can minimize the divergence of the attention distributions before and after pruning. In practice, FitPrune can be quickly accomplished based on the attention statistics from a small batch of inference data, avoiding the expensive trials of MLLMs. According to the pruning recipe, an MLLM can directly remove the redundant visual tokens of different examples during inference. To validate FitPrune, we apply it to a set of recent MLLMs, including LLaVA-1.5, LLaVA-HR and LLaVA-NEXT, and conduct extensive experiments on a set of benchmarks. The experimental results show that our FitPrune can not only reduce the computational complexity to a large extent, while retaining high performance, e.g., -54.9% FLOPs for LLaVA-NEXT with only 0.5% accuracy drop. Notably, the pruning recipe can be obtained in about 5 minutes. Our code is available at https://github.com/ywh187/FitPrune.<|reference_end|>
@article{ye2024fit,
    title={Fit and Prune: Fast and Training-free Visual Token Pruning for
  Multi-modal Large Language Models},
    author={Weihao Ye, Qiong Wu, Wenhao Lin, Yiyi Zhou},
    journal={arXiv preprint arXiv:2409.10197},
    year={2024},
    archivePrefix={arXiv},
    eprint={2409.10197},
    primaryClass={cs.CV cs.CL cs.MM}
}