BellowsKV: One Latent for Many Layers, Expanded on Demand
Organizations: Rice University
Abstract
Large language models (LLMs) now serve as the backbone of agents that reason over many turns, call tools, and pursue long-horizon tasks. To avoid recomputation, a model stores the attention keys and values of all past tokens in a key-value (KV) cache. Each layer maintains its own cache, so KV-cache memory can become the main bottleneck for GPU serving. Most compression methods operate within a single layer, by quantizing the cache entries, reducing the channel dimension, or evicting less important tokens. All three lose substantial accuracy at high compression ratios. Cross-layer methods share one compressed cache across adjacent layers to go beyond this limit. However, these methods also degrade sharply at high compression ratios. We find that the KV-cache representations of adjacent layers are quite different, whereas the input hidden states of adjacent layers are highly similar. We also find that, under the same memory budget, reducing the dimension of this shared latent loses far more accuracy than quantizing it. Based on these findings, we propose BellowsKV, a training-free method that maps the hidden states of n adjacent layers to one shared latent per token. At inference time, each layer reads its own keys and values from this latent through a layer-specific projection. We keep the latent at full dimension and compress it in two other ways: BellowsKV-Quant stores the latent at low precision, which is nearly lossless because the latent has no dominant outlier channels; BellowsKV-Evict makes one shared eviction decision per block, because the layers rank token importance very similarly. Across Llama-3.1-8B, Mistral-7B and Qwen2.5-7B, BellowsKV-Quant retains about 99% of full-cache accuracy at 3.6x compression and 97-98% at 13-14x, where the strongest cross-layer method retains at most 84% at 16x. Code: https://github.com/MorrisZJ/BellowsKV
Figures & tables
| Method | Comp. | Qsp | MFQ | HQA | MSQ | NQA | Gov | QMS | PsR | LCC | RBP | 2Wk | Avg |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Llama-3.1-8B-Instruct | |||||||||||||
| MiniCache fp16 | 72.1 | 72.3 | 74.7 | 86.8 | 55.0 | 82.7 | 89.5 | 70.7 | 80.4 | 82.6 | 55.6 | 74.8 | |
| KVSharer fp16 | 91.5 | 96.9 | 93.9 | 98.1 | 78.2 | 73.7 | 97.9 | 99.5 | 85.4 | 84.5 | 70.2 | 88.2 | |
| BellowsQ INT8 | 95.6 | 97.6 | 99.6 | 99.4 | 95.9 | 98.5 | 102.5 | 100.0 | 98.7 | 99.0 | 101.0 | 98.9 | |
| CommonKV | 92.2 | 90.6 | 98.0 | 100.1 | 89.0 | 89.7 | 96.5 | 99.5 | 98.4 | 97.8 | 91.1 | 94.8 | |
| xKV | 96.6 | 98.6 | 96.0 | 102.1 | 97.9 | 97.0 | 100.8 | 100.0 | 99.4 | 99.4 | 92.1 | 98.2 | |
| cross-layer latent | per-layer quantized | |||||||
|---|---|---|---|---|---|---|---|---|
| Model | Tier | Dense | BellowsQ | CommonKV | xKV | OTT | KIVI | PolarQuant |
| Qwen3-32B | 8 | 85.54 | 84.22 | 81.08 | 26.51 | 77.95 | 75.42 | 51.93 |
| 16 | 85.54 | 86.02 | 66.02 | 0 8.43 | – | – | – | |
| Qwen3-30B-A3B | 8 | 86.14 | 85.30 | 49.88 | 0 5.30 | 81.45 | 77.59 | 0 4.22 |
| 16 | 86.14 | 85.78 | – | – | – | – | – | |
| Arm | Comp. | Llama | Mistral | Qwen |
| xKV, fp16, rank | 98.2 | 99.4 | 99.1 | |
| xKV, fp16, rank | – | – | 89.8 | |
| xKV, fp16, rank | 83.5 | 79.5 | 54.4 | |
| xKV-hold : the same basis, near-full rank, our INT4 leg | 97.6 | 99.2 | 23.4 | |
| BellowsQ INT4 (the frozen consensus) | – | 98.0 | 98.1 | 97.3 |
| our construction, per-sequence SVD oracle ( prefill) | 97.3 | – | – |
| Method | Comp. | Llama | Mistral | Qwen |
|---|---|---|---|---|
| Dense fp16 | 53.29 | 52.78 | 53.23 | |
| BellowsS | 53.07 | 53.04 | 51.88 | |
| BellowsS | – | 52.67 | 52.87 | 51.92 |
| BellowsQ INT8 | – | 53.05 | 52.92 | 52.00 |
| PolarQuant r4t4v4 | 53.66 | – | 53.90 | |
| KIVI K4V4 | 53.92 | 52.80 | – |
| Budget | Route | Keep | Comp. | Llama | Mistral | Qwen |
|---|---|---|---|---|---|---|
| 8 | BellowsE | 1/2 | 7.7–7.8 | 97.6 | 97.9 | 99.2 |
| Per-layer eviction | 1/8 | 8.0 | 94.7 | 94.9 | 98.3 | |
| 16 | BellowsE | 1/4 | 15.2–15.4 | 96.1 | 96.4 | 97.9 |
| Per-layer eviction | 1/16 | 16.0 | 89.5 | 90.7 | 92.6 | |
| 30 | BellowsQ BellowsE | 1/2 | 26.3–27.7 | 97.5 | 97.9 | 99.2 |
| BellowsE | 1/8 | 29.6–30.0 | 92.5 | 93.8 | 95.0 |
Appendix figures & tables19 assets
Supplementary material from the paper’s appendix.
Appendix
| Design | Read path | Relation predicts | Measured / reported |
|---|---|---|---|
| decode speed | |||
| BellowsKV | , fp16 | 1.00 | 0.995 (32.5 tok/s) |
| Palu (rank-cutting) | , fp16 | 2.00 | 1.89 (reported) |
| capacity from the freed bytes | |||
| HuggingFace Transformers | max batch | – | 2 |
| vLLM paged allocator | KV pool | – | 14.76 (6.02M tokens) |
| Model | Qsp | MFQ | HQA | MSQ | NQA | Gov | QMS | PsR | LCC | RBP | 2Wk |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Llama-3.1-8B | 122 | 110 | 195 | 200 | 115 | 177 | 199 | 200 | 93 | 442 | 175 |
| Mistral-7B | 143 | 117 | 195 | 200 | 85 | 182 | 190 | 200 | 150 | 470 | 183 |
| Qwen2.5-7B | 125 | 111 | 195 | 200 | 115 | 180 | 199 | 200 | 96 | 444 | 178 |
| Axis | Tier | Measured ratio |
|---|---|---|
| Protocol A (quantizers) | 4 | 4 |
| 5 | 4–6.6 | |
| 8 | 6.6–9.5 | |
| 12 | 9.5 (no per-layer point exists) | |
| Protocol B (sharing) | 4 | 1–3.9 (as-shipped fp16 baselines) |
| 4–11 | 3.9–10.9 |
| Method | Configurations run | Llama | Mistral | Qwen |
|---|---|---|---|---|
| KIVI | K4V4, K2V2 | ✓ | ✓ | – |
| OTT | K4V4, K2V2 | ✓ | ✓ | – |
| RotateKV | 4-bit † , 3-bit, 2-bit | ✓ | ✓ | – |
| TurboQuant | K4V4, K4V2, K2V2 | ✓ | ✓ | ✓ ‡ |
| PolarQuant | r4t4v4, r3t3v4, r2t2v4, r2t2v2 | ✓ | – | ✓ ‡ |
| measured compression | ||||
| Method | Setting | Llama | Mistral | Qwen |
| xKV | rank , fp16 | |||
| xKV | rank , fp16 | – | – | |
| xKV | rank , fp16 | |||
| CommonKV | ( ), INT4 | |||
| CommonKV | ( ), INT4 | |||
| Method | Comp. | Qasper | QMSum | MNews | TREC | TQA | SAMSum | LCC | RB-P | Avg |
|---|---|---|---|---|---|---|---|---|---|---|
| Dense fp16 | 46.57 | 25.19 | 27.03 | 72.50 | 91.65 | 43.47 | 63.38 | 56.55 | 53.29 | |
| BellowsS | 46.76 | 25.32 | 26.08 | 72.50 | 91.28 | 43.90 | 62.38 | 56.32 | 53.07 | |
| BellowsS | 45.25 | 25.13 | 25.90 | 72.50 | 91.44 | 43.69 | 62.28 | 55.15 | 52.67 | |
| PolarQuant r4t4v4 | 46.01 | 25.56 | 26.69 | 72.50 | 91.86 | 42.88 | 65.38 | 58.44 | 53.66 | |
| BellowsQ INT8 | 46.47 | 25.39 | 26.19 | 72.50 | 91.28 | 43.77 | 62.52 | 56.28 | 53.05 | |
| KIVI K4V4 | 46.11 | 25.14 | 27.11 | 72.50 | 92.42 | 44.10 | 65.05 | 58.91 | 53.92 |
| Method | Comp. | Qasper | QMSum | MNews | TREC | TQA | SAMSum | LCC | RB-P | Avg |
|---|---|---|---|---|---|---|---|---|---|---|
| Dense fp16 | 38.15 | 25.57 | 26.43 | 76.00 | 88.59 | 47.46 | 59.46 | 60.56 | 52.78 | |
| BellowsS | 38.75 | 25.62 | 26.06 | 76.00 | 88.81 | 46.78 | 60.36 | 61.97 | 53.04 | |
| BellowsS | 38.20 | 25.04 | 25.75 | 76.00 | 89.57 | 47.17 | 59.84 | 61.41 | 52.87 | |
| BellowsQ INT8 | 38.49 | 25.34 | 25.81 | 76.00 | 88.56 | 46.74 | 60.42 | 61.99 | 52.92 | |
| OTT K4V4 | 37.95 | 25.80 | 26.50 | 76.00 | 88.89 | 47.08 | 60.40 | 61.30 | 52.99 | |
| KIVI K4V4 | 36.88 | 25.42 | 26.58 | 76.00 | 88.89 | 47.09 | 60.53 | 60.99 | 52.80 |
| Method | Comp. | Qasper | QMSum | MNews | TREC | TQA | SAMSum | LCC | RB-P | Avg |
|---|---|---|---|---|---|---|---|---|---|---|
| Dense fp16 | 43.52 | 23.61 | 23.98 | 71.50 | 89.64 | 45.98 | 60.77 | 66.82 | 53.23 | |
| BellowsS | 42.82 | 24.16 | 23.68 | 71.00 | 88.67 | 45.05 | 56.66 | 63.01 | 51.88 | |
| BellowsS | 42.99 | 23.50 | 23.48 | 71.00 | 89.00 | 45.12 | 58.00 | 62.25 | 51.92 | |
| BellowsQ INT8 | 43.22 | 24.06 | 23.58 | 71.00 | 88.60 | 44.91 | 57.27 | 63.34 | 52.00 | |
| PolarQuant r4t4v4 | 43.94 | 24.42 | 25.52 | 72.00 | 89.46 | 45.76 | 63.68 | 66.41 | 53.90 | |
| BellowsS | 42.20 | 23.80 | 22.94 | 71.00 | 88.15 | 44.65 | 55.44 | 61.51 | 51.21 |
| Method | Comp. | Score |
| Qwen3-32B | ||
| Dense fp16 | 85.54 | |
| PolarQuant † | 83.49 | |
| KIVI † | 84.94 | |
| xKV † | 78.07 | |
| PolarQuant † | 51.93 | |
| Budget | Route | Keep | Comp. | Llama | Mistral | Qwen |
|---|---|---|---|---|---|---|
| 2 | Per-layer eviction | 1/2 | 2.0 | 98.4 | 99.4 | 100.9 |
| 4 | Per-layer eviction | 1/4 | 4.0 | 97.3 | 97.7 | 99.5 |
| 8 | BellowsE | 1/2 | 7.7–7.8 | 97.6 | 97.9 | 99.2 |
| Per-layer eviction | 1/8 | 8.0 | 94.7 | 94.9 | 98.3 | |
| 16 | BellowsE | 1/4 | 15.2–15.4 | 96.1 | 96.4 | 97.9 |
| Per-layer eviction | 1/16 | 16.0 | 89.5 | 90.7 | 92.6 |
| From keep | Model | prune harder | share |
|---|---|---|---|
| 1/2 | Llama-3.1-8B | 3.74 | 0.82 |
| Mistral-7B | 4.47 | 1.45 | |
| Qwen2.5-7B | 2.63 | 1.74 | |
| 1/4 | Llama-3.1-8B | 7.80 | 1.24 |
| Mistral-7B | 7.02 | 1.28 | |
| Qwen2.5-7B | 6.87 | 1.57 |
| Route | Comp. | Llama | Mistral | Qwen |
|---|---|---|---|---|
| BellowsQ BellowsE (evict 1/2) | 27.7/26.3 | 97.5 | 97.9 | 99.2 |
| naive stack: xKV INT4 pooled SnapKV | 30.1 | 96.1 | 98.4 | 23.8 |
| BellowsE alone (fp16, evict 1/8) | 30.0/29.6 | 92.5 | 93.8 | 95.0 |
| Bits | Method | Comp. | Avg | vs best baseline |
|---|---|---|---|---|
| Llama-3.1-8B-Instruct (dense 53.29) | ||||
| INT4 | KIVI | 3.76 | 53.92 | – |
| OTT | 3.76 | 53.83 | – | |
| PolarQuant | 3.66 | 53.66 | – | |
| TurboQuant | 4.00 | 52.84 | – | |
| BellowsQ | 6.75 | 52.92 | -1.00 at 1.8 its compression | |
| Arm | Comp. | Qsp | MFQ | HQA | MSQ | NQA | Gov | QMS | PsR | LCC | RBP | 2Wk | Avg |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Llama-3.1-8B-Instruct | |||||||||||||
| xKV (fp16, rank ) | 91.4 | 80.9 | 82.4 | 87.3 | 73.3 | 75.6 | 94.4 | 95.5 | 92.8 | 86.8 | 58.5 | 83.5 | |
| xKV-hold | 97.5 | 95.4 | 96.0 | 100.9 | 96.5 | 96.4 | 99.2 | 99.5 | 101.6 | 97.4 | 92.9 | 97.6 | |
| BellowsQ INT4 | 94.6 | 99.0 | 99.1 | 96.4 | 96.2 | 93.5 | 98.7 | 100.0 | 99.7 | 99.0 | 101.5 | 98.0 | |
| Mistral-7B-Instruct-v0.3 | |||||||||||||
| xKV (fp16, rank ) | 90.4 | 88.5 | 47.8 | 42.1 | 85.2 | 93.0 | 91.8 | 81.7 | 92.7 | 90.0 | 71.1 | 79.5 | |
| Variant | Comp. | Qsp | MFQ | HQA | MSQ | NQA | Gov | QMS | PsR | LCC | RBP | 2Wk | Avg |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| BellowsQ (final) | 13.84 | 94.6 | 99.0 | 99.1 | 96.4 | 96.2 | 93.5 | 98.7 | 100.0 | 99.7 | 99.0 | 101.5 | 98.0 |
| + V-whisper | 13.13 | 94.9 | 99.1 | 98.2 | 98.5 | 99.3 | 95.2 | 100.7 | 99.5 | 101.0 | 98.9 | 100.7 | 98.7 |
| whisper | 13.90 | 93.3 | 97.5 | 99.0 | 97.1 | 97.5 | 95.4 | 100.4 | 100.0 | 100.7 | 98.6 | 97.5 | 97.9 |
| + per-sequence gauge | 13.90 | 93.2 | 94.8 | 99.5 | 98.5 | 93.5 | 92.3 | 98.6 | 99.0 | 99.1 | 97.8 | 97.8 | 96.7 |
| per-seq SVD oracle | 15.06 | 91.6 | 92.8 | 98.8 | 99.5 | 95.3 | 99.9 | 99.5 | 99.5 | 96.3 | 96.4 | 101.2 | 97.3 |
| xKV-hold (+ our INT4) | 15.06 | 97.5 | 95.4 | 96.0 | 100.9 | 96.5 | 96.4 | 99.2 | 99.5 | 101.6 | 97.4 | 92.9 | 97.6 |
KV-Cache Compression
Key-value cache compression reduces the memory and bandwidth needed to retain attention states during long-context inference.
See all 269 papers