卷积神经网络能用 INT4 为啥要用 INT8 ?- 最新白皮书下载

1. 性能挑战

企业日益重视基于 AI 的系统在数据中心、汽车、工业和医疗等领域中的产品化。

这带来了两大挑战:

AI 推断需要完成的计算量成数量级增加,同时还要保持价格、功耗、时延和尺寸大小不变。

AI 科学家继续日复一日地在算法和模型上开展创新,需要各种不同的硬件架构提供最佳性能。

2. 方案概述

对于 AI 推断,在提供与浮点媲美的精度的同时,int8 的性能优于浮点。然而在资源有限的前提下,int8 不能满足性能要求,int4 优化是解决之道。通过 int4 优化,与现有的 int8 解决方案相比,赛灵思在实际硬件上可实现高达 77% 的性能提升。赛灵思 4 位激活和 4 位权重 (4A4W) 全流程硬件友好型量化解决方案可实现更优异的精度/资源权衡取舍。

该白皮书介绍了
在 Zynq® UltraScale+™ MPSoC 和 Zynq-7000 SoC 系列(16nm 和 28nm)上面向 CNN 4 位 XDPU 实现的低精度加速器。这种加速器通过高效地映射卷积计算,充分发挥其 DSP 功能。这种解决方案可提供优于 XDPU 两倍的解决方案级性能。在 ADAS 系统中执行 2D 检测任务时,这种实现方案能在 Zynq UltraScale+ MPSoC ZCU102 板上实现 230fps 的推断速度,与 8 位 XDPU 相比性能提高 1.52 倍。

此外,在用于 ADAS 系统中的不同任务时,该解决方案可实现媲美全精度模型的结果。

3. 技术导读

对持续创新的强烈需求需要使用灵活应变的领域专用架构 (DSA)。优化 AI 推断性能和降低功耗的主要趋势之一是使用较低精度和混合精度。为降低硬件设计复杂性,模型量化被当作关键技术应用于各类硬件平台。大量工作被投入用于最大限度地降低 CNN 运算量和存储成本。这项研究充分地证明,对于大多数计算机视觉任务,在不严重牺牲精度的情况下,权重和激活可以用 int8 表达。

然而对于某些边缘应用而言,硬件资源仍然不足。在对边缘应用使用较低的位宽(如 1 位、2 位)时,一些常见的硬件设计解决方案使用简化的乘法器。尽管这些解决方案时延低、吞吐量大,但它们与全精度模型相比,仍然存在较大的精度差距。因此,在模型精度和硬件性能之间寻求平衡变得至关重要。

赛灵思运用几种常见的网络结构(ResNet50V1、ResNet50V2 、MobilenetV1和MobilenetV2),在 ImageNet 分类任务上通过使用几种不同的量化算法进行了实验。结果显示精度随着位宽减少而下降。尤其是在位宽低于 4 时精度下降显著。此外,赛灵思也使用 Williams 等介绍的 Roofline 模型,分析不同位宽下的硬件性能。

在 ZCU102 上以不同位宽运行 Roofline 模型

如图 1 所示,以赛灵思 ZCU102 评估板为例,随着 MAC 的精度降低,硬件成本降低,性能得到提高。此外,实验结果还显示,低比特量化可通过降低存储器需求提高性能。这在 ResNet-50 神经网络的卷积运算强度上得到证实。该网络分别用 8 位精度和 4 位精度进行了运算。因此,int4 在模型精度和硬件性能之间实现了最佳权衡。

更多详细方案与技术内容,还请点击下载《赛灵思器件上的 int4 优化卷积神经网络》白皮书原文进行查看: https://app.ma.scrmtech.com/svip/sapIndex/SapSourceData?pf_uid=10980_146...

推荐阅读