HyperAIHyperAI

Command Palette

Search for a command to run...

3 months ago

LSQ+: Improving low-bit quantization through learnable offsets and better initialization

Yash Bhalgat Jinwon Lee Markus Nagel Tijmen Blankevoort Nojun Kwak

LSQ+: Improving low-bit quantization through learnable offsets and better initialization

Abstract

Unlike ReLU, newer activation functions (like Swish, H-swish, Mish) that are frequently employed in popular efficient architectures can also result in negative activation values, with skewed positive and negative ranges. Typical learnable quantization schemes [PACT, LSQ] assume unsigned quantization for activations and quantize all negative activations to zero which leads to significant loss in performance. Naively using signed quantization to accommodate these negative values requires an extra sign bit which is expensive for low-bit (2-, 3-, 4-bit) quantization. To solve this problem, we propose LSQ+, a natural extension of LSQ, wherein we introduce a general asymmetric quantization scheme with trainable scale and offset parameters that can learn to accommodate the negative activations. Gradient-based learnable quantization schemes also commonly suffer from high instability or variance in the final training performance, hence requiring a great deal of hyper-parameter tuning to reach a satisfactory performance. LSQ+ alleviates this problem by using an MSE-based initialization scheme for the quantization parameters. We show that this initialization leads to significantly lower variance in final performance across multiple training runs. Overall, LSQ+ shows state-of-the-art results for EfficientNet and MixNet and also significantly outperforms LSQ for low-bit quantization of neural nets with Swish activations (e.g.: 1.8% gain with W4A4 quantization and upto 5.6% gain with W2A2 quantization of EfficientNet-B0 on ImageNet dataset). To the best of our knowledge, ours is the first work to quantize such architectures to extremely low bit-widths.

Code Repositories

ZouJiu1/LSQplus
pytorch
Mentioned in GitHub
DeadAt0m/LSQ-PyTorch
pytorch
Mentioned in GitHub
DeadAt0m/LSQFakeQuantize-PyTorch
pytorch
Mentioned in GitHub

Benchmarks

BenchmarkMethodologyMetrics
quantization-on-imagenetEfficientNet-W4A4
Activation bits: 4
Top-1 Accuracy (%): 73.8
Weight bits: 4
quantization-on-imagenetMixNet-W4A4
Activation bits: 4
Top-1 Accuracy (%): 71.7
Weight bits: 4

Build AI with AI

From idea to launch — accelerate your AI development with free AI co-coding, out-of-the-box environment and best price of GPUs.

AI Co-coding
Ready-to-use GPUs
Best Pricing
Get Started

Hyper Newsletters

Subscribe to our latest updates
We will deliver the latest updates of the week to your inbox at nine o'clock every Monday morning
Powered by MailChimp
LSQ+: Improving low-bit quantization through learnable offsets and better initialization | Papers | HyperAI