EADP: Entropy-Aware Dense Visual Token Pruning

June 30, 2026 · View on GitHub

Official implementation for Combating Textual Noise and Redundancy: Entropy-Aware Dense Visual Token Pruning.

EADP is a training-free visual token pruning method for efficient Vision-Language Models (VLMs). It targets two common failure modes in aggressive visual token pruning:

  • Textual noise in dense cross-modal scoring: dense token-level instruction guidance can preserve fine-grained details, but noisy or weakly grounded text tokens may corrupt the importance map.
  • Redundant and fragmented token selection: top-k selection tends to chase local peaks, often keeping redundant patches while dropping visually or semantically complementary regions.

EADP addresses these issues by combining entropy-aware dense instruction scoring with structured token selection. It first filters noisy text tokens using the entropy of their spatial similarity distributions, fuses the denoised dense signal with global semantic guidance, and then selects tokens through a facility-location style submodular objective with spatial priors. This produces compact visual representations that preserve fine-grained cues under strict token budgets.

Repository Overview

This repository contains three experimental tracks:

ModuleBackboneScopeEntry README
LLaVA/LLaVA-1.5 / LLaVA-1.6image VQA evaluation and efficiency analysisLLaVA/README.md
LLaVA_Video/LLaVA-Video-7B-Qwen2video understanding evaluationLLaVA_Video/README.md
Qwen_vl/Qwen2.5-VL / Qwen3-VLimage VQA evaluation with VLMEvalKitQwen_vl/README.md

Each module has its own environment file, model setup, dataset instructions, and run scripts.

Supported Methods

The public scripts cover:

Method Highlights

EADP follows a two-stage pruning pipeline.

1. Entropy-aware dense instruction scoring

EADP computes dense text-visual relevance instead of relying only on a single global text embedding. To suppress dispersed textual noise, it measures the entropy of each text token's spatial similarity distribution and filters high-entropy tokens. The retained dense guidance is aggregated and fused with global semantic context to obtain a robust instruction relevance map.

2. Redundancy-aware structured selection

Instead of selecting the top-scoring visual tokens independently, EADP formulates token selection as a facility-location style submodular maximization problem. The objective encourages the selected tokens to cover the original visual content holistically, reducing redundancy and preserving fine-grained evidence. Spatial smoothing and score polarization are used to stabilize the relevance map before selection.

For high-resolution or multi-patch settings such as LLaVA-NeXT, EADP also supports dynamic token allocation across image patches.

Installation

Install the environment for the module you want to run.

LLaVA:

cd LLaVA
conda env create -f environment.yml
conda activate pruner

LLaVA-Video:

cd LLaVA_Video
conda env create -f environment.yml
conda activate llava-video

Qwen-VL:

cd Qwen_vl
conda env create -f environment.yml
conda activate qwen-vl

Alternatively, each module also provides a requirements.txt for installation in an existing Python environment.

Quick Start

LLaVA

Run EADP efficiency evaluation on LLaVA-1.5:

cd LLaVA

python scripts/run_efficiency_eval.py \
  --model-version v1.5 \
  --methods eadp \
  --tokens 32 64 128 \
  --datasets vizwiz_val textvqa \
  --max-samples 200 \
  --alpha 0.5 \
  --beta 1.0 \
  --output-dir efficiency

For standard LLaVA benchmark evaluation, see LLaVA/EVAL.md. For efficiency metrics and arguments, see LLaVA/efficiency/README.md.

LLaVA-Video

Run EADP on LLaVA-Video:

cd LLaVA_Video

export MODEL_PATH=/path/to/LLaVA-Video-7B-Qwen2
export HF_HOME=$HOME/.cache/huggingface
export GPU_IDS="0"
export DATASETS="mvbench"
export TOKENS="32"
export EADP_ALPHA=0.5
export EADP_BETA=2.0

bash scripts/run_eadp.sh

See LLaVA_Video/README.md for model and dataset preparation.

Qwen-VL

Run EADP on Qwen2.5-VL-7B:

cd Qwen_vl

export MODEL_FAMILY=qwen2.5-7b
export LMUData=$HOME/LMUData
export GPU_IDS="0"
export DATASETS="MMBench_DEV_EN_V11"
export TOKENS="256"
export EADP_ALPHA=0.5
export EADP_BETA=2.0

bash scripts/run_eadp.sh

See Qwen_vl/README.md for Qwen2.5-VL, Qwen3-VL, and efficiency evaluation instructions.

Models and Datasets

Please refer to the module-level READMEs:

The image experiments cover common VLM benchmarks such as VQAv2, GQA, VizWiz, ScienceQA, TextVQA, POPE, MME, MMBench, MMVet, ChartQA, OCRBench, and AI2D depending on the module. The video experiments cover MVBench, LongVideoBench, and Video-MME.

Repository Structure

.
├── LLaVA/          # LLaVA-1.5 / LLaVA-1.6 image experiments
├── LLaVA_Video/    # LLaVA-Video experiments
├── Qwen_vl/        # Qwen2.5-VL / Qwen3-VL experiments with VLMEvalKit
└── assets/         # visualization assets and examples

Citation

If you find our work useful, please consider citing:

@inproceedings{wang2026eadp,
  title     = {Combating Textual Noise and Redundancy: Entropy-Aware Dense Visual Token Pruning},
  author    = {Wang, Xuehui and Yang, Xuankun and Shen, Wei},
  booktitle = {Proceedings of the European Conference on Computer Vision (ECCV)},
  year      = {2026},
  url       = {https://github.com/SJTU-DeepVisionLab/EADP}
}

Acknowledgements

This project builds on the open-source ecosystems of LLaVA, LLaVA-Video, Qwen-VL/Qwen3-VL, VLMEvalKit, CDPruner, DivPrune, and HiPrune. We thank the authors and contributors of these projects.