Skip to content
aiqbench takeMachine Learning

aiqbench analysis

HeadGuard addresses a critical bottleneck in deploying vision-language models by selectively preserving high-precision KV cache heads to mitigate accuracy loss from aggressive low-bit quantization. This composable method recovers significant performance on weaker quantizers without replacing existing infrastructure, offering a practical path toward efficient model compression for VLMs.
Source coveringarXiv
What this isA model's reading of the article and related coverage, written for aiqbench. Not the publisher's words.

HeadGuard: Selective Head Protection for Low-Bit VLM KV-Cache Quantization

arXiv3 min read

arXiv:2609.35800v1 Announce Type: new Abstract: Low-bit key-value (KV) cache quantization saves storage but can sharply degrade vision-language model (VLM) accuracy. We introduce HeadGuard, a composable head-protection method that augments a base KV-cache quantizer with a fixed high-precision mask. Image-sensitivity and output-sensitivity scores select physical KV heads offline, with approximately 1/8 protected in the main experiments; their image keys and optionally values remain in bfloat16 (BF16), while the base quantizes unprotected image entries. Across eight VLMs, three base quantizers, and eight benchmarks (six discriminative and two generative), HeadGuard recovers a substantial fraction of lost accuracy on weaker quantizers, with the strongest gains for Qwen and InternVL. At 2 bits, the six-task discriminative mean over eight models rises from 0.436 to 0.580 on the weakest base; protection can also improve generated answers and caption fidelity to BF16 outputs. Mean accuracy gains persist across all three quantizers with both tested calibration datasets. Keys-only protection retains substantial recovery at lower modeled storage cost. Evaluated through simulated quantization, HeadGuard offers a composable way to improve low-bit VLM accuracy without replacing the underlying quantizer.

Abstract:Low-bit key-value (KV) cache quantization saves storage but can sharply degrade vision-language model (VLM) accuracy. We introduce HeadGuard, a composable head-protection method that augments a base KV-cache quantizer with a fixed high-precision mask. Image-sensitivity and output-sensitivity scores select physical KV heads offline, with approximately 1/8 protected in the main experiments; their image keys and optionally values remain in bfloat16 (BF16), while the base quantizes unprotected image entries. Across eight VLMs, three base quantizers, and eight benchmarks (six discriminative and two generative), HeadGuard recovers a substantial fraction of lost accuracy on weaker quantizers, with the strongest gains for Qwen and InternVL. At 2 bits, the six-task discriminative mean over eight models rises from 0.436 to 0.580 on the weakest base; protection can also improve generated answers and caption fidelity to BF16 outputs. Mean accuracy gains persist across all three quantizers with both tested calibration datasets. Keys-only protection retains substantial recovery at lower modeled storage cost. Evaluated through simulated quantization, HeadGuard offers a composable way to improve low-bit VLM accuracy without replacing the underlying quantizer.

Machine Learning (cs.LG); Computer Vision and Pattern Recognition (cs.CV)

arXiv:2609.35800 [cs.LG]

(or arXiv:2609.35800v1 [cs.LG] for this version)

https://doi.org/10.48550/arXiv.2609.35800 Focus to learn more arXiv-issued DOI via DataCite

bootstrap_intervals.py

build_archive.py

calibration/budget_sweep/bits_2-3-4/mmbench/Hkv.npy

calibration/budget_sweep/bits_2-3-4/mmbench/Hq.npy

calibration/budget_sweep/bits_2-3-4/mmbench/L.npy

calibration/budget_sweep/bits_2-3-4/mmbench/g.npy

calibration/budget_sweep/bits_2-3-4/mmbench/g_kv.npy

calibration/budget_sweep/bits_2-3-4/mmbench/hyb_kv.npy

calibration/budget_sweep/bits_2-3-4/mmbench/qA.npy

calibration/budget_sweep/bits_2-3-4/mmbench/qA_kv.npy

calibration/budget_sweep/bits_2-3-4/mmbench/qS.npy

calibration/budget_sweep/bits_2-3-4/mmbench/qS_kv.npy

calibration/budget_sweep/bits_2-3-4/mmbench/qf.npy

calibration/budget_sweep/bits_2-3-4/mmbench/qf_kv.npy

calibration/budget_sweep/bits_2-3-4/mmbench/qfi.npy

calibration/budget_sweep/bits_2-3-4/mmbench/qm.npy

calibration/budget_sweep/bits_2-3-4/mmbench/qm_kv.npy

