《未来的高性能FPGA是否会优于GPU?.docx》由会员分享,可在线阅读,更多相关《未来的高性能FPGA是否会优于GPU?.docx(7页珍藏版)》请在第一文库网上搜索。
1、未来的高性能FPGA是否会优于GPU?英特尔加速器架构实验室的ErikONurvitadhi博士以最新的GPU为参照,对两代Inte1FPGA上新兴的DNN算法进行了评估,认为新兴的低精度和稀疏DNN算法效率较之传统的密集FP32DNN有巨大改进,但是它们引入了GPU难以处理的不规则并行度和定制数据类型。相比之下,FPGA正是设计用于在运行不规则并行度和自定义数据类型时实现极端的可定制性的。这样的趋势使未来FPGA成为运行DNN、且和M1应用的可行平台。来自社交媒体和互联网的图像、视频和语音数字数据的持续指数增长推动了分析的需要,以使得数据可以理解和处理。数据分析通常依赖于机造学之(M1)算法
2、。在M1算法中,深度卷积神经网络(DNN)为重要的图像分类任务提供了最先进的精度,并被广泛采用。在最近的Internationa1SymposiumonFie1dProgrammab1eGateArrays(ISFPGA)上,Inte1Acce1eratorArchitecture1ab(AA1)的ErikoNurvitadhi博士提出了一篇名为CanFPGAsbeatGPUsinAcce1eratingNext-GenerationDeepNeura1Networks的论文。他们的研究以最新的高性能的NVIDIATitanXPasca1*GraphicsProcessingUnit(GPU)
3、为参照,对两代Inte1FPG(Inte1Arria1O和Inte1Stratix10)的新兴DNN算法进行了评估。Inte1Programmab1eSo1utionsGroup的FPGA架构师RandyHuang博,论文的合著者之一,说:“途度均是A1中最令人兴奋的领域,因为我们已经看到了深入学习带来的巨大进步和大量应用。虽然A1和DNN研究倾向于使用GPU,但我们发现应用领域和英特尔下一代FPGA架构之间是完美契合的。我们考察了接下来FPGA的技术进展,以及DNN创新算法的快速增长,并思考了对于下一代DNN来说,未来的高性能FPGA是否会优于GPU。我们的研究发现,FPGA在DNN研究中表
4、现非常出色,可用于需要分析大量数据的AI、大数据或机器学习等研究领域。使用经修剪或压缩的数据(相对于全32位浮点数据(FP32),被测试的InteIStratix1OFPGA的性能优于GPU。除了性能外,FPGA的强大还源于它们具有适应性,通过重用现有的皿可以轻松实现更改,从而让团队在六个月内从想法进展到原型(和用18个月构建一个ASIC相比)。“测试中使用的神经网络机器学习神经网络可以被表现为通过加权边互连的神经元的图形。每个神经元和边分别与激活值和权重相关联。该图形被构造为神经元层。如图1所示。DeepNeura1Networks(DNNs)Popu1armachine1earning(M
5、1)approachfordataana1yticsNewdataInferenceMode1PredictionF1owerConsistsof1ayersofneuronsCOnneCtedViaWeightCdedgesforwardpass图1深度神经网络概述神经网络计算会通过网络中的每个层。对于给定层,每个神经元的值通过相乘和累加上一层的神经元值和边权重来计算。计算非常依赖于多重累积运算。DNN计算包括正向和反向传递。正向传递在输入层采样,遍历所有隐藏层,并在输出层产生预测。对于推理,只需要正向传递以获得给定样本的预测。对于训练,来自正向传递的预测错误在反向传递中被反馈以更新网络权重
6、。这被称为反向传播算法。训练迭代地进行向前和向后传递以调整网络权重,直到达到期望的精度。FPGA成为可行的替代方案硬件:与高端GPU相比,FPGA具有卓越的能效(性能/瓦特),但它们不具有高峰值浮点性能。FPGA技术正在迅速发展,即将推出的InteIStratix1OFPGA提供超过5,OOO个硬件浮点单元(皿),超过28MB的芯片上RAM(M20Ks),与高带宽内存(upto4x250GBsstackorITB/s)的集成,并来自新HyPe正IeX技术的改进频率。英特尔FPGA提供了一个全面的软件生态系统,从低级HardWareDeSCriPtiOn语言到具有OPenC1、C和C+的更高级别
7、的软件开发环境。英特尔将进一步利用MK1-DNN库,针对Inte1的机器学习生态系统和传统框架(如今天提供的Caffe)以及其他不久后会出现的框架对FPGA进行调整。基于14nm工艺的英特尔StratiX10在FP32吞吐量方面达到峰值9.2TF10Pso相比之下,最新的TitanXPasca1GPU的FP32吞吐量为HTF10Pso新兴的DNN算法:更深入的网络提高了精度,但是大大增加了参数和模型大小。这增加了对计算、带宽和存储的要求。因此,使用更为有效的DNN已成趋势。新兴趋势是采用远低于32位的紧凑型低精度数据类型,16位和8位数据类型正在成为新的标准,因为它们得到了DNN软件框架(例如
8、TenSorF1OW)支持。此外,研究人员已经对极低精度的2位三进制和1位二进制DNN进行了持续的精度改进,其中值分别约束为(0,+1,-1)或(+1,-1)oNurvitadhi博士最近合著的另一篇论文首次证明了,ternaryDNN可以在最著名的ImageNet数据集上实现目前最高的准确性。另一个新兴趋势是通过诸如修剪、Re1U和ternarization等技术在DNN神经元和权重中引入稀疏性(零存在),这可以导致DNN带有50%至90%的零存在。由于不需要在这样的零值上进行计算,因此如果执行这种稀疏DNN的硬件可以有效地跳过零计算,性能提升就可以实现。新兴的低精度和稀疏DNN算法效率较之
9、传统的密集FP32DNN有巨大改进,但是它们引入了GPU难以处理的不规则并行度和定制数据类型。相比之下,FPGA正是设计用于在运行不规则并行度和自定义数据类型时实现极端的可定制性的。这样的趋势使未来FPGA成为运行DNN、A1和M1应用的可行平台。黄先生说:“FPGA专用机器学习算法有更多的余量。图2说明了FPGA的极端可定制性(2),可以有效实施新兴的DNN(2B)0FPGAfabricisgreatforirregu1ar(andregu1ar)computation图2B.Customizabi1ityofFPGAa11owsefficientImp1ementationof1ow-pr
10、ecision,sparse,IrreguIarDNNs研究所用的硬件和方法TypeInte1Arria101150FPGAInte1Stratix102800FPGATitanXPasca1GPUPeakFP321.369.211On-chipRAMs6.6MB(M20Ks)28.6MB(M20Ks)135MB(RF,SM,12)MemoryBWAssumesameasTitanXAssumesameasTitanX480GB/sGPU:使用已知的库(cuB1AS)或框架(TorchwithcuDNN)FPGA:使用QUartUSEar1yBeta版本和POwerP1ayA.uCIassic
11、nFP32GEMMArroIOStratix1O(It6,(Int6,(Int6,(nt6,WMW)920MW)B.1owprecision(INT6,INT8)GEMMTOPs图3GEMM测试结果、GEMM是DNN中的关键操作在低精度和稀疏DNN中,Stratix10FPGA比TitanXGPU的性能更好,甚至性能功耗比要更好。未来这类DNN可能会成为趋势。研究1:GEMM测试DNN严重依赖GEMM。常规DNN依靠FP32密集GEMM。然而,较低的精度和稀疏的新兴DNN依赖于低精度和/或稀疏的GEMM。Inte1团队对这些GEMM进行了评估。FP32密集GEMM:由于FP32密集GEMM得到
12、了很好的研究,该团队比较了FPGA和GPU数据表上的峰值。TitanXPasca1的最高理论性能是StratiX10的11TF1OP和9.2TF1OPo图3A显示,带有多得多的DSP数量的Int1eStratix10将提供比OteIArria10更强大的FP32性能,和TitanX的性能表现接近。低精度INT6GEMM:为了显示FPGA的可定制性优势,该团队通过将四个int6打包到一个DSP模块中,研究了FPGA的Int6GEMMo对于本来不支持Int6的GPU,他们使用了Int8GPU的峰值性能进行了比较。图3B显示,Inte1Stratix10的性能优于GPU。FPGA比GPU提供了更引人
13、注目的性能/功耗比。非常低精度的1位二进制GEMM:最近的二进制DNN提出了非常紧凑的Ibit数据类型,允许用Xnor和位计数操作替换乘法,非常适合FPGA。图3C显示了团队的二进制GEMM测试结果,其中FPGA基本上执行得比GPU好(即,根据频率目标的不同,为2x到1Ox)。稀疏GEMM:新出现的稀疏DNN包含许多零值。该团队在带有85%零值的矩阵上测试了一个稀疏的GEMM(基于己修剪的AIeXNet)。该团队测试了使用FPGA的灵活性以细粒度的方式来跳过零计算的GEMM设计。该团队还在GPU上测试了稀疏的GEMM,但发现性能比在GPU上执行密集的GEMM更差(相同的矩阵大小)。该团队的稀疏
14、GEMM测试(图3D)显示,FPGA可以比GPU表现更好,具体取决于目标FPGA的频率。TrendsinDNNaccuracieson1mageNetAccuracy100%90%80%70%60%TernaryResNet-SOusedinInte1studyoffersIopaccuracy(13%*betterthanA1exNet)State-of-the-arthuman-1eve1accuracyA1exNetaccuracyisusedforreferenceinmanystudiesTop-51MTOP-I120122014BestBest2016TernaryResnet*f
15、romInte11absTernaryResNetisthefirstsparseandvery1owprecision(bit)DNNt。OfferComParab1eaccuracytoReSNet-152)50%B. Hs840E-690807060S040302010。ZHs80I-e=S*ZOIBZSThanCPUtheoretica1peakTitanXGPUmeasuredonTorch,batch64Stratix10FPGAperformsbetteracrossa11frequencytargets图4DNN精度的趋势,以及FPGA和GPU在TernarResNetDNN上的测试结果研究2:使用三进制ResNetDNN测试三进制DNN最近提出神经网络权重约束值为+1,O或这允许稀疏的2位权重,并用符号位操作代替乘法。在本次测试中,该团队使用了为零跳跃、2位权重定制的FPGA设计,同时没有乘法器来优化运行Ternary-ReSNetDNN。与许多其他低精度和稀疏的DNN不同,三进制DNN可以为最先进的DNN(即ReSNet)提供可供比较的精度,如图4A所示。“许多现