赛灵思器件上的 INT4 优化卷积神经网络(1)

发布时间:2020-09-15  

 对于 AI 推断,在提供与浮点相媲美的精度的同时,INT8 的性能优于浮点。然而在资源有限的前提下,INT8 却不能满足性能要求, 优化则是解决之道。通过 优化,与现有的 INT8 解决方案相比,在实际硬件上可实现高达 77% 的性能提升。

本文引用地址:

概要
在其硬件平台上提供 INT8 AI 推断加速器 — 深度学习处理器单元 (XDPU)。然而,在某些资源受限,要求高性能、低时延的场景(例如对资源、功耗敏感的边缘侧场景和低时延 ADAS 场景)中,为了实现比 INT8 更低的功耗和更高的性能,需要对神经网络进行低比特量化。然而,极低比特量化(如二进制或三进制)却会导致精度劣化。
因此,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 系统中的不同任务时,该解决方案可实现媲美全精度模型的结果。

介绍
企业日益重视基于 AI 的系统在数据中心、汽车、工业和医疗等领域中的产品化。这带来了两大挑战:
•    AI 推断需要完成的计算量成数量级增加,同时还要保持价格、功耗、时延和尺寸大小不变。
•    AI 科学家继续日复一日地在算法和模型上开展创新,需要各种不同的硬件架构提供最佳性能。

对持续创新的强烈需求则需要使用灵活应变的领域专用架构 (DSA)。优化 AI 推断性能和降低功耗的主要趋势之一是使用较低精度和混合精度。为降低硬件设计复杂性,模型量化被当作关键技术应用于各类硬件平台。大量工作被投入用于最大限度地降低 CNN 运算量和存储成本。这项研究充分地证明,对于大多数计算机视觉任务,在不严重牺牲精度的情况下,权重参数和激活参数可以用 INT8 表达。然而对于某些边缘应用而言,硬件资源仍然不足。在对边缘应用使用较低的位宽(如 1 位、2 位)时,一些常见的硬件设计解决方案使用简化的乘法器。尽管这些解决方案时延低、吞吐量大,但它们与全精度模型相比,仍然存在较大的精度差距。因此,在模型精度和硬件性能之间寻求平衡变得至关重要。

