Only Train Once: A One-Shot Neural Network Training And Pruning Framework
arXiv:2107.07467
Abstract
Structured pruning is a commonly used technique in deploying deep neural networks (DNNs) onto resource-constrained devices. However, the existing pruning methods are usually heuristic, task-specified, and require an extra fine-tuning procedure. To overcome these limitations, we propose a framework that compresses DNNs into slimmer architectures with competitive performances and significant FLOPs reductions by Only-Train-Once (OTO). OTO contains two keys: (i) we partition the parameters of DNNs into zero-invariant groups, enabling us to prune zero groups without affecting the output; and (ii) to promote zero groups, we then formulate a structured-sparsity optimization problem and propose a novel optimization algorithm, Half-Space Stochastic Projected Gradient (HSPG), to solve it, which outperforms the standard proximal methods on group sparsity exploration and maintains comparable convergence. To demonstrate the effectiveness of OTO, we train and compress full models simultaneously from scratch without fine-tuning for inference speedup and parameter reduction, and achieve state-of-the-art results on VGG16 for CIFAR10, ResNet50 for CIFAR10 and Bert for SQuAD and competitive result on ResNet50 for ImageNet. The source code is available at https://github.com/tianyic/only_train_once.
arXiv commentAccepted by NeurIPS 2021
References in corpus (36)
- Very Deep Convolutional Networks for Large-Scale Image Recognition
- Distilling the Knowledge in a Neural Network
- Nearly unbiased variable selection under minimax concave penalty
- Gaussian Error Linear Units (GELUs)
- Empirical Evaluation of Rectified Activations in Convolutional Network
- The Lottery Ticket Hypothesis: Finding Sparse, Trainable Neural Networks
- AMC: AutoML for Model Compression and Acceleration on Mobile Devices
- A Survey of Model Compression and Acceleration for Deep Neural Networks
- SQuAD: 100,000+ Questions for Machine Comprehension of Text
- Network Trimming: A Data-Driven Neuron Pruning Approach towards Efficient Deep Architectures
- Pruning Filters for Efficient ConvNets
- SNIP: Single-shot Network Pruning based on Connection Sensitivity
- A Systematic DNN Weight Pruning Framework using Alternating Direction Method of Multipliers
- Learning Structured Sparsity in Deep Neural Networks
- The State of Sparsity in Deep Neural Networks
- Bayesian Compression for Deep Learning
- Reducing Transformer Depth on Demand with Structured Dropout
- Comparing Rewinding and Fine-tuning in Neural Network Pruning
- Picking Winning Tickets Before Training by Preserving Gradient Flow
- Stabilizing the Lottery Ticket Hypothesis
- Structured Bayesian Pruning via Log-Normal Multiplicative Noise
- Video-to-Video Synthesis
- Gate Decorator: Global Filter Pruning Method for Accelerating Deep Convolutional Neural Networks
- SCOP: Scientific Control for Reliable Neural Network Pruning
- Bayesian Bits: Unifying Quantization and Pruning
- Soft Filter Pruning for Accelerating Deep Convolutional Neural Networks
- Reweighted Proximal Pruning for Large-Scale Language Representation
- Movement Pruning: Adaptive Sparsity by Fine-Tuning
- Operation-Aware Soft Channel Pruning using Differentiable Masks
- Escoin: Efficient Sparse Convolutional Neural Network Inference on GPUs
- Statistical Adaptive Stochastic Gradient Methods
- CDFI: Compression-Driven Network Design for Frame Interpolation
- Combinatorial Penalties: Which structures are preserved by convex relaxations?
- Orthant Based Proximal Stochastic Gradient Method for -Regularized Optimization
- Pruning Filter in Filter
- Structured Sparsity Inducing Adaptive Optimizers for Deep Learning