这篇论文设计了一种能有效处理稀疏网络的深度学习加速器——Cambricon-X,该加速器在将神经元送入计算单元处理前对非零神经元逐个标记,虑除零值神经元,计算单元内部的权值 buffer 只存放非零神经元对应的权值数据,从而消除多余计算和权值存储。在通用性方面,只需跳过神经元标记、虑除步骤即可按普通计算方法对非稀疏神经网络进行处理,通用性较强。与此同时,配套的编程框架中提供了调用加速器的高级语言编程接口和用来描述加速器行为的底层指令,设计者可以在 Caffe 中无缝使用加速器,易用性较好。 【点评】Cambricon-X是首个稀疏神经网络加速器,该项工作是对该团队研究的系列工作DianNao、DaDianNao等的拓展和完善。当前使用剪枝技术消除深度学习中的冗余计算十分流行,针对DianNao等深度学习加速器在处理剪枝后稀疏网络时体现出的乏力,Cambricon-X针对稀疏神经网络的计算模式和访存特性,设计专门的神经元Index引擎来选择需要计算的神经元,进而在有限的带宽要求下实现高性能和高能效的神经网络加速。该加速器通过加入简单逻辑模块使过去常用深度学习加速器能够与剪枝技术相融合,在有效处理稀疏网络的同时不失处理一般网络的通用性,并且两种处理模式的性能和能耗均大幅优于 CPU、GPU、DianNao 等现有技术。 3 From High-Level Deep Neural Models to FPGAs 摘要 《从高层次深度神经网络模型到FPGAs》来自佐治亚理工Hadi Esmaeilzadeh教授的团队。文章认为FPGA由于其可编程和低功耗等特性在加速深度神经网络(DNN)中扮演重要角色,但在FPGA上实现高性能与低能耗并非易事,尤其在深度神经网络超大内存使用和FPGA有限片上内存的情况下。本文提出并设计可以根据高层次神经网络模型自动生成可综合FPGA加速器的框架(framework)DnnWeaver。该框架使用DNN专用指令集使其可采用Berkeley Caffe等价的编程接口。同时开发针对FPGA的底层优化模板设计,并根据设计需求扩展成DNN加速器。 【点评】文章所提出框架可加快深度神经网络在FPGA上的实现并更易尝试不同的优化设计。从高层综合(HLS)相比DnnWeaver利用底层优化模板的设计方法,可以得到更优的加速器设计。与此同时,DNN加速器的重点转移到优化模板的设计上。FPGA厂商或第三方如能开发优化的底层实现库和编译器等技术,使用FPGA加速神级网络将会有更大的突破。 4 vDNN: Virtualized Deep Neural Networks for Scalable, Memory-Efficient Neural Network Design 摘要 这篇论文来自于英伟达NVIDIA,当下比较流行的深度学习框架诸如 Caffe、Torch、Theano 和 TensorFlow 均需要用户非常注意地控制 GPU 板载显存(VDRAM)的使用量。这个限制的存在使得用户不得不转投使用显存需求少的神经网络模型或者使用多块GPU并行处理网络训练。为了能够更充分地利用有限的 GPU 板载显存进行深度神经网络训练,本文提出了一个针对神经网络应用的运行时内存管理器(称为“虚拟化DNN”/vDNN),使得深度神经网络训练时可以被同时映射到 CPU 内存和 GPU 板载显存上,并最大限度地保证训练速度。部署 vDNN 之后,AlexNet GPU内存平均使用率降低了 89%,OverFeat 降低了91%,GoogLeNet 降低了95%。同时,对于一些原本不能在单块 GPU 上训练的网络(例如 VGG-16 在 batch size 为 256 时需要 28GB 的存储空间)也可以在搭载 12GB 板载显存的 Titan X GPU上完成训练,照比无限大板载显存的 GPU 模型仅损失 18% 的训练速度。 【点评】本文的亮点在于对 DNN 训练和预测(inference)在存储空间的需求上做了非常深入的分析。DNN预测过程不需要保存各层神经元的输出结果,但由于训练时各层的结果需要在反向传播中使用,必须保存直到该次迭代结束。作者提出的内存管理器可以将暂时不需要被使用的输出结果转移到CPU内存当中,待到需要时再将其复制到GPU板载显存当中。由于反向传播各层顺序正好是正向传播的倒转,因此可以利用这一特性对数据传输进行优化。 5 Stripes: Bit-Serial Deep Neural Network Computing 摘要 (责任编辑:本港台直播) |