PLUM: Improving Inference Efficiency By Leveraging Repetition-Sparsity Trade-Off

Sachit Kuhar, Yash Jain, Alexey Tumanov
12/4/2023
cs.LGcs.AIcs.CV

No official code found. Best implementation: sachitkuhar/PLUM (3 stars, MIT, last commit 2024-11-05).

Abstract

Efficient inference of Deep Neural Networks (DNNs) on resource-constrained edge devices is essential. Quantization and sparsity are key techniques that translate to repetition and sparsity within tensors at the hardware-software interface. This paper introduces the concept of repetition-sparsity trade-off that helps explain computational efficiency during inference. We propose PLUM, a unified co-design framework that integrates DNN inference systems and quantization (forward and backward pass) to leverage the repetition-sparsity trade-off to improve inference efficiency. Our results demonstrate that PLUM's quantization method is more accurate than binary quantization with the same number of non-zero weights. Detailed analysis indicates that signed binarization generates a smaller distribution of effectual (non-zero) parameters nested within a larger distribution of total parameters of latent full-precision weights for a DNN block. Finally, the proposed PLUM framework achieves a 26% speedup on real hardware, doubles energy efficiency, and reduces density by 2.8x compared to binary methods while retaining top-1 accuracy when compared to prior-art methods for ResNets on ImageNet (by achieving 66.2% top-1 accuracy), presenting an alternative solution for deploying efficient models in resource-limited environments.

View on arXivView PDF

Code Implementations(1)

sachitkuhar/PLUMCommunity100%
MIT

Codebase for "PLUM: Improving Inference Efficiency By Leveraging Repetition-Sparsity Trade-Off"

30PythonOct 7, 20241 years agoMIT

Similar Papers

Cite this paper

@article{kuhar2023plum,
  title  = {PLUM: Improving Inference Efficiency By Leveraging Repetition-Sparsity Trade-Off},
  author = {Sachit Kuhar and Yash Jain and Alexey Tumanov},
  year   = {2023},
  eprint = {2312.01581},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2312.01581v2}
}

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/2312.01581.svg)](https://codeofpaper.com/paper/2312.01581)

Discussion