Adaptive DHiSparse: Speculative Decoding over a Load-Adaptive KV Hierarchy

arXiv:2610.13708 · cs.AI, cs.CL, cs.DC, cs.LG · Submitted 2026-10-09 · Read on arXiv

cs.AI, cs.CL, cs.DC, cs.LG

Submitted: 2026-10-09

Updated: 2026-10-09

Comments: 16 pages, 11 figures, 6 tables

Code: https://github.com/sgl-project/sglang

License: http://creativecommons.org/licenses/by/4.0/

The gist: Long-context serving runs out of KV memory before the hardware reaches its useful throughput.

Terminology

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 times HiSparse and 1.27 times non-speculative adaptive serving. Held to the same latency bounds as HiSparse, it sustains up to 4 times the concurrency and 2.3 to 3.7 times 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 times 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.

Sources

Related papers