SparseDecoding: Decoding-Aware Pruning, and a Kernel Born for Decoding
TL;DR
Observing that LLM autoregressive decoding is memory-bound, this work collects the calibration for pruning not from “fixed text” but from “tokens the model generates itself,” and attaches a decoding-specific (SpMV) $N{:}M$ kernel to it, achieving up to $1.48\times$ end-to-end decoding speedup.
Key Idea
The blind spots of existing training-free pruning fall into two branches. One is the mismatch of data distribution. OBS-family pruning such as SparseGPT computes the Hessian from activations collected over fixed text like C4 and WikiText. In actual inference, however, the model feeds its own just-generated tokens back as input. The Hessian computed from fixed text and the Hessian computed from generated tokens diverge, and as a result the activation distribution of the pruned model drifts further and further from what it was at pruning time (source: §1, Fig. 1a).
The other is a gap at the system layer. Existing $2{:}4$ Sparse Tensor Core kernels (cuSPARSELt, etc.) are optimized for SpMM (matrix×matrix), delivering $1.31\sim1.46\times$ speedup in the prefill stage, but in SpMV (matrix×vector), which dominates decoding, they actually become slower than dense, at $0.85\sim0.87\times$ (source: §1, Fig. 1b).
SparseDecoding solves both problems at once along the algorithm axis (decoding-aware calibration) and the system axis (N:M SpMV kernel).
Background: The Problem They Solved
In long-output applications such as document writing and code generation, autoregressive decoding accounts for most of the LLM inference cost. Decoding processes hidden states one token at a time, so it is bound by memory bandwidth. Pruning is the most natural remedy: it zeros out low-importance weights, reducing the number of nonzero elements that must be read from memory during decoding (source: §1).
The problem is that, because of training cost and data constraints, training-free (one-shot) pruning is effectively the standard for LLMs. The OBS (Optimal Brain Surgeon) framework, the best-known member of this family, minimizes the per-layer reconstruction error via a second-order Taylor approximation, where the calibration activations determine “which weights to remove and how to correct the remaining weights” through the Hessian $H = 2X_\ell X_\ell^\top$ (source: §3.1). In other words, the calibration data is what governs pruning quality.
Yet existing methods feed fixed sequences via teacher forcing to collect activations. This suits static-input inference, but in autoregressive decoding, pruning errors in the early stages change the subsequent context, and the effect accumulates so that the activation distribution gradually drifts away. The authors measured that this divergence grows quickly enough that every layer reaches 90% of its peak within 12 decoding steps (source: §1, Fig. 1a).
The New Approach: SparseDecoding
Algorithm Axis: Decoding-Aware Calibration
The core idea is simple. Collect the activations used for pruning from the dense model’s own autoregressive generation process — but discard the prefill-stage activations and keep only the decoding-stage activations (source: §3.2).
Concretely, for a prompt set $\mathcal{C}=\{q_m\}_{m=1}^{K}$ from the target task, the dense model generates the continuation of each prompt by itself.
$$ y_t^{(m)} \sim P_\theta\big(\cdot \mid q_m,\, y_{Then the same per-layer reconstruction objective as before is defined over these activations.
$$ \widehat{W}_{\ell} = \operatorname_{argmin}_{\widetilde{W}_{\ell}} \left\lVert \left( W_{\ell} - \widetilde{W}_{\ell} \right) X_{\ell}^{\mathrm{AR}} \right\rVert_{F}^{2} \quad \text{s.t.} \quad \operatorname{sparsity}(\widetilde{W}_{\ell}) = S_{\ell} $$The pruning solver itself is left untouched; only the calibration matrix changes. The authors confirmed that the same gains appear with either the SparseGPT or Wanda solver (source: §4.4, Tab. 5). No additional training and no new optimizer are required.
System Axis: N:M SpMV Kernel
For pruning to translate into real speed, the sparse pattern must be executed efficiently on hardware. Decoding processes a single vector at batch-one or small batch, so it is closer to GEMV/SpMV. Inspired by nmSPARSE, the authors designed a decoding-specific $N{:}M$ SpMV kernel (source: §3.3). Two design principles stand out.
- Bitmask indexing: By representing each row’s sparse pattern as a bitmask, instead of storing a separate 32-bit
int32index for every nonzero element, one bit maps to one column. At 50% sparsity, 2 bits of metadata per nonzero element suffices. That is 16× less than nmSPARSE’sint32and 4× less than auint8offset, which is especially favorable for memory-bound batch-one decoding (source: §3.3). - Fixed-step traversal: For 50%
$N{:}M$with $M\le32$, each aligned 32-bit mask has exactly 16 set bits. Every row then has the same number of traversal steps, evening out the workload across GPU threads and letting the compiler fully unroll the loop. Each step finds the column of the next nonzero via bit-scan and clears that bit.
How It Works: A Concrete Example
Intuition for Bitmask Traversal
Suppose one row of the weight matrix has 8 weights and $4{:}8$ sparsity is applied (2 kept per group of 4). Say the original weights are as follows.
column index: 0 1 2 3 4 5 6 7
weight: 0.8 0.1 0.9 0.2 0.7 0.3 0.6 0.4If after pruning 0.1, 0.2, 0.3, and 0.4 are removed and only 0.8, 0.9, 0.7, and 0.6 remain, the bitmask with “keep=1, remove=0” becomes as follows.
bitmask: 1 0 1 0 1 0 1 0 → 10101010 (0xAA)
stored values: [0.8, 0.9, 0.7, 0.6] (ascending column order)During decoding, this row is multiplied with the input vector. With the traditional scheme, the column index would have to be read separately for each stored value, but in the bitmask scheme the position of a set bit is itself the column index. The kernel finds the lowest set bit via bit-scan in a fixed-length loop to learn the column, clears that bit, and moves on. The traversal of a row is fixed at the number of stored values (=16), so every thread carries the same workload.
Intuition for Calibration
Conventional C4 calibration feeds “ground-truth text” to collect activations. SparseDecoding instead gives the prompt (“Write the preface to a long fantasy novel”), lets the dense model actually write the novel, and then builds the Hessian from the decoding activations of that generation process. Pruning is then aligned with “the state the model actually encounters.” The reason for discarding prefill activations is that decoding is a special state of token-level self-conditioning (source: §3.2).
Performance Validation: Main Results
1) Decoding Speedup (Speed)
| N:M | Llama-3.1-8B (tok/s) | Llama-3.3-70B | Qwen3-14B | Qwen3-32B |
|---|---|---|---|---|
| Dense | 96.26 | 21.67 | 39.76 | 19.15 |
| 2:4 | 136.30 (1.42×) | 30.17 (1.39×) | 53.18 (1.34×) | 27.69 (1.45×) |
| 4:8 | 136.43 (1.42×) | 31.64 (1.46×) | 53.86 (1.35×) | 27.83 (1.45×) |
| 8:16 | 136.89 (1.42×) | 29.90 (1.38×) | 53.42 (1.34×) | 27.77 (1.45×) |
| 16:32 | 136.89 (1.42×) | 32.13 (1.48×) | 53.73 (1.35×) | 27.81 (1.45×) |
Since every pattern keeps 50% of the weights, the differences between patterns are differences in kernel efficiency, and all patterns are faster than dense. Context 512, A100 80GB, GPT-Fast (source: §4.3, Tab. 3). This is the exact opposite of the earlier finding that the existing $2{:}4$ Sparse Tensor Core was slower than dense at decoding (Fig. 1b).
2) Generation Quality (WritingBench, 1–10 points)
WritingBench is a long-form writing benchmark spanning 6 domains, 100 subdomains, and 1,000 prompts (source: §4.1). SparseDecoding beats C4 calibration across every model and every sparsity.
| Model | Dense | C4 (50%) | Ours (50%) | C4 (2:4) | Ours (2:4) |
|---|---|---|---|---|---|
| Llama-3.1-8B | 3.70 | 2.25 | 2.54 | 1.34 | 1.52 |
| Llama-3.3-70B | 4.65 | 3.82 | 4.01 | 3.10 | 3.29 |
| Qwen3-14B | 5.97 | 4.62 | 5.35 | 1.85 | 4.18 |
| Qwen3-32B | 6.48 | 5.34 | 6.09 | 2.99 | 5.31 |
The most dramatic point is $2{:}4$ sparsity in the Qwen family. C4 effectively collapses quality, at 1.85 for Qwen3-14B and 2.99 for Qwen3-32B, whereas SparseDecoding lifts them to 4.18 and 5.31, respectively (source: Tab. 1). In the Llama family the gains are relatively small (1.34→1.52, etc.), which ties into the limitations discussed below.
3) Code Generation Generalization (ClassEval)
The same procedure works for code generation as well (only the calibration prompts are swapped for LiveCodeBench problems). It leads by 4–15 points across all 8 model-sparsity combinations. Notably, at $2{:}4$ sparsity, while C4 gives Pass@1 = 0.0% on Llama-3.1-8B and Qwen3-14B, SparseDecoding recovers 4.0% and 6.0% (source: §4.2, Tab. 2). This is evidence that “how the calibration is collected” is as decisive as “which text the calibration is.”
4) Theoretical Justification
In the appendix, the authors define the calibration discrepancy $\epsilon_{\ell,C}^{(k)}$ and prove that it is exactly equal to “the worst-case relative error between the calibration objective and the reconstruction objective at decoding time” (source: Appx. A, Thm. 1). Empirically, the fraction of modules where AR calibration shows a smaller discrepancy than C4 reaches 87%–99%, with a median discrepancy ratio $\hat{\epsilon}_{\mathrm{C4}}/\hat{\epsilon}_{\mathrm{AR}}$ of 1.81–3.26. This is quantitative evidence that decoding-aware calibration is consistently closer to the decoding objective than fixed text is (source: Appx. A, Tab. 6–7).
5) Ablation: The Source of the Gain Is Not “What” but “Whom and How”
- Self-generation vs cross-generation: Pruning a 14B model with a 32B model’s generated tokens underperforms self-generation (4.13 vs 4.18 at 2:4). Sequences produced by another model reintroduce the distribution gap (source: Tab. 4).
- Solver-invariance: Even with Wanda, SparseDecoding leads consistently (Qwen3-14B at 2:4: C4 2.41 vs 3.30). The gain comes from the calibration activations, not the solver (source: Tab. 5).
- Corpus-invariance: SparseDecoding also outperforms fixed corpora such as Pile and RedPajama (source: Tab. 9).
Our View: Strengths, Limitations, and Why This Research Matters
Strengths
The most praiseworthy aspect is that it aims precisely at the problem. It dismantles the long-taken-for-granted assumption that pruning presupposes “static input,” shifting to the perspective that “pruning must be aligned with the decoding state.” On top of that, its system design focuses on SpMV rather than SpMM to secure speed — a model example of not losing sight of the “measured wall-clock” that academic research often omits. The flow is clean: it shows with data that existing $2{:}4$ kernels became slower at decoding (Fig. 1b), then closes that gap with its own kernel.
Also, the low barrier to adoption — swap only the calibration matrix and it can sit on top of either the SparseGPT or Wanda solver — raises its practical value. The fact that it attaches theory (Thm. 1) to quantify “why it works” is also notable.
Limitations
There are several points worth fairly noting.
- Small gains on the Llama family. At
$2{:}4$, Llama-3.1-8B goes 1.34→1.52 and Llama-3.3-70B 3.10→3.29, in contrast to the multi-point jumps of the Qwen family. This means calibration sensitivity varies greatly by model family and size, and there is a lack of condition analysis for “when it is effective” (source: Tab. 1). - Calibration cost is quietly expensive. Since it must actually generate 1M tokens with the dense model, the upfront stage is heavier than streaming C4. No quantitative comparison of the gain against this cost is provided.
- Reliance on the evaluation judge. WritingBench is an LLM-as-judge benchmark using DeepSeek-V4-Flash as the judge, so the absolute scores (low values like 3.70) need to be interpreted with caution. Relative comparisons within the same judge and setting, however, remain valid.
- Sparsity is limited. Only
$N{:}M$50% and unstructured 50% were covered. Whether this framework holds up under more aggressive sparsity (e.g., 75%+) is left open. - Single GPU, A100 only. Even 70B was run on an A100, but it is unverified whether the SpMV kernel’s gain persists in a multi-GPU tensor-parallel environment (source: §4.1).
Why This Research Matters
Now that LLM inference cost has become the bottleneck in real-world use, this work strikes back at the perception that “pruning only makes things faster while ruining quality.” In particular, reframing the pruning quality problem not as a matter of “data selection” but as a matter of “how data is collected” is a general insight that can be reused for all “calibration-based compression” research — pruning, distillation, quantization, and beyond.
What’s Next?: The Road Ahead
The authors do not lay out a long list of explicit future plans, but in light of the limitations above, the natural next steps are visible.
- Extending sparsity: Explore the quality-speed Pareto frontier beyond 50%, at 2/3 and 3/4 sparsity. The fixed-step property of bitmask traversal remains usable.
- Condition analysis: Predict and verify “on which models and tasks decoding-aware calibration matters most” using the theoretical frame (the discrepancy of Thm. 1).
- Multi-GPU scaling: Validate the SpMV kernel’s performance under tensor parallelism and pipeline parallelism, and check whether it can be integrated into production serving stacks (vLLM, etc.).
- Combining with other compression techniques: Apply the “decoding-aware” principle to a broader pipeline, for example jointly with quantization or in interaction with speculative decoding.
This research, in which a single simple principle — collect calibration from “the state the model actually lives in” — lifts both quality and speed together, reminds us once again that in inference optimization the real goal is “measured wall-clock” rather than “theoretical FLOPs.”
Tables from the paper
Tables converted mechanically from the arXiv e-print LaTeX source. The numbers are the paper’s own and did not pass through a model.
Table 1. Results on the WritingBench benchmark under $50\%$ and $2{:}4$ sparsity. SparseDecoding (ours) calibrates on autoregressive generations conditioned on LongWriter prompts; C4 uses fixed C4 sequences. densegrayDense is the unpruned reference. Columns report the overall score, the six domain scores, and the three requirement scores for style (R1), format (R2), and length (R3); ``C’’ indicates the corresponding category-specific score. The six domains are Academic & Engineering (D1), Finance & Business (D2), Politics & Law (D3), Literature & Arts (D4), Education (D5), and Advertising & Marketing (D6). All scores are on a scale of 1-10. Bold marks the better overall score between SparseDecoding and C4 within each sparsity setting, based on unrounded values.
| Model | Sparsity | Method | Overall | Domains D1 | Domains D2 | Domains D3 | Domains D4 | Domains D5 | Domains D6 | Requirements R1 | Requirements C | Requirements R2 | Requirements C | Requirements R3 | Requirements C |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Llama-3.1-8B | densegray0% | densegrayDense | densegray3.70 | densegray3.7 | densegray3.6 | densegray3.5 | densegray3.3 | densegray4.1 | densegray4.3 | densegray3.8 | densegray3.9 | densegray3.7 | densegray4.3 | densegray3.8 | densegray3.6 |
| 2-16 | $50\%$ | C4 | 2.25 | 2.4 | 2.2 | 2.1 | 1.9 | 2.4 | 2.6 | 2.2 | 2.2 | 2.2 | 2.5 | 2.2 | 2.1 |
| SparseDecoding | 2.54 | 2.7 | 2.5 | 2.5 | 2.0 | 2.7 | 3.0 | 2.5 | 2.5 | 2.5 | 2.9 | 2.5 | 2.4 | ||
| 2-16 | $2{:}4$ | C4 | 1.34 | 1.5 | 1.3 | 1.3 | 1.1 | 1.4 | 1.6 | 1.3 | 1.3 | 1.3 | 1.4 | 1.3 | 1.2 |
| SparseDecoding | 1.52 | 1.7 | 1.6 | 1.5 | 1.3 | 1.5 | 1.6 | 1.5 | 1.5 | 1.5 | 1.5 | 1.4 | 1.4 | ||
| Llama-3.3-70B | densegray0% | densegrayDense | densegray4.65 | densegray4.6 | densegray4.5 | densegray4.5 | densegray4.5 | densegray5.1 | densegray5.2 | densegray4.7 | densegray4.9 | densegray4.6 | densegray5.2 | densegray4.8 | densegray4.5 |
| 2-16 | $50\%$ | C4 | 3.82 | 3.7 | 3.8 | 3.7 | 3.5 | 4.1 | 4.3 | 3.8 | 4.0 | 3.8 | 4.3 | 3.8 | 3.7 |
| SparseDecoding | 4.01 | 4.0 | 3.9 | 3.8 | 3.8 | 4.4 | 4.5 | 4.0 | 4.2 | 4.0 | 4.5 | 4.1 | 3.8 | ||
| 2-16 | $2{:}4$ | C4 | 3.10 | 3.1 | 3.2 | 3.0 | 2.6 | 3.3 | 3.5 | 3.1 | 3.0 | 3.1 | 3.6 | 3.0 | 2.8 |
| SparseDecoding | 3.29 | 3.2 | 3.3 | 3.0 | 3.1 | 3.7 | 3.8 | 3.3 | 3.4 | 3.2 | 3.6 | 3.3 | 2.9 | ||
| Qwen3-14B | densegray0% | densegrayDense | densegray5.97 | densegray6.0 | densegray5.8 | densegray6.1 | densegray5.7 | densegray6.3 | densegray6.1 | densegray6.1 | densegray6.4 | densegray6.0 | densegray6.8 | densegray6.0 | densegray6.3 |
| 2-16 | $50\%$ | C4 | 4.62 | 4.6 | 4.4 | 4.6 | 4.0 | 5.4 | 5.2 | 4.8 | 5.0 | 4.6 | 5.2 | 4.5 | 4.6 |
| SparseDecoding | 5.35 | 5.3 | 5.3 | 5.4 | 4.9 | 5.9 | 5.6 | 5.5 | 5.8 | 5.4 | 6.2 | 5.4 | 5.6 | ||
| 2-16 | $2{:}4$ | C4 | 1.85 | 2.0 | 1.8 | 1.7 | 1.6 | 2.0 | 2.3 | 1.9 | 1.9 | 1.8 | 1.7 | 1.9 | 1.7 |
| SparseDecoding | 4.18 | 4.2 | 4.3 | 4.3 | 3.3 | 4.8 | 4.6 | 4.2 | 4.4 | 4.2 | 4.9 | 4.1 | 4.2 | ||
| Qwen3-32B | densegray0% | densegrayDense | densegray6.48 | densegray6.5 | densegray6.4 | densegray6.5 | densegray6.3 | densegray6.7 | densegray6.6 | densegray6.6 | densegray6.8 | densegray6.5 | densegray7.2 | densegray6.6 | densegray6.8 |
| 2-16 | $50\%$ | C4 | 5.34 | 5.2 | 5.2 | 5.4 | 4.9 | 5.9 | 5.8 | 5.5 | 5.7 | 5.3 | 6.0 | 5.3 | 5.4 |
| SparseDecoding | 6.09 | 6.0 | 6.0 | 6.1 | 5.8 | 6.5 | 6.3 | 6.2 | 6.5 | 6.1 | 6.8 | 6.1 | 6.4 | ||
| 2-16 | $2{:}4$ | C4 | 2.99 | 3.0 | 2.9 | 2.9 | 2.3 | 3.5 | 3.9 | 3.0 | 3.1 | 3.0 | 3.3 | 2.9 | 2.8 |
| SparseDecoding | 5.31 | 5.2 | 5.3 | 5.4 | 4.7 | 5.8 | 5.7 | 5.4 | 5.6 | 5.3 | 6.0 | 5.3 | 5.5 |
Table 2. End-to-end decoding throughput and speedup over the dense baseline. All of the $N{:}M$ patterns retain $50\%$ of the weights, so differences reflect kernel efficiency rather than compression. Every evaluated pattern decodes faster than the dense baseline, with speedups ranging from \(1.34\) to \(1.48\times\). Measurements use a context length of 512 and report the median after 50 warmup and 50 measured iterations on NVIDIA A100 GPUs with GPT-Fast.
| $N{:}M$ | Llama-3.1-8B Token/s | Llama-3.1-8B Speedup | Llama-3.3-70B Token/s | Llama-3.3-70B Speedup | Qwen3-14B Token/s | Qwen3-14B Speedup | Qwen3-32B Token/s | Qwen3-32B Speedup |
|---|---|---|---|---|---|---|---|---|
| densegrayDense | densegray96.26 | densegray1.00$\times$ | densegray21.67 | densegray1.00$\times$ | densegray39.76 | densegray1.00$\times$ | densegray19.15 | densegray1.00$\times$ |
| 1-9 $2{:}4$ | 136.30 | 1.42$\times$ | 30.17 | 1.39$\times$ | 53.18 | 1.34$\times$ | 27.69 | 1.45$\times$ |
| $4{:}8$ | 136.43 | 1.42$\times$ | 31.64 | 1.46$\times$ | 53.86 | 1.35$\times$ | 27.83 | 1.45$\times$ |
| $8{:}16$ | 136.89 | 1.42$\times$ | 29.90 | 1.38$\times$ | 53.42 | 1.34$\times$ | 27.77 | 1.45$\times$ |
| $16{:}32$ | 136.89 | 1.42$\times$ | 32.13 | 1.48$\times$ | 53.73 | 1.35$\times$ | 27.81 | 1.45$\times$ |
Table 3. Empirical comparison of AR and C4 calibration discrepancy on Qwen3 14B. For each retained eigenvector fraction, we report the number and percentage of prunable modules (out of 280) where \(\epsilon_\ell,AR^(k) < \epsilon_\ell,C4^(k)\), together with the median of the discrepancy ratio \(\epsilon_C4/\epsilon_AR\).
| Retained eigenvectors | Modules with \(\epsilon_AR < \epsilon_C4\) | Percentage | Median ratio \(\epsilon_C4/\epsilon_AR\) |
|---|---|---|---|
| 1% | 274 | 97.9% | 2.30 |
| 2% | 271 | 96.8% | 2.39 |
| 5% | 266 | 95.0% | 2.65 |
| 10% | 264 | 94.3% | 2.83 |
| 20% | 261 | 93.2% | 3.06 |
| 50% | 248 | 88.6% | 3.26 |
Table 4. Empirical comparison of AR and C4 calibration discrepancy on Qwen3 32B. For each retained eigenvector fraction, we report the number and percentage of prunable modules (out of 448) where \(\epsilon_\ell,AR^(k) < \epsilon_\ell,C4^(k)\), together with the median of the discrepancy ratio \(\epsilon_C4/\epsilon_AR\).
| Retained eigenvectors | Modules with \(\epsilon_AR < \epsilon_C4\) | Percentage | Median ratio \(\epsilon_C4/\epsilon_AR\) |
|---|---|---|---|
| 1% | 390 | 87.1% | 1.81 |
| 2% | 419 | 93.5% | 1.92 |
| 5% | 440 | 98.2% | 2.08 |
| 10% | 439 | 98.0% | 2.16 |
| 20% | 444 | 99.1% | 2.17 |
| 50% | 442 | 98.7% | 2.19 |
Table 5. Results on WritingBench for Qwen3-14B and Qwen3-32B under unstructured $50\%$ and semi-structured $8{:}16$ sparsity. SparseDecoding (ours) calibrates on autoregressive generations conditioned on LongWriter prompts; C4 uses fixed C4 sequences. densegrayDense is the unpruned reference. ``C’’ indicates the corresponding category-specific score. Bold marks the best overall score within each sparsity setting.
| Model | Sparsity | Method | Overall | Domains D1 | Domains D2 | Domains D3 | Domains D4 | Domains D5 | Domains D6 | Requirements R1 | Requirements C | Requirements R2 | Requirements C | Requirements R3 | Requirements C |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Qwen3-14B | densegray$0\%$ | densegrayDense | densegray5.97 | densegray6.0 | densegray5.8 | densegray6.1 | densegray5.7 | densegray6.3 | densegray6.1 | densegray6.1 | densegray6.4 | densegray6.0 | densegray6.8 | densegray6.0 | densegray6.3 |
| 2-16 | $50\%$ | C4 | 4.62 | 4.6 | 4.4 | 4.6 | 4.0 | 5.4 | 5.2 | 4.8 | 5.0 | 4.6 | 5.2 | 4.5 | 4.6 |
| SparseDecoding | 5.35 | 5.3 | 5.3 | 5.4 | 4.9 | 5.9 | 5.6 | 5.5 | 5.8 | 5.4 | 6.2 | 5.4 | 5.6 | ||
| 2-16 | $8{:}16$ | C4 | 4.50 | 4.5 | 4.4 | 4.5 | 3.8 | 5.0 | 5.2 | 4.6 | 4.8 | 4.5 | 5.0 | 4.3 | 4.2 |
| SparseDecoding | 5.31 | 5.2 | 5.3 | 5.3 | 4.7 | 5.9 | 5.7 | 5.4 | 5.6 | 5.4 | 6.1 | 5.2 | 5.4 | ||
| Qwen3-32B | densegray0% | densegrayDense | densegray6.48 | densegray6.5 | densegray6.4 | densegray6.5 | densegray6.3 | densegray6.7 | densegray6.6 | densegray6.6 | densegray6.8 | densegray6.5 | densegray7.2 | densegray6.6 | densegray6.8 |
| 2-16 | $50\%$ | C4 | 5.34 | 5.2 | 5.2 | 5.4 | 4.9 | 5.9 | 5.8 | 5.5 | 5.7 | 5.3 | 6.0 | 5.3 | 5.4 |
| SparseDecoding | 6.09 | 6.0 | 6.0 | 6.1 | 5.8 | 6.5 | 6.3 | 6.2 | 6.5 | 6.1 | 6.8 | 6.1 | 6.4 | ||
| 2-16 | $8{:}16$ | C4 | 5.20 | 5.2 | 5.1 | 5.3 | 4.5 | 5.6 | 5.7 | 5.3 | 5.5 | 5.2 | 5.8 | 5.1 | 5.2 |
| SparseDecoding | 5.91 | 5.8 | 5.9 | 5.9 | 5.5 | 6.3 | 6.3 | 6.0 | 6.3 | 5.9 | 6.7 | 6.0 | 6.1 |
Table 6. Results on WritingBench benchmark under $50\%$ and $2{:}4$ sparsity with different calibration data for the Qwen3 model family. Pile and RedPajama use fixed pretraining-corpus sequences; SparseDecoding calibrates on autoregressive generations conditioned on LongWriter prompts.
| Model | Sparsity | Calibration | Overall | Domains D1 | Domains D2 | Domains D3 | Domains D4 | Domains D5 | Domains D6 | Requirements R1 | Requirements C | Requirements R2 | Requirements C | Requirements R3 | Requirements C |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Qwen3-14B | densegray$0\%$ | densegrayDense | densegray5.97 | densegray6.0 | densegray5.8 | densegray6.1 | densegray5.7 | densegray6.3 | densegray6.1 | densegray6.1 | densegray6.4 | densegray6.0 | densegray6.8 | densegray6.0 | densegray6.3 |
| 2-16 | $50\%$ | Pile | 5.00 | 5.2 | 5.1 | 5.1 | 4.0 | 5.7 | 5.3 | 5.0 | 5.2 | 5.0 | 5.6 | 4.8 | 5.0 |
| RedPajama | 5.04 | 5.0 | 5.0 | 5.1 | 4.4 | 5.6 | 5.6 | 5.2 | 5.4 | 5.1 | 5.7 | 4.9 | 5.0 | ||
| SparseDecoding | 5.35 | 5.3 | 5.3 | 5.4 | 4.9 | 5.9 | 5.6 | 5.5 | 5.8 | 5.4 | 6.2 | 5.4 | 5.6 | ||
| 2-16 | $2{:}4$ | Pile | 2.68 | 3.0 | 2.7 | 2.6 | 1.9 | 3.0 | 3.1 | 2.7 | 2.7 | 2.7 | 2.9 | 2.4 | 2.2 |
| RedPajama | 2.62 | 2.8 | 2.6 | 2.5 | 2.1 | 2.7 | 3.3 | 2.7 | 2.7 | 2.6 | 2.7 | 2.4 | 2.2 | ||
| SparseDecoding | 4.18 | 4.2 | 4.3 | 4.3 | 3.3 | 4.8 | 4.6 | 4.2 | 4.4 | 4.2 | 4.9 | 4.1 | 4.2 | ||
| Qwen3-32B | densegray0% | densegrayDense | densegray6.48 | densegray6.5 | densegray6.4 | densegray6.5 | densegray6.3 | densegray6.7 | densegray6.6 | densegray6.6 | densegray6.8 | densegray6.5 | densegray7.2 | densegray6.6 | densegray6.8 |
| 2-16 | $50\%$ | Pile | 5.80 | 5.8 | 5.8 | 5.8 | 5.3 | 6.2 | 6.2 | 5.9 | 6.1 | 5.8 | 6.5 | 5.8 | 6.0 |
| RedPajama | 5.72 | 5.7 | 5.7 | 5.8 | 5.3 | 6.1 | 6.1 | 5.8 | 6.1 | 5.7 | 6.4 | 5.7 | 5.7 | ||
| SparseDecoding | 6.09 | 6.0 | 6.0 | 6.1 | 5.8 | 6.5 | 6.3 | 6.2 | 6.5 | 6.1 | 6.8 | 6.1 | 6.4 | ||
| 2-16 | $2{:}4$ | Pile | 3.32 | 3.6 | 3.3 | 3.3 | 2.6 | 3.6 | 3.9 | 3.4 | 3.4 | 3.3 | 3.6 | 3.2 | 3.2 |
| RedPajama | 3.74 | 3.8 | 3.7 | 3.7 | 3.0 | 4.2 | 4.5 | 3.8 | 3.9 | 3.8 | 4.3 | 3.7 | 3.5 | ||
| SparseDecoding | 5.31 | 5.2 | 5.3 | 5.4 | 4.7 | 5.8 | 5.7 | 5.4 | 5.6 | 5.3 | 6.0 | 5.3 | 5.5 |
Comments