calibration/budget_sweep/bits_2-3-4/pope/Hkv.npy

calibration/budget_sweep/bits_2-3-4/pope/Hq.npy

calibration/budget_sweep/bits_2-3-4/pope/L.npy

calibration/budget_sweep/bits_2-3-4/pope/g.npy

calibration/budget_sweep/bits_2-3-4/pope/g_kv.npy

calibration/budget_sweep/bits_2-3-4/pope/hyb_kv.npy

calibration/budget_sweep/bits_2-3-4/pope/qA.npy

calibration/budget_sweep/bits_2-3-4/pope/qA_kv.npy

calibration/budget_sweep/bits_2-3-4/pope/qS.npy

calibration/budget_sweep/bits_2-3-4/pope/qS_kv.npy

calibration/budget_sweep/bits_2-3-4/pope/qf.npy

calibration/budget_sweep/bits_2-3-4/pope/qf_kv.npy

calibration/budget_sweep/bits_2-3-4/pope/qfi.npy

calibration/budget_sweep/bits_2-3-4/pope/qm.npy

calibration/budget_sweep/bits_2-3-4/pope/qm_kv.npy

calibration/full_kv/bits_2/pope/Hkv.npy

calibration/full_kv/bits_2/pope/Hq.npy

calibration/full_kv/bits_2/pope/L.npy

calibration/full_kv/bits_2/pope/g.npy

calibration/full_kv/bits_2/pope/g_kv.npy

calibration/full_kv/bits_2/pope/hyb_kv.npy

calibration/full_kv/bits_2/pope/qA.npy

calibration/full_kv/bits_2/pope/qA_kv.npy

calibration/full_kv/bits_2/pope/qS.npy

calibration/full_kv/bits_2/pope/qS_kv.npy

calibration/full_kv/bits_2/pope/qf.npy

calibration/full_kv/bits_2/pope/qf_kv.npy

calibration/full_kv/bits_2/pope/qfi.npy

calibration/full_kv/bits_2/pope/qm.npy

calibration/full_kv/bits_2/pope/qm_kv.npy

calibration/full_kv/bits_3/pope/Hkv.npy

calibration/full_kv/bits_3/pope/Hq.npy

calibration/full_kv/bits_3/pope/L.npy

calibration/full_kv/bits_3/pope/g.npy

calibration/full_kv/bits_3/pope/g_kv.npy

calibration/full_kv/bits_3/pope/hyb_kv.npy

calibration/full_kv/bits_3/pope/qA.npy

calibration/full_kv/bits_3/pope/qA_kv.npy

calibration/full_kv/bits_3/pope/qS.npy

calibration/full_kv/bits_3/pope/qS_kv.npy

calibration/full_kv/bits_3/pope/qf.npy

calibration/full_kv/bits_3/pope/qf_kv.npy

calibration/full_kv/bits_3/pope/qfi.npy

calibration/full_kv/bits_3/pope/qm.npy

calibration/full_kv/bits_3/pope/qm_kv.npy

calibration/keys_only/bits_2/pope/Hkv.npy

calibration/keys_only/bits_2/pope/Hq.npy

calibration/keys_only/bits_2/pope/L.npy

calibration/keys_only/bits_2/pope/g.npy

calibration/keys_only/bits_2/pope/g_kv.npy

calibration/keys_only/bits_2/pope/hyb_kv.npy

calibration/keys_only/bits_2/pope/qA.npy

calibration/keys_only/bits_2/pope/qA_kv.npy

calibration/keys_only/bits_2/pope/qS.npy

calibration/keys_only/bits_2/pope/qS_kv.npy

calibration/keys_only/bits_2/pope/qf.npy

calibration/keys_only/bits_2/pope/qf_kv.npy

calibration/keys_only/bits_2/pope/qfi.npy

calibration/keys_only/bits_2/pope/qm.npy

calibration/keys_only/bits_2/pope/qm_kv.npy

compare_calibration.py

experiments.json

memory_estimates.py

reference/budget_sweep_mmbench.json

reference/budget_sweep_pope.json

reference/confidence_intervals.json

reference/full_kv.json

reference/keys_only.json

render_capped_tables.py

requirements-analysis.txt

requirements.txt

run_budget_sweep.py

run_keys_only.py

summarize_results.py

test_calibration_comparison.py

test_numerics.py

(96 additional files not shown) You must enabled JavaScript to view entire file list.

arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.

Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.

Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs.

Full text under the publisher's open licence · 378 words

Related coverage