导读: 人工智能即将深刻改变我们的世界,而数据洪流带来数据量爆炸和数据形态的多样性,对数据处理能力以及下一代深度学习的计算能力也提出了更高的要求。随着人工智能在越来越多的应用领域开始新的探索,随着不规则并行度和定制类型数据的大量引入,FPGA在DNN研究中表现非常出色,可用于需要分析大量数据的AI、大数据或机器学习等研究领域。 本文作者为Linda Barney,原文刊登于 The Next Platform.com。感谢本文译者“新智元”张易。 微信编辑器 构思编辑器 来自社交媒体和互联网的图像、视频和语音数字数据的持续指数增长推动了分析的需要,以使得数据可以理解和处理。 数据分析通常依赖于机器学习(ML)算法。在ML算法中,深度卷积神经网络(DNN)为重要的图像分类任务提供了最先进的精度,并被广泛采用。 在最近的 International Symposium on Field Programmable Gate Arrays (ISFPGA) 上,Intel Accelerator Architecture Lab (AAL) 的 Eriko Nurvitadhi 博士提出了一篇名为 Can FPGAs beat GPUs in Accelerating Next-Generation Deep Neural Networks 的论文。他们的研究以最新的高性能的 NVIDIA Titan X Pascal Graphics Processing Unit (GPU) 为参照,对两代 Intel FPGA(Intel Arria10 和Intel Stratix 10)的新兴DNN算法进行了评估。 Intel Programmable Solutions Group 的 FPGA 架构师 Randy Huang 博士,论文的合著者之一,说:“深度学习是AI中最令人兴奋的领域,因为我们已经看到了深度学习带来的巨大进步和大量应用。虽然AI 和DNN 研究倾向于使用 GPU,但我们发现应用领域和英特尔下一代FPGA 架构之间是完美契合的。我们考察了接下来FPGA 的技术进展,以及DNN 创新算法的快速增长,并思考了对于下一代 DNN 来说,未来的高性能 FPGA 是否会优于GPU。我们的研究发现,FPGA 在DNN 研究中表现非常出色,可用于需要分析大量数据的AI、大数据或机器学习等研究领域。使用经修剪或压缩的数据(相对于全32位浮点数据(FP32)),被测试的 Intel Stratix10 FPGA 的性能优于GPU。除了性能外,FPGA 的强大还源于它们具有适应性,通过重用现有的芯片可以轻松实现更改,从而让团队在六个月内从想法进展到原型(和用18个月构建一个 ASIC 相比)。” 1 测试中使用的神经网络机器学习 微信编辑器 构思编辑器 神经网络可以被表现为通过加权边互连的神经元的图形。每个神经元和边分别与激活值和权重相关联。该图形被构造为神经元层。如图1所示。 图1 深度神经网络概述 神经网络计算会通过网络中的每个层。对于给定层,每个神经元的值通过相乘和累加上一层的神经元值和边权重来计算。计算非常依赖于多重累积运算。DNN计算包括正向和反向传递。正向传递在输入层采样,遍历所有隐藏层,并在输出层产生预测。对于推理,只需要正向传递以获得给定样本的预测。对于训练,来自正向传递的预测错误在反向传递中被反馈以更新网络权重。这被称为反向传播算法。训练迭代地进行向前和向后传递以调整网络权重,直到达到期望的精度。 2 FPGA成为可行的替代方案 微信编辑器 构思编辑器 硬件 与高端GPU 相比,FPGA 具有卓越的能效(性能/瓦特),但它们不具有高峰值浮点性能。FPGA技术正在迅速发展,即将推出的Intel Stratix10 FPGA提供超过5,000个硬件浮点单元(DSP),超过28MB的芯片上RAM(M20Ks),与高带宽内存(upto 4x250GB/s/stack or 1TB/s)的集成,并来自新Hyper Flex技术的改进频率。英特尔FPGA 提供了一个全面的软件生态系统,从低级Hardware Deion 语言到具有OpenCL、C和C ++的更高级别的软件开发环境。英特尔将进一步利用MKL-DNN库,针对Intel的机器学习生态系统和传统框架(如今天提供的Caffe)以及其他不久后会出现的框架对 FPGA进行调整。基于14nm工艺的英特尔Stratix 10在FP32吞吐量方面达到峰值9.2TFLOP/s。相比之下,最新的Titan X Pascal GPU的FP32吞吐量为11TFLOP/s。 新兴的DNN算法 更深入的网络提高了精度,但是大大增加了参数和模型大小。这增加了对计算、带宽和存储的要求。因此,使用更为有效的DNN已成趋势。新兴趋势是采用远低于32位的紧凑型低精度数据类型, 16位和8位数据类型正在成为新的标准,因为它们得到了DNN软件框架(例如Tensor Flow )支持。此外,研究人员已经对极低精度的2位三进制和1位二进制 DNN 进行了持续的精度改进,其中值分别约束为(0,+ 1,-1)或(+ 1,-1)。Nurvitadhi 博士最近合著的另一篇论文首次证明了,ternary DNN可以在最著名的ImageNet数据集上实现目前最高的准确性。另一个新兴趋势是通过诸如修剪、ReLU 和ternarization 等技术在DNN神经元和权重中引入稀疏性(零存在),这可以导致DNN带有?50%至?90%的零存在。由于不需要在这样的零值上进行计算,因此如果执行这种稀疏DNN 的硬件可以有效地跳过零计算,性能提升就可以实现。 (责任编辑:本港台直播) |