Adaptive DHiSparse: Speculative Decoding over a Load-Adaptive KV Hierarchy
Organizations: Umans AI
Abstract
Long-context serving runs out of KV memory before the hardware reaches its useful throughput. HiSparse stores history in host memory and fetches only the selected entries, but it uses one cache budget at every load and does not handle draft-model speculative decoding such as DSpark and DFlash2. We present Adaptive DHiSparse, which supports speculative decoding over hierarchical sparse KV and adapts residency to load. It protects the required working set, retains additional history while GPU memory is spare, and recovers the rest through exact fused retrieval. DSpark and DFlash2 keep their proposal and acceptance rules: queries share missing-row retrieval, draft KV uses a window-bounded ring, and verification staging is reused across layer groups. At 100K context and concurrency 128, GLM-5.3 with DFlash2 delivers 793 output tokens/s per decode GPU, 1.45 HiSparse and 1.27 non-speculative adaptive serving. Held to the same latency bounds as HiSparse, it sustains up to 4 the concurrency and 2.3 to 3.7 the output, depending on the per-token bound. On DeepSeek-V4.1-Flash at 500K context and concurrency 512, Adaptive DHiSparse with DSpark delivers 1.85 the output of resident serving with DSpark. In a load step, optional residency reduces host fetches from 14.2% to 1.4% of selected rows at low load and releases memory under pressure.
Figures & tables
| GPU, required | Host backup | ||
|---|---|---|---|
| Method | 32K | 100K | 100K |
| Resident | 1.456 | 4.444 | – |
| HiSparse | 0.259 | 0.432 | 4.186 |
| Adaptive HiSparse | 0.259 † | 0.432 † | 4.186 |
| Resident + DFlash2 | 1.481 | 4.469 | – |
| Adaptive DHiSparse | 0.319 † | 0.492 † | 4.186 |
| Against | TTFT (s) | TPOT | Active | |||||
|---|---|---|---|---|---|---|---|---|
| Method | Output | HiSparse | mean | post-wave | post-wave p99 | (ms) | / slots | |
| 128 | HiSparse | 548 | – | 10.68 | 5.11 | 26.97 | 50.3 | 121.1 / 208 |
| Adaptive HiSparse | 622 | 1.14 | 6.13 | 2.48 | 11.85 | 46.6 | 125.6 / 208 | |
| Adaptive DHiSparse | 793 | 1.45 | 5.13 | 2.25 | 9.67 | 35.9 | 124.7 / 140 | |
| 256 | HiSparse | 730 | – | 47.61 | 42.54 | 102.89 | 58.0 | 190.5 / 208 |
| Adaptive HiSparse | 823 | 1.13 | 34.36 | 31.01 | 81.99 | 54.4 | 201.5 / 208 | |
| GLM-5.3 | DeepSeek | |
| Selecting layers | 21 2,048 | 8 512 |
| Selections per token | 43,008 | 4,096 |
| KV sources | 78, one per layer | 4, shared |
| Bytes per missed selection | 2.4 to 2.5 KB | 288 B |
| Host bytes per token | 34 to 4.2 MB | 0.42 to 0.11 MB |
| Hot cache per session | 184 MB | 6 MB |
LLM Inference Acceleration
LLM inference acceleration develops algorithms and systems that reduce language-model latency, memory use, and serving cost while preserving output quality.
See all 1,090 papers