Trainable Fixed-Point Quantization for Deep Learning Acceleration on FPGAs
Dingyi Dai, Yichi Zhang, Jiahao Zhang, Zhanqiu Hu, Yaohui Cai, Qi Sun, Zhiru Zhang
TL;DR
This work tackles the misalignment between floating-point training and fixed-point FPGA inference by introducing QFX, a differentiable fixed-point quantization framework that learns per-layer binary-point positions during training and supports a multiplier-free K-hot quantization to reduce DSP usage. Implemented as a PyTorch-based emulation that mirrors FPGA-HLS behavior, QFX enables end-to-end quantization-aware training whose deployed models match fixed-point hardware results. Empirical results demonstrate that QFX surpasses post-training quantization at low bitwidth on CIFAR-10 and ImageNet and can achieve DSP-free operation in BNN accelerators on embedded FPGAs. The approach offers practical, deployment-ready fixed-point DNNs with improved accuracy and reduced hardware resources, with open-source release planned.
Abstract
Quantization is a crucial technique for deploying deep learning models on resource-constrained devices, such as embedded FPGAs. Prior efforts mostly focus on quantizing matrix multiplications, leaving other layers like BatchNorm or shortcuts in floating-point form, even though fixed-point arithmetic is more efficient on FPGAs. A common practice is to fine-tune a pre-trained model to fixed-point for FPGA deployment, but potentially degrading accuracy. This work presents QFX, a novel trainable fixed-point quantization approach that automatically learns the binary-point position during model training. Additionally, we introduce a multiplier-free quantization strategy within QFX to minimize DSP usage. QFX is implemented as a PyTorch-based library that efficiently emulates fixed-point arithmetic, supported by FPGA HLS, in a differentiable manner during backpropagation. With minimal effort, models trained with QFX can readily be deployed through HLS, producing the same numerical results as their software counterparts. Our evaluation shows that compared to post-training quantization, QFX can quantize models trained with element-wise layers quantized to fewer bits and achieve higher accuracy on both CIFAR-10 and ImageNet datasets. We further demonstrate the efficacy of multiplier-free quantization using a state-of-the-art binarized neural network accelerator designed for an embedded FPGA (AMD Xilinx Ultra96 v2). We plan to release QFX in open-source format.
