Fast and Controllable Post-training Sparsity: Learning Optimal Sparsity Allocation with Global Constraint in Minutes

Ruihao Gong, Yang Yong, Zining Wang, Jinyang Guo, Xiuying Wei +2 more
5/9/2024
cs.CV

Official code: ModelTC/FCPTS (5 stars, last commit 2024-05-14).

Abstract

Neural network sparsity has attracted many research interests due to its similarity to biological schemes and high energy efficiency. However, existing methods depend on long-time training or fine-tuning, which prevents large-scale applications. Recently, some works focusing on post-training sparsity (PTS) have emerged. They get rid of the high training cost but usually suffer from distinct accuracy degradation due to neglect of the reasonable sparsity rate at each layer. Previous methods for finding sparsity rates mainly focus on the training-aware scenario, which usually fails to converge stably under the PTS setting with limited data and much less training cost. In this paper, we propose a fast and controllable post-training sparsity (FCPTS) framework. By incorporating a differentiable bridge function and a controllable optimization objective, our method allows for rapid and accurate sparsity allocation learning in minutes, with the added assurance of convergence to a predetermined global sparsity rate. Equipped with these techniques, we can surpass the state-of-the-art methods by a large margin, e.g., over 30\% improvement for ResNet-50 on ImageNet under the sparsity rate of 80\%. Our plug-and-play code and supplementary materials are open-sourced at https://github.com/ModelTC/FCPTS.

View on arXivView PDF

Code Implementations(1)

ModelTC/FCPTSOfficial100%
51Shell, PythonDec 18, 20232 years ago

Similar Papers

Cite this paper

@article{gong2024fast,
  title  = {Fast and Controllable Post-training Sparsity: Learning Optimal Sparsity Allocation with Global Constraint in Minutes},
  author = {Ruihao Gong and Yang Yong and Zining Wang and Jinyang Guo and Xiuying Wei and Yuqing Ma and Xianglong Liu},
  year   = {2024},
  eprint = {2405.05808},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2405.05808v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2405.05808.svg)](https://codeofpaper.com/paper/2405.05808)

Discussion