Is Oracle Pruning the True Oracle?
Organizations: Westlake University, Hangzhou, China · Nankai University, Tianjin, China
Abstract
Oracle pruning, which selects unimportant weights by minimizing the pruned train loss, has served as the foundation for most neural network pruning methods for over thirty-five years, while few (if any) have thought about how much the foundation really holds. This paper, for the first time, attempts to systematically examine its validity on deep neural networks through empirical correlation analyses and provides meta-framework reflections on the field of neural network pruning. Specifically, this paper focuses on the pruning algorithms with three stages: training, pruning, and retraining. We analyze the correlation in model performance before and after the retraining stage. Extensive experiments (37K models are trained) across a wide spectrum of models (LeNet5, VGG, ResNets, ViT, MLLM) and datasets (MNIST, CIFAR10/CIFAR100, ImageNet-1K, MLLM data) are conducted. For large-scale experiments, we adopt approximate oracle pruning due to the prohibitive cost of exact oracle pruning. The results point to a counterintuitive conclusion: for deep learning models of nontrivial size (already at the scale of ResNet56 on CIFAR-10), pre-retraining performance is negligibly correlated with post-retraining performance. In other words, the weights identified by oracle pruning can scarcely guarantee strong performance following retraining. This further suggests that existing works that derive pruning criteria from oracle pruning may rest on a questionable foundational premise. Further studies suggest that rising task complexity is a primary factor behind the invalidity of oracle pruning nowadays. Finally, given the evidence, we argue that the retraining stage in a pruning algorithm should be accounted for when developing pruning criteria.
Figures & tables
| Network ( Dataset) | Kendall | Anomaly | Counterexample |
| correlation | ratio | ratio | |
| LeNet5-Mini ( MNIST) | ✓ | ✓ | ✗ |
| ResNet56 ( CIFAR10) | ✓ | ✓ | ✗ |
| VGG19 ( CIFAR100) | ✓ | ✓ | ✗ |
| ResNet18 ( ImageNet-1K) | ✓ | ✓ | ✗ |
| ViT-B/16 ( ImageNet-1K) | ✓ | ✗ | ✓ |
| Pr. | Conv1 | Conv2 | Conv3 |
| 0.2 | -0.60 / 4.9e-09 | -0.76 / 2.0e-13 | -0.71 / 7.0e-12 |
| 0.3 | -0.51 / 1.3e-16 | -0.61 / 4.8e-23 | -0.59 / 9.8e-22 |
| 0.4 | -0.48 / 1.3e-24 | -0.61 / 7.4e-39 | -0.58 / 2.2e-35 |
| 0.5 | -0.51 / 2.1e-33 | -0.51 / 1.8e-33 | -0.60 / 2.5e-45 |
| 0.6 | -0.41 / 6.1e-19 | -0.42 / 3.5e-19 | -0.47 / 1.2e-23 |
| 0.7 | -0.19 / 1.8e-03 | -0.44 / 1.4e-12 | -0.19 / 2.1e-03 |
| Method | #Params | Pruned train loss | Final test performance |
| Dense model | 3.1B | / | 77.15 |
| ONP | 2B | 1.35 | 76.70 |
| UMP | 2B | 1.24 | 76.75 |
| GMP | 2B | 1.17 | 76.30 |
| PNP | 2B | 1.16 | 76.28 |
Appendix figures & tables12 assets
Supplementary material from the paper’s appendix.
Appendix
| Network & Data | Solver | LR policy | Total epoch | Batch size |
| (pre-train and retrain) | ||||
| LeNet5-Mini | SGD (0.9, 1e-4) | Multi-step (0:1e-2, 20:1e-3) | 30 | 256 |
| (MNIST) | Multi-step (0:1e-3, 20:1e-4) | 30 | 256 | |
| ResNet56 | SGD (0.9, 5e-4) | Multi-step (0:1e-1, 100:1e-2, 150:1e-3) | 200 | 128 |
| (CIFAR10) | Multi-step (0:1e-2, 60:1e-3, 90:1e-4) | 120 | 256 | |
| VGG19 | SGD (0.9, 5e-4) | Multi-step (0:1e-1, 100:1e-2, 150:1e-3) | 200 | 256 |
| Dataset | Network | Pruning ratio |
| MNIST | LeNet5-Mini | [0.2-0.8, 0, 0] |
| [0, 0.2-0.8, 0] | ||
| [0, 0, 0.2-0.8] | ||
| [0, 0.5, 0.5] | ||
| [0.5, 0, 0.5] | ||
| [0.5, 0.5, 0] |
| Iteration | Pruned Train Loss vs Final Test Loss | Pruned Train Loss vs Final Test Acc. |
| LR1 (first four iterations: 0.001; final stage: 0:0.1, 20:0.01, 40:0.001) | ||
| 1/5 | 0.05 / 0.31 | 0.03 / 0.58 |
| 2/5 | -0.05 / 0.32 | 0.04 / 0.47 |
| 3/5 | 0.02 / 0.71 | 0.04 / 0.41 |
| 4/5 | 0.10 / 0.06 | 0.08 / 0.13 |
| 5/5 | 0.05 / 0.34 | 0.03 / 0.52 |
| Pr. | Conv1 | Conv2 | Conv3 |
| 0.2 | 0.57 / 3.1e-08 | 0.74 / 6.0e-13 | 0.66 / 1.4e-10 |
| 0.3 | 0.53 / 7.3e-18 | 0.67 / 2.9e-27 | 0.55 / 3.5e-19 |
| 0.4 | 0.48 / 1.2e-24 | 0.65 / 1.8e-44 | 0.54 / 7.3e-32 |
| 0.5 | 0.54 / 2.6e-37 | 0.56 / 1.5e-40 | 0.57 / 4.8e-42 |
| 0.6 | 0.45 / 2.8e-22 | 0.44 / 5.5e-21 | 0.46 / 3.5e-23 |
| 0.7 | 0.20 / 1.0e-03 | 0.45 / 2.4e-13 | 0.20 / 1.1e-03 |
| Combination | Pruned train loss | Final test accuracy | Final test loss |
| 1 | 6.9768 | 76.2445 | 1.9714 |
| 2 | 7.0515 | 75.9731 | 1.9781 |
| 3 | 7.0442 | 76.0662 | 1.9826 |
| 4 | 7.0162 | 76.3223 | 1.9689 |
| 5 | 6.9989 | 74.0748 | 2.0530 |
| 6 | 7.0709 | 75.7066 | 1.9901 |
| Methods | #Params | Vision-Encoder | Res. | PTL | SQA | TextVQA | GQA | MM-Vet | POPE | Avg. |
| Dense model | 3.1B | SigLIP-0.4B | 384 | / | 69.1 | 59.1 | 62 | 32 | 86.4 | 77.15 |
| UMP | 2B | SigLIP-0.4B | 384 | 1.24 | 69.4 | 56.7 | 60.1 | 34.2 | 86.6 | 76.75 |
| GMP | 2B | SigLIP-0.4B | 384 | 1.17 | 69.9 | 55.8 | 60.1 | 33 | 86.4 | 76.30 |
| ONP | 2B | SigLIP-0.4B | 384 | 1.35 | 69.8 | 55.7 | 61.5 | 33 | 86.8 | 76.70 |
| PNP | 2B | SigLIP-0.4B | 384 | 1.16 | 69.5 | 55.1 | 61.5 | 33.1 | 86 | 76.28 |
Neural Network Pruning
Neural network pruning removes weights, neurons, channels, heads, or layers to reduce model size and computation while retaining useful behavior.
See all 292 papers