Phoenix:一种面向低精度浮点量化的卷积神经网络结构
Phoenix: A Low-Precision Floating-Point Quantization Oriented Architecture for Convolutional Neural Networks
摘要:
卷积神经网络(CNN)以变得更深和更大为代价实现了最先进的性能。虽然量化(定点和浮点)已被证明可以有效减少存储和内存访问,但有两个挑战- 1)量化导致的准确性损失,而无需校准,微调或重新训练深度CNN和2)浮点量化导致的硬件效率低下-阻止处理器完全利用这些好处。在本文中,我们提出了一个低精度浮点量化为导向的处理器,名为凤凰,以解决上述挑战。我们主要有三个关键观察:1)8位浮点量化比8位定点量化产生更少的误差; 2)在不使用任何校准,微调或重新训练技术的情况下,量化前的归一化进一步降低了精度下降; 3)如果应用全精度乘积,8位浮点乘法器比8位定点乘法器实现更高的硬件效率。基于这些关键的观察,我们提出了一种面向规范化的8位浮点量化方法,以减少存储和内存访问,而精度损失可以忽略不计(前1/前5精度分别在0.5%/0.3%以内)。我们进一步设计了一个硬件处理器来解决浮点乘法器所带来的硬件效率低下的问题。与最先进的加速器相比,Phoenix的性能分别是AlexNet和VGG 16的3.32倍和7.45倍。
英文摘要:
Convolutional neural networks (CNNs) achieve state-of-the-art performance at the cost of becoming deeper and larger. Although quantization (both fixed-point and floating-point) has proven effective for reducing storage and memory access, two challenges -- 1) accuracy loss caused by quantization without calibration, fine-tuning or re-training for deep CNNs and 2) hardware inefficiency caused by floating-point quantization -- prevent processors from completely leveraging the benefits. In this paper, we propose a low-precision floating-point quantization oriented processor, named Phoenix, to address the above challenges. We primarily have three key observations: 1) 8-bit floating-point quantization incurs less error than 8-bit fixed-point quantization; 2) without using any calibration, fine-tuning or re-training techniques, normalization before quantization further reduces accuracy degradation; 3) 8-bit floating-point multiplier achieves higher hardware efficiency than 8-bit fixed-point multiplier if the full-precision product is applied. Based on these key observations, we propose a normalization-oriented 8-bit floating-point quantization method to reduce storage and memory access with negligible accuracy loss (within 0.5%/0.3% for top-1/top-5 accuracy, respectively). We further design a hardware processor to address the hardware inefficiency caused by floating-point multiplier. Compared with a state-of-the-art accelerator, Phoenix is 3.32x and 7.45x better in performance with the same core area for AlexNet and VGG16, respectively.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。