The problem
One-shot pruning methods such as SparseGPT and Wanda choose which weights to remove by minimizing a layer-wise reconstruction error against a calibration activation matrixX:
X is conventionally built from prompt tokens — a slice of C4, or a set of task prompts. That
is a fair proxy for a typical serving workload, where the prompt dominates the token count.
Reasoning models invert that ratio. They emit thousands of chain-of-thought tokens per query, so
almost every forward pass the pruned model will ever run is over a token it generated itself.
Calibrating only on prompts optimizes the pruned weights for a distribution the model barely visits.
The result is not a graceful accuracy decay. The pruned model starts to ramble: it produces longer
chains of thought and answers less accurately, so pruning increases end-to-end latency instead of
reducing it. At 50% sparsity on MATH-500, C4-calibrated DeepSeek-R1-Distill-Qwen-7B takes almost six
times as long to evaluate as the dense model it was meant to accelerate.
The fix
RAC samples the dense model’s own on-policy rollout during calibration and reconstructs the prompt and decode activations jointly:
Across DeepSeek-R1-Distill-Qwen (1.5B–32B) and Qwen3 (1.7B–14B), the paper reports that RAC keeps up
to 95% of dense accuracy at 50% sparsity, improving on prompt-only calibration by up to 17 points.
Using it
SGLang ships the recipe as a runnable example atexamples/usage/reasoning_aware_compression,
in three phases:
Phase I is the expensive step — the paper’s budget is 1M on-policy CoT tokens — and is where SGLang’s
batched generation does the work. Phase II delegates the pruning solver to
llm-compressor, which is not an SGLang
dependency; install it separately with pip install "llmcompressor>=0.12.0".
Evaluating a pruned reasoning model
Accuracy alone will hide the failure mode described above. Always report mean completion length and wall clock alongside accuracy when comparing pruned reasoning checkpoints — a model that scores two points lower while emitting three times the chain of thought is not a good trade.rac_serve_and_eval.py reports all three.
Related
- Quantization — the other axis of model compression, applied at serving time.
