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