运用几种常见的网络结构((ResNet50V1[参考资料 2]、ResNet50V2[参考资料 3] 、MobilenetV1[参考资料 4]和MobilenetV2[参考资料 5]),在 ImageNet 分类[参考资料 1]任务上通过使用几种不同的量化算法进行了实验。结果显示精度随着位宽减少而下降。尤其是在位宽低于 4 时精度下降显著。此外,赛灵思也使用 Williams 等介绍的 Roofline 模型[参考资料 6],分析不同位宽下的硬件性能,如图 1 所示。以赛灵思 ZCU102 评估板为例,随着 MAC 的精度降低,硬件成本降低,性能得到提高。此外,实验结果还显示,低比特量化可通过降低存储器需求提高性能。这在 ResNet-50 神经网络的卷积运算强度上得到证实。该网络分别用 8 位精度和 4 位精度进行了运算。因此, 在模型精度和硬件性能之间实现了最佳权衡。
1600173389189391.png
图 1:在 ZCU102 上以不同位宽运行 Roofline 模型
 

如何量化全流程硬件友好型 CNN
为实现整个量化过程的硬件友好化,INT4 量化法可分为三个部分:量化机制、硬件友好型量化设计、量化感知训练。

量化机制
赛灵思使用经训练的量化阈值 (TQT) [参考资料 7]将 DNN 从单精度浮点 (FP32) 转换为 INT4。对于权重和激活参数,量化函数可正式地写作:
1600173510396627.png
方程 1 体现出输入值 x 的量化值取决于阈值 t、位宽 b 和量化比例系数s。阈值 t 一般初始化为
待量化的张量的绝对值的最大值。随后在训练过程中用 log2t 的形式进行优化。量化系数s是 2 的幂,具有硬件友好性。上下截断运算去除部分离群数据,加大权重参数和激活参数的分布紧密度,更有利于量化。
如上文所述,log2t 是一种在训练过程中可学习的参数。优化它就能确定合适的量化范围。与之相反,log2t 的梯度可通过链式法则确定。此外,输入值 x 的梯度也可通过下式计算:
1600173616281479.png

TQT 证明对数表达能确保阈值和输入值的标度不变性。采用对数方式训练阈值更容易管理,并且被证明是非常高效的。

硬件友好型量化设计
要进行量化训练,必须从全精度网络中构建低比特网络。以全流程硬件友好型量化为基础,下文介绍部分常用网络结构并对几种粗粒度模块的量化解决方案进行总结。对于这些量化模块,INT4 量化方法可用于多种类型的网络结构。部分常用模块的量化解决方案如图 2 所示。图 2中的虚线表明能根据实际网络结构增添或者删除。
 
1600173676507535.png


模块 1:CBR(Conv+BN+ReLU)
作为 CNN 中的通用结构,BN 层被合并以减少训练和推断过程中的触发器数。然而,BN 层存在不一致性;批量运算在训练过程中使用当前批次的平均值和方差,但在推断过程中移动平均值和方差。如果量化的是从当前批次的平均值和方差获得的合并参数,在推断时就会导致偏差。为消除这种不匹配,应使用下列最佳实践[参考资料 8]、[参考资料 9]来量化这种结构。在将 BN 折叠到 ConV 后,就对折叠到 INT4 的参数进行量化。该模块的量化如图 2 (b) 所示。

模块 2:BRC(BN+ReLU+Conv)
如图 2 (c) 所示,在紧随卷积层的 BN 层被合并后,仍然存在独立的 BN 层。然而,在现有的 INT4 量化方法中,BN 层基本不受重视。为有效地部署这个独立的 BN 层,一种量化神经网络[参考资料 10]的简化方法被用于在训练过程中保持全精度,并在推断过程中吸收浮点标度和阈值偏差。这种方法可延伸用于所有线性运算(包括推断中的卷积),同时有助于保持精度。该模块的量化详见图 2 (d)。

模块 3:加法
对于加法模块,共享的量化层被用于量化所有输入和输出。根据经验,加法运算对精度敏感,但
占用硬件资源较少。因此该层一般量化为 8 位。此外,为了量化所有输入和输出,还将使用标度共享规则。共享规则的作用是让硬件绕过标度计算,消除了浮点乘法的需要。如图 2 (b) 所示,“ShareQuantize”指这些量化层共享相同标度。
 

其他:
为确保卷积运算的输入是 4 位,加法运算的 8 位输出需要再次被量化为 4 位,如图 2 中的“再量化”所示。对于第一层和最后一层,仍然进行 INT4 量化。整个网络的输出被量化成 8 位。内积层
与卷积层保持一致。

量化感知训练
量化感知训练通常被用作一项关键技术,用来降低低比特模型与全精度模型之间的精度差。在本白皮书描述的 INT4 量化方法中,它仍起着不可或缺的作用。量化感知训练过程都使用算法 1(如下所示)。

算法 1:逐层量化感知训练输入:
全精度输入、权重和偏差:X、W、Bias

针对输入和权重的可学习对数域阈值:ax、aw、abias
位宽:针对输入和权重,b=4;针对偏差,b=8

输出:

输出:Y

1.    初始化 ax = log2 max (|x|),aw = log2 max (|w|),abias = log2 max (|bias|)
2.    根据方程 1 计算 q(x)、q(w)和 q(bias)

3.    Y = Forward(q(x), q(w), q(bias))

4.    计算分类损耗:Loss。对所有可学习参数使用正则化方法。

5.     参阅方程 3
图片.png

6.    使用 Adam 更新全精度参数

(未完待续)


文章来源于:电子产品世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    Xilinx北京隆重进驻新址 新十年“芯”征程全面启航;2020年1月15日,赛灵思公司在位于北京市朝阳区安定路5号院的中海国际中心新办公室,隆重举行赛灵思北京办公室乔迁庆典,庆祝公司进驻新址。赛灵思......
    Xilinx “数据中心优先战略” 取得惊人发展;2019 年赛灵思开发者大会( XDF )亚洲站今日于北京盛大揭幕。赛灵思数据中心事业部举行媒体沟通会,这是赛灵思数据中心事业部 ( Data......
    定位创新驱动力 Xilinx三大战略取得重大成就;新闻要点: • 第三届赛灵思开发者大会(XDF)亚洲站于2019年12月3日至4日在北京盛大揭幕,这是2019 XDF 全球三站的最后一站,也是......
    Xilinx宣布Vitis™ AI 即日起开放下载,人工智能推断再提速;2019年12月4日,中国,北京(2019 年赛灵思中国开发者论坛) —— 自适应和智能计算的全球领先企业赛灵思......
    Xilinx联手西班牙电信驱动O-RAN 5G创新;随着标准的不断演进,赛灵思器件只需简单的远程软件更新即可无缝升级,因而, 赛灵思灵活应变的器件对于这样的重大产业转型,是最理想的选择。 5G时代......
    Xilinx任命Brice Hill为首席财务官;2020 年 4 月 10 日, 赛灵思公司今日宣布任命 Brice Hill 担任公司执行副总裁兼首席财务官( CFO ),任命立即生效。Hill......
    AMD 对赛灵思收购案已获两公司股东同意;4月9日消息,据外媒报道,处理器大厂AMD和FPGA龙头企业赛灵思(Xilinx)表示,两家公司各自的股东投票同意AMD对赛灵思的收购计划。 不过,收购......
    Xilinx宣布16nm UltraScale+ 产品提前量产;   2016年10月13日,北京—All Programmable 技术和器件的全球领先企业赛灵思公司(Xilinx, Inc......
    AMD完成收购赛灵思;2月14日,半导体设计公司AMD表示,已完成对可编程芯片大厂赛灵思公司的收购,按照目前双方的股票交易价值,该项收购金额预计达500亿美元。此前1月24日,AMD宣布......
    350亿美元,英国反垄断机构批准AMD收购赛灵思;近日,全球多个半导体重大并购案均迎来了新的进展。 英伟达斥资400亿美元对Arm的收购获得了博通、联发科、以及Marvell这三......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>