欢迎来到天天文库
浏览记录
ID:5355343
大小:514.42 KB
页数:11页
时间:2017-12-08
《利用xilinx器件的int8优化开展深度学习》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、白皮书:UltraScale和UltraScale+FPGA容用于深度学习的INT82赛灵思DSPSlice片上的INT8深度学习2WP486(v1.0)2016年11月11日可扩展的INT8优化3CNN的计算要求5利用Xilinx器件的创建INT8链接MACC的其他方法8INT8优化开展深度学习竞争分析9结论10作者:YaoFu、EphremWu、AshishSirasao、SednyAttia、KamranKhan和RalphWittig参考资料10修订历史11赛灵思INT8优化为深度学习推断提供了性能最免责声明11佳、能效最
2、高的计算技术。赛灵思的集成式DSP架汽车应用免责申明11构与其他FPGADSP架构相比,在INT8深度学习运算上能实现1.75倍的解决方案级性能。概要本白皮书旨在探索实现在赛灵思DSP48E2Slice上的INT8深度学习运算,以及与其他FPGA的对比情况。在相同资源数量情况下,赛灵思的DSP架构凭借INT8在INT8深度学习每秒运算次数(OPS)上相比其它FPGA,能实现1.75倍的峰值解决方案级性能。由于深度学习推断可以在不牺牲准确性的情况下使用较低位精度,因此需要高效的INT8实现方案。赛灵思的DSP架构和库专门针对INT8深
3、度学习推断进行了优化。本白皮书介绍如何使用赛灵思UltraScale和UltraScale+FPGA中的DSP48E2,在共享相同内核权重的同时处理两个并行的INT8乘法累加(MACC)运算。本白皮书还阐述了要运用赛灵思这一独特技术,为何输入的最小位宽为24位。本白皮书还以INT8优化技术为例,展示了该技术与神经网络基本运算的相关性。©2016年赛灵思公司版权所有。Xilinx、赛灵思标识、Artix、ISE、Kintex、Spartan、Virtex、Vivado、Zynq及本文提到的其它指定品牌均为赛灵思在美国及其它国家的商标。
4、所有其他商标均为其各自所有者的财产。WP486(v1.0)2016年11月11日china.xilinx.com1利用Xilinx器件的INT8优化开展深度学习用于深度学习的INT8深度神经网络(DNN)已掀起机器学习领域的变革,同时运用新的达到人类水平的AI功能重新定义众多现有的应用。随着更精确的深度学习模型被开发出来,它们的复杂性也带来了高计算强度和高内存带宽方面的难题。能效正在推动着深度学习推断新模式开发方面的创新,这些模式需要的计算强度和内存带宽较低,但绝不能以牺牲准确性和吞吐量为代价。降低这一开销将最终提升能效,降低所需的
5、总功耗。除了节省计算过程中的功耗,较低位宽的计算还能降低内存带宽所需的功耗,因为在内存事务数量不变的情况下传输的位数减少了。研究显示要保持同样的准确性,深度学习推断中无需浮点计算[参考资料1][参考资料2][参考资料3],而且图像分类等许多应用只需要INT8或更低定点计算精度来保持可接受的推断准确性[参考资料2][参考资料3]。表1列出了精调网络以及卷积层和完全相连层的动态定点参数及输出。括号内的数字代表未精调的准确性。表1:带定点精度的CNN模型卷积完全相连(FC)层输出32位浮点基线定点精度参数参数LeNet(示例1)4位4位4
6、位99.1%99.0%(98.7%)LeNet(示例2)4位2位2位99.1%98.8%(98.0%)FullCIFAR-108位8位8位81.7%81.4%(80.6%)SqueezeNettop-18位8位8位57.7%57.1%(55.2%)CaffeNettop-18位8位8位56.9%56.0%(55.8%)GoogLeNettop-18位8位8位68.9%66.6%(66.1%)注意:1.来源:Gysel等,卷积神经网络的面向硬件的近似法,2016年深度学习国际会议(ICLR)[参考资料2]赛灵思DSPSlice片上的I
7、NT8深度学习赛灵思的DSP48E2设计用于在一个时钟周期内高效地完成一个乘法累加算法,多达18x27位的乘法和多达48位的累加,如图1所示。除了采用回送或链接多个DSPSlice,乘法累加(MACC)也能使用赛灵思器件高效完成。WP486(v1.0)2016年11月11日china.xilinx.com2利用Xilinx器件的INT8优化开展深度学习累加结果回送或输出寄存器前馈到下一DSP模式检测累加结果图1:使用MACC模式的DSPSlice在运行INT8计算时,较宽的27位宽自然占有优势。在传统应用中,预加法器一般用于高效实现
8、(A+B)xC计算,但这类计算在深度学习应用中很少见。将(A+B)xC的结果拆分为AxC和BxC,然后在独立的数据流中进行累加,使之适用于典型深度学习计算的要求。对INT8深度学习运算来说,拥有18x27位乘法器很占优势。乘法器的输入
此文档下载收益归作者所有