4 + 24B
Models (3B–8B) + a larger-scale point
Preprint · Training-Free Structured Pruning
Cross-Module Co-Pruning Curvature: a calibration-only, fine-tuning-free method that prunes attention and FFN units jointly — by preserving the curvature of the edges between units, not just ranking the nodes.
On the instruction-tuned Llama-3.1-8B at 20%, CoCurve is the only training-free method strong across every capability class — and best preserves the fragile code ability others sacrifice. The catch everyone misses: ~98% of the curvature mass lives in the edges.
Models (3B–8B) + a larger-scale point
LM · commonsense · knowledge · math · code
Of curvature mass is off-diagonal (edges)
Full edge matrix, no pairwise sweeps
Calibration-only · one shot
Structured pruning compresses LLMs by deleting whole units — attention heads and FFN channel groups. Almost every method scores each unit in isolation, implicitly assuming that the damage of pruning a set is additive. We show this is the wrong granularity for Transformers: because every sublayer reads from and writes to a shared residual stream, two individually weak units can be jointly indispensable, and two salient ones partly redundant.
CoCurve (Cross-Module Co-Pruning Curvature) prunes attention and FFN units jointly. From the token-level KL divergence between the frozen model and its masked copy, a second-order Taylor expansion yields a single Fisher matrix: its diagonal is classical node saliency, while its off-diagonal entries are co-pruning curvature edges — the extra damage from removing two units together.
We prove this entire edge matrix is a Gram product of single-unit ablations, recovering it from just M ablations with no pairwise sweeps, gradients, or labels — then prune in one shot under a shared budget. CoCurve reframes structured pruning from ranking nodes to preserving the curvature of the edges between them.
The standard recipe gives every unit an importance score and assumes set damage is additive: ΔL(S) ≈ Σ ΔL(u). But a Transformer is a coupled system — every sublayer reads and writes one shared residual stream. Pruning a set is a joint operation, not a sum.
The consequence: a node-first ranker inevitably co-prunes a low-saliency bridge unit together with the very units that depend on it. Two weak-looking units can be jointly indispensable; two salient ones can be partly redundant. And activation correlation doesn't fix it — it is dominated by scale and disconnected from the output distribution.
Because the masked student equals the teacher at zero pruning, both the risk and its gradient vanish there, so the leading term of the token-level KL is purely second order: R(s) ≈ ½·sᵀH·s. The single matrix H carries everything.
Run M single-unit ablations on a small calibration set; extract Fisher-weighted delta-logit features.
Output: the features whose Gram matrix is H.
Form the single Fisher matrix — diagonal saliency and off-diagonal co-pruning edges — with no pairwise sweep.
Output: node saliency + attention↔FFN edges together.
Cost-normalized greedy under a shared budget, trust-region λ from calibration risk; physically remove units.
Result: a jointly-pruned subnetwork, mask-equals-physical to <10⁻³.
12.91 Wiki · .610 Cmn · .389 MMLU · .091 Code
The only method strong across every capability class (dense 6.40 / .699 / .478 / .583).
16% of dense code retained vs 11% for the best baseline
CoCurve best preserves the fragile code-generation ability other training-free methods sacrifice.
Leads WikiText perplexity on every model tested
Up to 14.5× lower than the best baseline at 40% on Mistral-Small-24B.
Hint: scroll horizontally to view all columns on smaller screens.
| Model | Method | Wiki ↓ | Cmn ↑ | MMLU ↑ | Code ↑ |
|---|---|---|---|---|---|
| Llama-3.1-8B-Instruct | Dense | 6.40 | .699 | .478 | .583 |
| Best baseline | 13.23 | .586 | .379 | .072 | |
| CoCurve | 12.91 | .610 | .389 | .091 | |
| Mistral-7B | Dense | 4.78 | .675 | .441 | .322 |
| Best baseline | 8.11 | .607 | .367 | .095 | |
| CoCurve | 8.10 | .605 | .374 | .079 | |
| Llama-3.2-3B | Dense | 6.91 | .628 | .418 | .323 |
| Best baseline | 16.90 | .518 | .335 | .024 | |
| CoCurve | 16.71 | .512 | .325 | .046 | |
| Falcon3-7B | Dense | 5.43 | .670 | .452 | .532 |
| Best baseline | 7.43 | .591 | .398 | .157 | |
| CoCurve (λ=.5) | 7.03 | .602 | .390 | .188 | |
| Mistral-Small-24B | Dense | 4.70 | .738 | .523 | .475 |
| Best baseline | 10.42 | .629 | .446 | .138 | |
| CoCurve (λ=1) | 8.31 | .648 | .462 | .215 |
On Mistral-7B at 20%, a diagonal-only variant (node saliency alone) reaches 13.3 perplexity; adding the edges cuts the gap to dense roughly in half, to 8.1 (dense 4.8) — and lifts code (MBPP) from 0.6% to 12.2%, about 20×.
Tellingly, keeping only within-module edges (15.0) is worse than pure diagonal (13.1): it is specifically the attention↔FFN cross-block that is load-bearing.
The edge bonus grows as FFN channels become less redundant — a quantity read from the calibration matrix alone, before any benchmark. Low-redundancy models (Falcon3 0.028, Llama-3.1-8B 0.074) take full edges (λ=1); high-redundancy ones (Qwen2.5-32B 0.242) damp toward the OBD diagonal.
So the trust-region λ is chosen without labels, and the method degrades gracefully to a strong node-saliency selector exactly where edges would not help.
| Variant | Wiki ↓ | MBPP ↑ |
|---|---|---|
| Dense | 4.78 | — |
| Diagonal only (λ=0) | 13.26 | .006 |
| Head-only | 1526 | — |
| FFN-only | 9.10 | .076 |
| Full CoCurve (λ=1) | 8.10 | .122 |
Under review. Coming soon.
Reference implementation and reproduction. Coming soon.
A narrated, animated ~7-minute video tour — the coupling problem, the co-pruning curvature edges, and the results, built for a general audience.
For questions about this project, contact zhiren001@e.ntu.edu.sg.