北京物流信息联盟

定点数在CNN网络应用,同等精度下性能提高了2-6倍

2022-07-12 16:12:55

深度学习背景:


今年3月,谷歌AlphaGo横空出世,并打败了韩国棋手李世石,使得深度学习乃至机器学习等领域不但在学术领域火得一塌糊涂,在普通大众中也掀起了一番热潮。人工智能可谓是多起多落,而现如今最为火热的是2006年Geoffrey Hinton提出的深度学习,即多层神经网络。


随着近年来的发展,神经网络层次的剧增对训练速率,功耗提出了极高的要求,因而涌现出一系列神经网络加速器芯片。在IP/DSP领域,有ChipIntelli、台积电等公司;在ASIC领域,有Cambricon、地平线科技等公司;在GPU领域,英伟达依然独占鳌头;在CPU领域intel当然当仁不让;当然还有最适用于深度学习等网络多变性的FPGA厂商如ALTERA、XILINX等。深度学习的网络结构众多,诸如DBN、CNN、Pooling、LRN、MLP等多种网络对加速器的设置提出了更多要求,因而基于FPGA的多可变性加速器更受到设计者的青睐,并得到广泛认可。


定点数据的应用:


上个月末,Xilinx公司发布了一个基于定点数据的深度学习白皮书,极大的方便了设计者进行基于FPGA的深度学习测试与设计,以下将分析本白皮书的部分内容。


通常来说在AI、机器学习、深度学习领域,深度学习网络中输入的数据精度越高所表现出的结果准确率越高。然而本次测设得到了一个违反常规的结论,定点数据相比于浮点数据同样获得了较高的推理精度,大大提高性能并且降低了功耗,从而显著提高了性能。最新的Xilinx白皮书( https://www.xilinx.com/support/documentation/white_papers/wp486-deep-lea... )《在Xilinx器件上使用INT8优化的深度学习》详细的阐述了相关的技术细节。


研究表明,在深度学习网络中,并不只有32位浮点输入数据能获得最佳精度。对于诸如图像分类的许多应用,INT8(或甚至更低精度)定点计算与浮点结果相比,能提供相同的精度。下图是Xilinx白皮书中的表格,呈现了基于定点计算的微调CNN(卷积神经网络)的精确度,结果佐证了此声明。(括号中的数字表示未经过微调的准确率)

表格1


由表格1可见:在本次的六个CNN常见的网络结构中,精度降低的定点计算和32位浮点计算的准确性相差无几。往常具有一定优势的32位浮点数消耗了更多的功率、更多的资源来实现,尤其是创建大规模并行CNN时,所面对的情况更加严峻。而与此同时,八位定点数据的应用却具有更好性能、更低的功耗以及更好的资源利用率等诸多优势。


前两个优点非常浅显易懂,而Xilinx白皮书将详细描述第三点:更好的资源利用效率。研究表明,基于FPGA的浮点DSP并不匹配包括机器学习在内的超大规模应用程序。(同时,其他研究表明在CNN训练优化时,使用GPU优化比使用基于FPGA的浮点DSP结构所呈现的计算效率要高得多)。


Xilinx的UltraScale和UltraScale + FPGA中使用定点DSP48E2架构,针对降低精度的整数计算进行了优化,采用27x18位乘法器、48位累加器和其他增强架构。可以每个时钟周期在各个DSP48E2中对两个INT8操作,友商公司FPGA中DSP块却无法实现这项功能。 (同样,关于打包整数操作数以及将CNN性能加倍的技术细节,参见Xilinx白皮书。)


从下图可见,使用Xilinx UltraScale和UltraScale + FPGA 整型定点数据进行CNN网络训练,具有极高的性能和效率。

图1


从这个图中可以看出,使用Xilinx UltraScale和UltraScale + FPGA定点数据实现CNN网络可以获得更高的GOPS /瓦特。与上图所示的intel Arria 10和Stratix 10器件相比,Xilinx器件能使深度学习训练效率提升2x至6x(单位:GOPS/瓦),与32位浮点实现的精度水平基本相同。


有关更多信息请参考Xilinx Acceleration Zone Web page,该网页详细讨论了使用Xilinx FPGA技术的超大规模云加速的各种方面,也包括基于Xilinx Kintex UltraScale KU115 FPGA的全新Xilinx深度学习加速开发套件。


总结:


深度学习已经成为机器学习领域的突破窗口,关于深度学习的研究和应用已经在学术界和公众界得到广大的关注。因而为设计人员提供便捷、适合的加速器件变得尤为重要。本次Xilinx开发了基于FPGA的深度学习套件,极大的推动了深度学习训练的效率与准确度。相信在Xilinx等公司的持续推动下,人工智能的落地将会越来越快,越来越稳,为现如今的物联网、智能化时代做出卓越的贡献。


推荐阅读

技术教程 | Zybo全栈开发入门教程(基于Linux嵌入式系统)连载二

如何更好的理解分析深度卷积神经网络?

Everspin公司推出NVMe存储加速器板卡ES1GB-N02

【技术教程】】Zybo全栈开发入门教程(基于Linux嵌入式系统)连载一

IO每秒传输量新突破!FPGA助力实现四倍速率提升

每周酷创 | 基于最小FPGA系统制作的可穿戴运动设备

Alpha Data公司推出的ADM-PCIE-9V3加速器板卡

7Series FPGA高速收发器使用学习——概述与参考时钟篇

干货连载 | Basys3 FPGA个人学习笔记(一)

“加速界的后起之秀”:Xilinx 可重构加速堆

站在前沿的Xilinx SDx:Kevin Morris分析FPGA开发环境的发展

基于Zynq平台的EtherCAT主站方案实现

【视频】九大全可编程IIoT解决方案展示

透过2016年SPS IPC drives 电气自动化展会抢鲜看Xilinx最新工业物联网方案

Spectrum推出基于Xilinx FPGA的M4x PXIe任意波形发生器板卡




友情链接

Copyright © 2023 All Rights Reserved 版权所有 北京物流信息联盟