Shedding the Bits: Pushing the Boundaries of Quantization with Minifloats on FPGAs

Shivam Aggarwal, Hans Jakob Damsgaard, Alessandro Pappalardo, Giuseppe Franco, Thomas B. Preußer +2 more
11/21/2023
cs.CVcs.AIcs.AR

No confident code implementation found for this paper.

Abstract

Post-training quantization (PTQ) is a powerful technique for model compression, reducing the numerical precision in neural networks without additional training overhead. Recent works have investigated adopting 8-bit floating-point formats(FP8) in the context of PTQ for model inference. However, floating-point formats smaller than 8 bits and their relative comparison in terms of accuracy-hardware cost with integers remains unexplored on FPGAs. In this work, we present minifloats, which are reduced-precision floating-point formats capable of further reducing the memory footprint, latency, and energy cost of a model while approaching full-precision model accuracy. We implement a custom FPGA-based multiply-accumulate operator library and explore the vast design space, comparing minifloat and integer representations across 3 to 8 bits for both weights and activations. We also examine the applicability of various integerbased quantization techniques to minifloats. Our experiments show that minifloats offer a promising alternative for emerging workloads such as vision transformers.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. Any repos shown below are weak matches — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{aggarwal2023shedding,
  title  = {Shedding the Bits: Pushing the Boundaries of Quantization with Minifloats on FPGAs},
  author = {Shivam Aggarwal and Hans Jakob Damsgaard and Alessandro Pappalardo and Giuseppe Franco and Thomas B. Preußer and Michaela Blott and Tulika Mitra},
  year   = {2023},
  eprint = {2311.12359},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2311.12359v3}
}

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

Discussion