Cut Less, Fold More: Model Compression through the Lens of Projection Geometry
Organizations: Graz University of Technology · Complexity Science Hub · Swiss Data Science Center · ETH Zurich
Abstract
Compressing neural networks without retraining is vital for deployment at scale. We study calibration-free compression through the lens of projection geometry: structured pruning is an axis-aligned projection, whereas model folding performs a low-rank projection via weight clustering. We formalize both as orthogonal operators and show that, within a rank distance of one, folding provably yields smaller parameter reconstruction error, and under mild smoothness assumptions, smaller functional perturbations than pruning. At scale, we evaluate >1000 checkpoints spanning ResNet18, PreActResNet18, ViT-B/32, and CLIP ViT-B/32 on CIFAR-10 and ImageNet-1K, covering diverse training hyperparameters (optimizers, learning rates, augmentations, regularization, sharpness-aware training), as well as multiple LLaMA-family 60M and 130M parameter models trained on C4. We show that folding typically achieves higher post-compression accuracy, with the largest gains at moderate-high compression. The gap narrows and occasionally reverses at specific training setups. Our results position folding as a geometry-aware, calibration-free alternative to pruning that is often superior in practice and principled in theory.
Figures & tables
| weight_decay | warmup_steps | max_lr | PPL 0% sparsity | PPL MAG2 (20%) | PPL FOLD (20%) | PPL MAG2 (50%) | PPL FOLD (50%) |
|---|---|---|---|---|---|---|---|
| 0.01 | 880 | 0.001 | 32.11 | 54.51 | 47.17 | 398.62 | 221.32 |
| 0.01 | 1100 | 0.001 | 32.14 | 50.11 | 46.75 | 220.54 | 172.57 |
| 0.01 | 2200 | 0.001 | 32.20 | 46.57 | 47.54 | 174.58 | 216.36 |
| 0 | 880 | 0.001 | 32.17 | 51.14 | 48.23 | 220.33 | 223.86 |
| 0 | 1100 | 0.001 | 32.21 | 50.03 | 47.47 | 231.41 | 204.47 |
| 0 | 2200 | 0.001 | 32.40 | 46.38 | 46.92 | 177.48 | 185.27 |
Appendix figures & tables26 assets
Supplementary material from the paper’s appendix.
Appendix
| Parameter | Values |
|---|---|
| Optimizer | adam , sgd |
| Learning Rate | adam : 0.1, 0.01, 0.001 |
| sgd : 0.1, 0.05, 0.01, 0.001 | |
| Momentum | adam : 0.0 |
| sgd : 0.9, 0.99 | |
| Weight Decay | 0.0, 0.0005, 0.001 |
| Parameter | Values |
|---|---|
| Optimizer | sgd |
| Max / Base Learning Rate ( lr_max ) | from 0.0504 to 4.9759 |
| SAM Strength ( sam_rho ) | 0.0, 0.05, 0.1 |
| Standard Augmentation ( augm ) | True, False |
| RandAugment ( randaug ) | True, False |
| Parameter | Values |
|---|---|
| Optimizer | sgd |
| Max / Base Learning Rate ( lr_max ) | from 0.005087 to 0.492936 |
| SAM Strength ( sam_rho ) | 0.0, 0.05, 0.1 |
| Standard Augmentation ( augm ) | True, False |
| RandAugment ( randaug ) | True, False |
| Params | Hidden | Intermediate | Heads | Layers | Steps | Data (Tokens) |
|---|---|---|---|---|---|---|
| 60M | 512 | 1376 | 8 | 8 | 11K | 1.3B |
| 130M | 768 | 2048 | 12 | 12 | 22K | 2.6B |
| weight_decay | warmup_steps | max_lr | PPL 0% sparsity | PPL MAG2 (20%) | PPL FOLD (20%) | PPL MAG2 (50%) | PPL FOLD (50%) |
|---|---|---|---|---|---|---|---|
| 0.01 | 1100 | 0.001 | 23.90 | 39.88 | 39.48 | 236.16 | 308.77 |
| 0.01 | 2200 | 0.001 | 23.99 | 38.75 | 39.61 | 259.79 | 469.25 |
| 0.01 | 3300 | 0.001 | 24.08 | 38.54 | 39.10 | 289.67 | 451.27 |
| 0.0 | 1100 | 0.001 | 24.01 | 42.39 | 42.27 | 270.31 | 477.70 |
| 0.0 | 2200 | 0.001 | 24.12 | 40.01 | 41.53 | 239.25 | 489.48 |
| 0.0 | 3300 | 0.001 | 24.19 | 38.72 | 40.31 | 277.10 | 531.09 |
| Method | Params | Comp. time [s] | Comp. peak mem [MB] | Lat. [ms/batch] | Lat. [ms/img] | FLOPs [MFLOPs/img] | Fwd peak mem [MB] |
|---|---|---|---|---|---|---|---|
| Original | 11,172,170 | – | – | 3.69 | 0.0288 | 557.65 | 214.30 |
| Fold | 4,008,346 | 9.48 | 157.47 | 3.17 | 0.0248 | 199.05 | 170.53 |
| Mag | 4,008,346 | 1.77 | 115.22 | 3.15 | 0.0246 | 199.05 | 169.82 |
| Method | Params | Comp. time [s] | Comp. peak mem [MB] | Lat. [ms/batch] | Lat. [ms/img] | FLOPs [MFLOPs/img] | Fwd peak mem [MB] |
|---|---|---|---|---|---|---|---|
| Original | 151,790,313 | – | – | 19.851 | 0.6203 | 2946.76 | 684.18 |
| Fold | 140,447,253 | 92.833 | 681.23 | 17.343 | 0.5420 | 2379.98 | 636.97 |
| Mag | 140,447,253 | 2.627 | 625.61 | 17.372 | 0.5429 | 2379.98 | 637.88 |
| Layer | Params_fold | Params_mag | FLOPs_fold | FLOPs_mag | Act_fold | Act_mag | NZ_fold | NZ_mag | ||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| conv1 | 1026 | 1026 | 0 | 1050624 | 1050624 | 0 | 38912 | 38912 | 0 | 38912 | 38912 | 0 |
| layer1.0.conv1 | 12996 | 12996 | 0 | 13307904 | 13307904 | 0 | 38912 | 38912 | 0 | 38912 | 38912 | 0 |
| layer1.0.conv2 | 12996 | 12996 | 0 | 13307904 | 13307904 | 0 | 38912 | 38912 | 0 | 38912 | 38912 | 0 |
| layer1.1.conv1 | 12996 | 12996 | 0 | 13307904 | 13307904 | 0 | 38912 | 38912 | 0 | 38912 | 38912 | 0 |
| layer1.1.conv2 | 12996 | 12996 | 0 | 13307904 | 13307904 | 0 | 38912 | 38912 | 0 | 38912 | 38912 | 0 |
| layer2.0.conv1 | 25992 | 25992 | 0 | 6653952 | 6653952 | 0 | 19456 | 19456 | 0 | 19456 | 19456 | 0 |
| Layer | Params_fold | Params_mag | FLOPs_fold | FLOPs_mag | Act_fold | Act_mag | NZ_fold | NZ_mag | ||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| classification_head | 513000 | 513000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| transformer.resblocks.0.attn.out_proj | 262656 | 262656 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| transformer.resblocks.0.mlp.c_fc | 1050624 | 1050624 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| transformer.resblocks.0.mlp.c_proj | 1049088 | 1049088 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| transformer.resblocks.1.attn.out_proj | 262656 | 262656 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| transformer.resblocks.1.mlp.c_fc | 1050624 | 1050624 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Model Compression
Model compression reduces the storage, computation, or latency of machine-learning models while preserving task performance.
See all 118 papers