Where and How to Prune: An Empirical Study of Visual Token Pruning for GUI Agent Navigation
Organizations: Shanghai Jiao Tong University · Sichuan University · The University of Hong Kong · University of California, Berkeley ·
Abstract
In recent years, GUI agents have demonstrated strong potential in navigation tasks. However, preserving complete historical screenshots introduces substantial computational overhead. This paper investigates how token pruning, a plug-and-play inference acceleration technique, can be effectively applied to GUI agent navigation scenarios. Firstly, we address the question of where pruning should occur. We identify a system-level redundancy overlooked by existing methods: as the same screenshot is repeatedly fed into the model across different steps, its ViT encoding is redundantly recomputed each time. We show that its ViT-encoded embeddings can be fully cached and reused across steps, substantially reducing FLOPs while preserving model performance. This finding suggests that inference acceleration efforts should focus on the subsequent Large Language Model (LLM). Building on this, we further address the question of how to prune within the LLM, and distill two key insights: (i) from a semantic perspective, the token budget should be balanced between foreground and background regions; (ii) from a spatial perspective, the spatial uniformity of retained tokens should be maintained to preserve the model's global spatial perception. These findings provide practical guidance for the design of inference acceleration and token pruning for GUI agent navigation.
Figures & tables
| Strategies | FLOPs | Memory | Wall-clock time | Encoder latency | LLM prefill latency | Performance |
|---|---|---|---|---|---|---|
| (T) | (MB) | (min) | (ms/step) | (ms/step) | ||
| With HI | 14.9 | 5067 | 108.54 | 212.08 | 193.05 | 0.7035 |
| Without HI | 4.17 ( 72.0%) | 4289 ( 15.4%) | 76.62 ( 29.4%) | 67.90 ( 68.0%) | 151.70 ( 21.4%) | 0.6453 ( 8.27%) |
| ViT Cache | 10.2 ( 31.5%) | 5144 ( 1.52%) | 95.70 ( 11.8%) | 69.82 ( 67.1%) | 202.54 ( 4.92%) | 0.7030 ( 0.07%) |
| Resize ( 0.8) | 10.9 ( 26.8%) | 4795 ( 5.37%) | 97.69 ( 10.0%) | 151.73 ( 28.5%) | 144.63 ( 25.1%) | 0.6965 ( 1.00%) |
| Patch Removal | 11.0 ( 26.2%) | 4606 ( 9.10%) | 98.02 ( 9.69%) | 162.11 ( 23.6%) | 149.47 ( 22.6%) | 0.6859 ( 2.50%) |
| AITW | M-d | M-t | M-w | AndCtrl | GUI-Ody | |
|---|---|---|---|---|---|---|
| Original | 0.7035 | 0.4863 | 0.5363 | 0.4858 | 0.7069 | 0.8128 |
| ViT Cache | 0.7030 | 0.4884 | 0.5363 | 0.4829 | 0.7061 | 0.8136 |
| Qwen2.5-VL-3B | ||||||
|---|---|---|---|---|---|---|
| Res | AITW | M-d | M-t | M-w | AndCtrl | GUI-Ody |
| 1.0 | 0.6806 | 0.4889 | 0.5580 | 0.4697 | 0.7113 | 0.7790 |
| 0.9 | 0.6794 | 0.4865 | 0.5482 | 0.4710 | 0.7110 | 0.7730 |
| 0.8 | 0.6806 | 0.4818 | 0.5382 | 0.4687 | 0.7094 | 0.7670 |
| Qwen3-VL-2B | ||||||
| Res | AITW | M-d | M-t | M-w | AndCtrl | GUI-Ody |
| Method | Domain | Task | Website | Average |
|---|---|---|---|---|
| Qwen2.5-VL-3B | ||||
| Upper Bound | 0.4889 | 0.5580 | 0.4697 | 0.5055 |
| FastV | 0.4829 | 0.5483 | 0.4624 | 0.4979 |
| SparseVLM | 0.4815 | 0.5498 | 0.4573 | 0.4962 |
| DivPrune | 0.4855 | 0.5430 | 0.4654 | 0.4980 |
| DART | 0.4776 | 0.5305 | 0.4588 | 0.4890 |
| Method | type acc | grounding acc | step acc |
|---|---|---|---|
| Qwen2.5-VL-3B | |||
| Upper Bound | 0.8532 | 0.7670 | 0.7113 |
| FastV | 0.8514 | 0.7645 | 0.7084 |
| SparseVLM | 0.8492 | 0.7602 | 0.7055 |
| DivPrune | 0.8513 | 0.7657 | 0.7062 |
| DART | 0.8487 | 0.7614 | 0.7039 |
Appendix figures & tables9 assets
Supplementary material from the paper’s appendix.
Appendix
| Method | General | Single | Webshopping | Install | GoogleApps | Average |
|---|---|---|---|---|---|---|
| Upper Bound | 0.6496 | 0.7844 | 0.6579 | 0.7366 | 0.6891 | 0.7035 |
| 30% Token Retention | ||||||
| FastV | 0.6211 | 0.7784 | 0.6591 | 0.7294 | 0.6911 | 0.6958 |
| SparseVLM | 0.6211 | 0.7575 | 0.6603 | 0.7287 | 0.6931 | 0.6921 |
| DivPrune | 0.6211 | 0.7665 | 0.6591 | 0.7294 | 0.6812 | 0.6915 |
| DART | 0.6140 | 0.7725 | 0.6292 | 0.7255 | 0.6871 | 0.6857 |
| Method | General | Single | Webshopping | Install | GoogleApps | Avg. | Wall-clock Time (min) |
|---|---|---|---|---|---|---|---|
| No Cache | 0.6496 | 0.7844 | 0.6579 | 0.7366 | 0.6891 | 0.7035 | 108.54 |
| ViT Feature Cache | 0.6390 | 0.7784 | 0.6615 | 0.7310 | 0.7050 | 0.7030 | 95.70 |
| ViT + Strict LLM KV Cache | 0.6532 | 0.7814 | 0.6579 | 0.7310 | 0.6832 | 0.7013 | 92.89 |
| ViT + Segment-level LLM KV Cache | 0.5190 | 0.7665 | 0.3708 | 0.5196 | 0.5406 | 0.5433 | 105.48 |
| Step | Prompt structure with | Safe LLM KV reuse from previous step |
|---|---|---|
| – | ||
| only the initial text prefix before | ||
| only the initial text prefix before |
| Method | Domain | Task | Website | Avg. |
|---|---|---|---|---|
| No Cache | 0.4863 | 0.5363 | 0.4858 | 0.5028 |
| ViT Feature Cache | 0.4884 | 0.5363 | 0.4829 | 0.5025 |
| ViT + Strict LLM KV Cache | 0.4918 | 0.5368 | 0.4902 | 0.5063 |
| ViT + Segment-level LLM KV Cache | 0.2584 | 0.2362 | 0.2210 | 0.2385 |
| Method | General | Single | Webshopping | Install | GoogleApps | Average |
|---|---|---|---|---|---|---|
| Upper Bound | 0.6496 | 0.7844 | 0.6579 | 0.7366 | 0.6891 | 0.7035 |
| FastV-0.5 | 0.6200 | 0.7246 | 0.6226 | 0.7031 | 0.6356 | 0.6612 |
| FastV-0.4 | 0.5903 | 0.7216 | 0.5927 | 0.6680 | 0.6178 | 0.6381 |
| FastV-0.3 | 0.5606 | 0.7066 | 0.5694 | 0.6097 | 0.5941 | 0.6081 |
| FastV-0.2 | 0.5131 | 0.6407 | 0.4928 | 0.5435 | 0.5406 | 0.5461 |
| Strategy | General | Single | Webshopping | Install | GoogleApps | Avg. | Wall-clock (min) | Encoder (ms/step) | LLM Prefill (ms/step) |
|---|---|---|---|---|---|---|---|---|---|
| No Cache | 0.6496 | 0.7844 | 0.6579 | 0.7366 | 0.6891 | 0.7035 | 108.54 | 212.08 | 193.05 |
| ViT Feature Cache | 0.6389 | 0.7784 | 0.6614 | 0.7310 | 0.7049 | 0.7029 | 95.70 | 69.82 | 202.54 |
| Random-0.1 | 0.6140 | 0.7605 | 0.6274 | 0.7223 | 0.6970 | 0.6842 | 100.37 | 192.08 | 103.67 |
| ViT + Random-0.1 | 0.6152 | 0.7574 | 0.6280 | 0.7287 | 0.6970 | 0.6853 | 89.22 | 70.04 | 105.69 |
Visual Token Pruning
Visual token pruning reduces the image and video patches processed by transformers to lower inference cost while preserving task-relevant information.
See all 275 papers