Inference Notes · Paper Deep Reads

中文

← All notes

Disaggregated Quantization: Specializing LLM Prefill and Decode

Andrei Panferov, Maximilian Kleinegger, Sweta Priyadarshi, Tijmen Blankevoort, Dan Alistarh · NVIDIA, ISTA

ProblemAccelerating LLM inference without sacrificing accuracy by resolving the conflicting quantization requirements of the compute-bound prefill phase and the memory-bound decode phase.

VerdictShows that decoupling quantization formats for prefill (compute-native) and decode (weight-only) significantly improves accuracy and speed, but the SSD streaming optimization (ODP) is ineffective for MoE architectures and short context prompts.

Inference
Published · arXiv 2609.26333 · Code
Read2026-09-23
TrustHigh confidence in mechanism and metrics. Massive 1-bit gains are robust but rely on a heavily degraded weight-only baseline. Generalizes well to dense models but not MoEs.
CoverageFull LaTeX source, all 13 files incl. appendix given in full; 0 of 19 figures viewed by the reader
Read byGemini 3.1 Pro · independently audited

1. Task

What problem is being solved: Large Language Model (LLM) inference consists of two distinct phases with different computational characteristics. Prefill (processing the input prompt) is compute-bound, while decode (generating tokens autoregressively) is memory bandwidth-bound.

Why it matters and is hard: Maximizing efficiency requires quantization, but standard quantization schemes apply the exact same format to both phases, forcing a trade-off. Weight-only compression accelerates memory-bound decode but slows down prefill compared to hardware-native compute formats. Conversely, formats that quantize both weights and activations (like NVFP4) speed up prefill but hurt accuracy and fail to maximize memory bandwidth during decode.

The gap targeted: This paper targets this rigid trade-off by proposing "Disaggregated Quantization" (DQ). DQ specializes the computation formats, weight formats, and even weight storage locations to the specific bottleneck of each phase.

2. Core idea

Instead of forcing a single quantization scheme on the entire model, optimize each inference phase independently. The most extreme version (Full Disaggregation) trains the model to use hardware-native, compute-efficient weights (NVFP4) for the prefill phase to rapidly build the KV cache, and extremely compressed, weight-only representations (like 1-3 bit LUT) for the decode phase to maximize memory bandwidth. Both are jointly optimized so the decoder can flawlessly interpret the prefiller's representations.

3. Mechanism + mental model

  1. Quantization-Aware Distillation with Disaggregation (QADD): The model is distilled from a teacher. The forward pass uses a label mask to select the pathway: prompt tokens are processed via the prefill quantization format, while generated tokens use the decode format.
  2. Format Disaggregation: A simple drop-in intervention where master weights are shared, but activation quantization is completely disabled during decode (e.g., NVFP4 prefill + NVFP4A16 decode).
  3. Full Disaggregation: Two entirely separate sets of weights are maintained. Prefill uses its own NVFP4 weights, while decode uses its own 2-3 bit weight-only weights.
  4. Offloaded Disaggregated Prefill (ODP): To avoid holding two sets of weights in limited VRAM, the prefill weights reside on an SSD. During prefill, these weights are streamed into device memory block-by-block, overlapping loading with matrix compute, temporarily borrowing space from idle decode weights.

Mental model: Prefill is compute-bound, so give it hardware-native quantized compute formats (NVFP4); decode is memory bandwidth-bound, so give it maximally compact weights (1-4 bit) without the accuracy penalty of activation quantization.

4. Metrics / data

5. vs. baseline

6. Open source

Code and llama.cpp fork released at: https://github.com/IST-DASLab/disaggregated-quantization and https://github.com/IST-DASLab/disaggregated-llama.cpp. Weights (Qwen3.8-27B NVFP4 prefiller) are released on the Hugging Face Hub.

7. Key numbers, verified

Claim Where (§/Tab/Fig) Actual condition Holds? (✅/⚠️/❌) Note
Removing activation quant on decode improves accuracy on decode-heavy tasks without increasing inference cost §Abstract, §3.2, Tab 1 Format disaggregation boosts Qwen 3 and Gemma 3 mean accuracy over non-disagg by 1.9 and 3.1 pts (NVFP4). Zero additional weight storage or prefill compute cost.
ODP delivers 1.78x time-to-first-token speedup over weight-only at 8K in llama.cpp §Abstract, §3.2, Fig 1 Qwen3.8-27B, 8K context, llama.cpp, vs IQ1_S weight-only. ⚠️ 8K is the single most favorable configuration. At contexts < 4K, ODP is actually slower than weight-only prefill due to the constant SSD streaming overhead.
Training an NVFP4 prefiller improves 1-bit accuracy by 32.5 pts on MMLU-Pro and 35.3 on MMMU-Pro §Abstract, §3.2, Tab 4 Qwen3.8-27B with IQ1_S decoder and NVFP4 prefiller. ⚠️ This headline number is from the single most favorable configuration. The 1-bit baseline is severely degraded. At 3-bit, the NVFP4 prefiller actually degrades accuracy.
Large-scale PTQ format disagg improves point estimates in 11 of 13 model-benchmark combinations §3.3, Tab 2 4-bit PTQ on models up to 2.8T, MMLU-Pro & MMMU-Pro. 6 gains are statistically significant; 0 significant degradations.
Full disaggregation outperforms LUT2A16 weight-only by 4.5-12.5 points §3.2, Tab 1 2-bit LUT2 decode + NVFP4 prefill on Qwen 3 and Gemma 3. ⚠️ Full disaggregation uses an additional 4-bit (NVFP4) prefill checkpoint, effectively doubling the weight storage required unless ODP is used. Comparing it to a purely 2-bit model is an unfair capacity comparison without streaming.

8. What the abstract doesn't say

9. Reachability + takeaways

10. Confidence + next steps

11. Audit