中文

用于 FPGA 深度学习加速的可训练定点量化

机器学习 2024-02-01 v1 计算机视觉与模式识别

摘要

量化是将深度学习模型部署在资源受限设备(如嵌入式 FPGA)上的关键技术。先前的工作主要集中在量化矩阵乘法上,而将 BatchNorm 或快捷连接等其他层保留为浮点形式,尽管定点运算在 FPGA 上效率更高。常见的做法是将预训练模型微调为定点形式以进行 FPGA 部署,但这可能会降低准确率。这项工作提出了 QFX,一种新颖的可训练定点量化方法,可在模型训练期间自动学习二进制小数点位置。此外,我们在 QFX 中引入了无乘法量化策略,以最大限度地减少 DSP 的使用。QFX 实现为一个基于 PyTorch 的库,在反向传播期间以可微的方式高效模拟由 FPGA HLS 支持的定点运算。只需极少的精力,使用 QFX 训练的模型即可通过 HLS 轻松部署,并产生与其软件对应版本相同的数值结果。我们的评估表明,与训练后量化相比,QFX 可以将包含按元素层的模型量化到更少的比特,并在 CIFAR-10 和 ImageNet 数据集上实现更高的准确率。我们进一步使用专为嵌入式 FPGA (AMD Xilinx Ultra96 v2) 设计的最先进的二值化神经网络加速器证明了无乘法量化的有效性。我们计划以开源格式发布 QFX。

关键词

引用

@article{arxiv.2401.17544,
  title  = {Trainable Fixed-Point Quantization for Deep Learning Acceleration on FPGAs},
  author = {Dingyi Dai and Yichi Zhang and Jiahao Zhang and Zhanqiu Hu and Yaohui Cai and Qi Sun and Zhiru Zhang},
  journal= {arXiv preprint arXiv:2401.17544},
  year   = {2024}
}