Accelerator-Aware Pruning for Convolutional Neural Networks
arXiv:1804.09862 · doi:10.1109/TCSVT.2019.2911674
Abstract
Convolutional neural networks have shown tremendous performance capabilities in computer vision tasks, but their excessive amounts of weight storage and arithmetic operations prevent them from being adopted in embedded environments. One of the solutions involves pruning, where certain unimportant weights are forced to have a value of zero. Many pruning schemes have been proposed, but these have mainly focused on the number of pruned weights. Previous pruning schemes scarcely considered ASIC or FPGA accelerator architectures. When these pruned networks are run on accelerators, the lack of consideration of the architecture causes some inefficiency problems, including internal buffer misalignments and load imbalances. This paper proposes a new pruning scheme that reflects accelerator architectures. In the proposed scheme, pruning is performed so that the same number of weights remain for each weight group corresponding to activations fetched simultaneously. In this way, the pruning scheme resolves the inefficiency problems, doubling the accelerator performance. Even with this constraint, the proposed pruning scheme reached a pruning ratio similar to that of previous unconstrained pruning schemes, not only on AlexNet and VGG16 but also on state-of-the-art very deep networks such as ResNet. Furthermore, the proposed scheme demonstrated a comparable pruning ratio on compact networks such as MobileNet and on slimmed networks that were already pruned in a channel-wise manner. In addition to improving the efficiency of previous sparse accelerators, it will be also shown that the proposed pruning scheme can be used to reduce the logic complexity of sparse accelerators.The pruned models are publicly available at https://github.com/HyeongjuKang/accelerator-aware-pruning.
11 pages, 9 figures
References in corpus (6)
- Very Deep Convolutional Networks for Large-Scale Image Recognition
- MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
- Caffe: Convolutional Architecture for Fast Feature Embedding
- Fully Convolutional Networks for Semantic Segmentation
- Exploring the Regularity of Sparse Structure in Convolutional Neural Networks
- SCNN: An Accelerator for Compressed-sparse Convolutional Neural Networks
Cited by in corpus (15)
- Hardware Acceleration of Sparse and Irregular Tensor Computations of ML Models: A Survey and Insights
- Layer-specific Optimization for Mixed Data Flow with Mixed Precision in FPGA Design for CNN-based Object Detectors
- Weight-dependent Gates for Network Pruning
- Accelerating Sparse Deep Neural Networks
- Sparse Systolic Tensor Array for Efficient CNN Hardware Acceleration
- Lightweight Convolutional Representations for On-Device Natural Language Processing
- Binarizing by Classification: Is soft function really necessary?
- A 1Mb mixed-precision quantized encoder for image classification and patch-based compression
- Hardware-software co-exploration with racetrack memory based in-memory computing for CNN inference in embedded systems
- Open DNN Box by Power Side-Channel Attack
- Pruning Filter in Filter
- SASL: Saliency-Adaptive Sparsity Learning for Neural Network Acceleration
- Dual Discriminator Adversarial Distillation for Data-free Model Compression
- Accelerator-Aware Training for Transducer-Based Speech Recognition
- SPOTS: An Accelerator for Sparse Convolutional Networks Leveraging Systolic General Matrix-Matrix Multiplication