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

FPGA/ASIC技术

205人已加入

描述

深度学习背景:
今年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(卷积神经网络)的精确度,结果佐证了此声明。(括号中的数字表示未经过微调的准确率)

FPGA

 

表格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网络训练,具有极高的性能和效率。

FPGA

 

图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等公司的持续推动下,人工智能的落地将会越来越快,越来越稳,为现如今的物联网、智能化时代做出卓越的贡献。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分