MOSAIC: Multi-Objective Search for Allocating Inference Cache Across LLM Decoder Layers
Organizations: Samsung Research · Georgia Institute of Technology
Abstract
The Key-Value (KV) cache is the main memory bottleneck of long-context LLM inference. Token eviction methods such as SnapKV, H2O, AdaKV and L2Norm shrink it, but they give every transformer layer the same budget, although layers differ in which tokens they need. We present MOSAIC, a multi-objective neural architecture search that learns per-layer KV-cache budgets for any eviction method. One search maps the trade-off between average budget and task score; its best allocation transfers to every target budget without further search, and an optional budget-constrained search refines it. Across four eviction methods on Llama-3-8B-Instruct and Mistral-7B-Instruct-v0.2, MOSAIC beats uniform allocation in 146 of 154 (task, method, budget) settings, by up to +48 points on RULER and +11.9 on LongBench (LCC). On both models, it reaches the score of uniform allocation with up to 4x less KV cache (75% smaller). Against EvolKV, MOSAIC explores a ~10^40 x larger search space with 4x fewer evaluations and 18% fewer GPU-hours per budget, and scores higher in 5 of 6 settings. The learned allocations consistently favour a small set of middle layers.
Figures & tables
| Stage 3 | Stage 4 | MOSAIC | |||||
| (Winner) | (NAS-refined) | (best of both) | |||||
| Task | Method | Wins | Wins | Wins | |||
| Code | H2O | 3/4 | 4/4 | 4/4 | |||
| Code | SnapKV | 4/4 | 4/4 | 4/4 | |||
| MultiDoc | H2O | 3/4 | 3/4 | 3/4 | |||
| MultiDoc | SnapKV | 3/4 | 3/4 | 3/4 | |||
| Code | Multi-Doc QA | Single-Doc QA | Summarization | |||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Model | Method | Budget | Uniform | MOSAIC | Uniform | MOSAIC | Uniform | MOSAIC | Uniform | MOSAIC |
| Llama-3-8B | SnapKV | 128 | 54.81 | 56.09 | 34.82 | 35.02 | 32.97 | 33.67 | 21.03 | 21.15 |
| 256 | 55.67 | 57.33 | 35.60 | 36.31 | 35.25 | 34.51 | 22.30 | 22.41 | ||
| 512 | 56.73 | 58.16 | 35.77 | 35.73 | 35.97 | 36.33 | 23.44 | 23.71 | ||
| 1024 | 56.02 | 58.91 | 35.87 | 36.26 | 36.44 | 37.01 | 24.85 | 25.10 | ||
| H2O | 128 | 45.96 | 47.13 | 32.57 | 32.16 | 28.21 | 29.72 | 21.88 | 22.31 | |
| Model | Method | 64 | 128 | 256 | 512 | 1024 | 1536 | 2048 | |
|---|---|---|---|---|---|---|---|---|---|
| Llama-3-8B | SnapKV | Uniform | 34.64 | 51.56 | 68.06 | 78.62 | 85.67 | 88.62 | 92.93 |
| MOSAIC | 44.99 | 58.37 | 72.28 | 81.76 | 93.80 | 98.35 | 98.91 | ||
| H2O | Uniform | 7.23 | 12.19 | 20.02 | 29.64 | 44.35 | 53.39 | 62.82 | |
| MOSAIC | 7.60 | 15.39 | 19.61 | 32.61 | 62.52 | 86.05 | 96.14 | ||
| AdaKV | Uniform | 35.80 | 50.87 | 68.02 | 78.22 | 86.87 | 89.75 | 93.90 | |
| MOSAIC | 35.97 | 57.40 | 72.10 | 83.08 | 93.78 | 97.99 | 98.65 |
| Task | Protocol | 128 | 256 | 512 | 1024 |
|---|---|---|---|---|---|
| Code | Uniform | 54.81 | 55.67 | 56.73 | 56.02 |
| EvolKV direct | 54.92 | – | 57.02 | 57.20 | |
| EvolKV expanded | 54.92 | 55.99 | 56.82 | 56.42 | |
| MOSAIC Winner | 55.86 | 57.33 | 58.16 | 58.52 | |
| MOSAIC (final) | 56.09 | 57.33 | 58.16 | 58.91 | |
| Single-Doc QA | Uniform | 32.97 | 35.25 | 35.97 | 36.44 |
Appendix figures & tables27 assets
Supplementary material from the paper’s appendix.
Appendix
| Task | 128 | 256 | 512 | 1024 | |
|---|---|---|---|---|---|
| SnapKV | |||||
| Code (430) | Uniform | 54.81 | 55.67 | 56.73 | 56.02 |
| Winner | 55.86 | 57.33 | 58.16 | 58.52 | |
| NAS-ref. | 56.09 | 57.31 | 58.01 | 58.91 | |
| Multi-Doc QA (274) | Uniform | 34.82 | 35.60 | 35.77 | 35.87 |
| Winner | 35.02 | 36.31 | 35.73 | 36.26 | |
| Method | 64 | 128 | 256 | 512 | 1024 | 1536 | 2048 | |
|---|---|---|---|---|---|---|---|---|
| SnapKV (1756) | Uniform | 34.64 | 51.56 | 68.06 | 78.62 | 85.67 | 88.62 | 92.93 |
| Winner | 44.99 | 58.37 | 72.28 | 81.76 | 91.46 | 98.35 | 98.91 | |
| NAS-ref. | – | 55.91 | 71.07 | – | 93.80 | 96.86 | 98.35 | |
| H2O (2180) | Uniform | 7.23 | 12.19 | 20.02 | 29.64 | 44.35 | 53.39 | 62.82 |
| Winner | 7.60 | 12.22 | 19.61 | 32.61 | 53.42 | 70.88 | 88.31 | |
| NAS-ref. | – | 15.39 | – | – | 62.52 | 86.05 | 96.14 |
| Task | 128 | 256 | 512 | 1024 | |
|---|---|---|---|---|---|
| L2Norm | |||||
| Code | Uniform | 22.45 | 25.58 | 28.68 | 33.22 |
| Winner | 24.40 | 27.93 | 31.70 | 37.87 | |
| NAS-ref. | 24.89 | 28.18 | 32.12 | 38.18 | |
| Multi-Doc QA | Uniform | 4.96 | 5.73 | 7.55 | 11.01 |
| Winner | 5.11 | 6.10 | 8.96 | 16.18 | |
| Method | 128 | 256 | 512 | 1024 | 1536 | 2048 | |
|---|---|---|---|---|---|---|---|
| L2Norm | Uniform | 0.64 | 4.25 | 11.06 | 22.86 | 27.59 | 30.73 |
| Winner | 2.74 | 8.78 | 19.43 | 25.62 | 37.30 | 62.71 | |
| NAS-ref. | 3.32 | 10.29 | 17.90 | 29.65 | 43.23 | 64.58 | |
| SnapKV | Uniform | 40.89 | 51.74 | 62.83 | 77.13 | 84.66 | 90.22 |
| Winner | 38.69 | 50.64 | 62.27 | 77.15 | 84.40 | 88.07 | |
| NAS-ref. | 47.38 | 65.24 | 71.28 | 91.06 | 95.71 | 96.66 |
| Stage 3 | Stage 4 | MOSAIC | |||||
| (Winner) | (NAS-refined) | (best of both) | |||||
| Task | Method | Wins | Wins | Wins | |||
| Code | H2O | 4/4 | 4/4 | 4/4 | |||
| Code | SnapKV | 1/4 | 3/4 | 3/4 | |||
| MultiDoc | H2O | 4/4 | 4/4 | 4/4 | |||
| MultiDoc | SnapKV | 3/4 | 4/4 | 4/4 | |||
| Bench. | Method | Cells | Gap | Picks | Regret | |
|---|---|---|---|---|---|---|
| LongBench | H2O | 16 | 2/16 | 0.71 | ||
| LongBench | SnapKV | 13 | 4/13 | 0.60 | ||
| RULER | H2O | 4 | 4/4 | 0.00 | ||
| RULER | SnapKV | 5 | 5/5 | 0.00 | ||
| LongBench | AdaKV | 9 | 2/9 | 0.40 | ||
| RULER | AdaKV | 6 | 5/6 | 0.02 |
| Subsample | Gap | Picks best | Regret | |
|---|---|---|---|---|
| 10% | +5.10 | +0.51 | no | 2.87 |
| 30% | +1.37 | +0.75 | yes | 0.00 |
| Category | Method | GPU-h |
|---|---|---|
| SingleDoc | SnapKV | 9.0 |
| SingleDoc | H2O | 26.0 |
| MultiDoc | H2O | 29.4 |
| RULER | SnapKV | 22.9 |
| RULER | H2O | 39.7 |
| Task | Method | 128 | 256 | 512 | 1024 |
|---|---|---|---|---|---|
| Code | SnapKV | 16 | 15 | 0 | 1 |
| H2O | 18 | 8 | 2 | 1 | |
| MultiDoc | SnapKV | 24 | 0 | 0 | 0 |
| H2O | 17 | 4 | 0 | 17 | |
| SingleDoc | SnapKV | 8 | 3 | 0 | 1 |
| H2O | 9 | 3 | 1 | 0 |
| Cell | Uniform | Floor 64 | Floor 16 | (16 64) |
|---|---|---|---|---|
| Code B128 | 54.81 | 55.86 | 54.76 | 1.10 |
| Code B256 | 55.67 | 57.33 | 57.30 | 0.02 |
| SingleDoc B128 | 32.97 | 33.51 | 33.14 | 0.37 |
| SingleDoc B256 | 35.25 | 34.51 | 34.77 | +0.26 |
| MultiDoc B128 | 34.82 | 35.02 | 34.32 | 0.70 |
| MultiDoc B256 | 35.60 | 36.31 | 36.31 | +0.00 |
| EvolKV, direct | MOSAIC Stage 4, NAS-refined | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Category | Budget | Evals | Samples | GPU-h | Score | Evals | Samples | GPU-h | Score | |
| Code | 128 | 601 | 30 | 12.7 | 54.92 | 150 | 100 | 12.6 | 55.73 | +0.81 |
| Code | 512 | 601 | 30 | 12.9 | 57.02 | 148 | 100 | 12.0 | 58.01 | +0.99 |
| Code | 1024 | 601 | 30 | 12.7 | 57.20 | 125 | 100 | 10.6 | 58.91 | +1.71 |
| SingleDoc | 128 | 601 | 30 | 5.2 | 33.50 | 150 | 55 | 2.8 | 33.67 | +0.17 |
| SingleDoc | 512 | 601 | 30 | 5.1 | 36.28 | 150 | 55 | 3.0 | 35.61 | 0.67 |
| Budget | S1 | S2 | S3 | MK1 | MK2 | MK3 | MQ | MV | CWE | FWE | VT | NIAH | All | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SnapKV | ||||||||||||||
| 64 | Uniform | 99.8 | 93.4 | 0.0 | 91.2 | 48.0 | 0.0 | 7.9 | 17.0 | 1.8 | 1.3 | 20.6 | 44.7 | 34.6 |
| MOSAIC | 100.0 | 97.2 | 0.0 | 96.6 | 76.4 | 0.0 | 23.4 | 36.0 | 2.9 | 34.9 | 27.4 | 53.7 | 45.0 | |
| 128 | Uniform | 100.0 | 98.6 | 0.2 | 98.0 | 72.8 | 0.0 | 36.2 | 53.1 | 8.2 | 49.5 | 50.6 | 57.4 | 51.6 |
| MOSAIC | 100.0 | 98.4 | 0.2 | 98.4 | 91.4 | 0.0 | 57.8 | 64.0 | 9.3 | 56.4 | 66.1 | 63.8 | 58.4 | |
| 256 | Uniform | 100.0 | 99.8 | 1.4 | 99.4 | 93.0 | 0.0 | 82.5 | 84.5 | 30.8 | 68.0 | 89.3 | 70.1 | 68.1 |
| Budget | S1 | S2 | S3 | MK1 | MK2 | MK3 | MQ | MV | CWE | FWE | VT | NIAH | All | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SnapKV | ||||||||||||||
| 128 | Uniform | 96.8 | 83.0 | 0.0 | 80.4 | 69.0 | 0.0 | 4.7 | 5.2 | 8.8 | 61.3 | 40.6 | 42.4 | 40.9 |
| MOSAIC | 99.2 | 87.8 | 0.2 | 87.8 | 67.0 | 0.0 | 20.9 | 17.4 | 13.8 | 71.9 | 55.3 | 47.5 | 47.4 | |
| 256 | Uniform | 100.0 | 90.4 | 1.4 | 90.6 | 86.6 | 0.0 | 14.8 | 12.9 | 24.1 | 78.9 | 69.3 | 49.6 | 51.7 |
| MOSAIC | 99.6 | 97.4 | 34.4 | 95.2 | 94.6 | 0.2 | 61.1 | 56.9 | 20.5 | 74.1 | 83.6 | 67.4 | 65.2 | |
| 512 | Uniform | 100.0 | 95.4 | 16.8 | 94.2 | 94.4 | 0.0 | 38.9 | 25.6 | 50.3 | 85.8 | 89.7 | 58.2 | 62.8 |
| Single-Doc QA | Multi-Doc QA | Summarization | Code | |||||||||||||
| Budget | NQA | Qasper | MFQA | Mean | HQA | 2Wiki | MuSiQue | Mean | GovRep | QMSum | MNews | Mean | LCC | RepoB-P | Mean | |
| SnapKV | ||||||||||||||||
| 128 | Uniform | 18.70 | 35.14 | 45.08 | 32.97 | 45.94 | 36.39 | 22.13 | 34.82 | 21.01 | 20.35 | 21.73 | 21.03 | 56.90 | 52.73 | 54.81 |
| MOSAIC | 19.07 | 35.76 | 46.18 | 33.67 | 46.02 | 36.28 | 22.77 | 35.02 | 20.82 | 20.54 | 22.09 | 21.15 | 57.25 | 54.94 | 56.09 | |
| 256 | Uniform | 19.96 | 39.44 | 46.35 | 35.25 | 46.94 | 37.50 | 22.36 | 35.60 | 22.25 | 21.09 | 23.57 | 22.30 | 58.23 | 53.12 | 55.67 |
| MOSAIC | 19.21 | 39.32 | 45.01 | 34.51 | 47.05 | 38.58 | 23.30 | 36.31 | 22.77 | 21.09 | 23.37 | 22.41 | 59.05 | 55.61 | 57.33 | |
| Single-Doc QA | Multi-Doc QA | Code | ||||||||||
| Budget | NQA | Qasper | MFQA | Mean | HQA | 2Wiki | MuSiQue | Mean | LCC | RepoB-P | Mean | |
| SnapKV | ||||||||||||
| 128 | Uniform | 21.54 | 21.91 | 45.38 | 29.61 | 33.94 | 22.04 | 15.61 | 23.86 | 52.20 | 47.31 | 49.76 |
| MOSAIC | 20.39 | 23.49 | 44.61 | 29.50 | 36.03 | 25.58 | 15.42 | 25.68 | 51.33 | 47.90 | 49.61 | |
| 256 | Uniform | 22.03 | 24.99 | 48.20 | 31.74 | 36.62 | 25.11 | 15.14 | 25.62 | 53.88 | 50.30 | 52.09 |
| MOSAIC | 26.26 | 26.94 | 47.39 | 33.53 | 39.63 | 26.07 | 15.73 | 27.14 | 55.32 | 50.97 | 53.14 | |
KV-Cache Management
Key-value (KV) cache management reduces and coordinates Transformer attention state to make long-context inference faster and more memory-efficient.
See all 198 papers