如何满足不同应用场景下深度神经网络模型算力和能效需求

更新于 2017年12月25日 机器学习
我来说两句
wx:王中风   网页版 2017-12-24 21:37
深度学习 视觉 算法 应用 自然语言处理 GPU KNN 行业动态 机器人 聚类 神经网络
「国家“千人”王中风教授:如何满足不同应用场景下深度神经网络模型算力和能效需求」   新智元专栏  作者:王中风 【新智元导读】 基于神经网络的深度学习算法已经在计算机视觉、自然语言处理等领域大放异彩。但是,诸如 VGG、ResNet 和 Xception 等深度模型在取得优越性能的同时往往伴随着极高的存储空间需求和计算复杂度,而现有的通用计算平台很难实现高能效的神经网络计算。本文探讨了如何在算法层面运用量化、剪枝等方法进行模型压缩,以及设计适应于不同应用场景的高能效神经网络计算芯片/架构,从而满足深度神经网络在不同的应用场景下的算力能效需求。 基于神经网络的深度学习算法已经在计算机视觉、自然语言处理等领域大放异彩。然而,诸如 VGG、ResNet 和 Xception 等深度模型在取得优越性能的同时往往伴随着极高的存储空间需求和计算复杂度,而现有的通用计算平台(如CPU和GPU等)很难实现高能效的神经网络计算。为了满足深度神经网络在不同的应用场景(如云端和终端)下的算力和能效需求,探讨如何在算法层面运用量化、剪枝等方法进行模型压缩,以及设计适应于不同应用场景的高能效神经网络计算芯片/架构已经成为学术界和工业界近阶段的一个研究热点。 目前,基于神经网络的深度学习算法已经在计算机视觉、自然语言处理等领域取得了广泛的应用。这其中,一方面要归功于算法研究者的坚持使算法得以取得诸多突破,另一方面也是海量数据的出现和硬件运算能力的提升为算法的有效训练带来了可能。与此同时,深度学习算法的成功也反过来推动了硬件的发展。目前,硬件对深度学习算法的支持主要包括两个方面,一个是训练(Training)阶段,需要非常高的算力和大容量存储来支持大规模深度神经网络模型的训练;另一个是推理(Inference)阶段,需要将训练好的模型部署到实际的应用场景下,包括在需要高性能、高吞吐率的数据中心端提供云服务,以及在需要低功耗的嵌入式/移动终端相关的应用。 目前,使用 GPU 来进行神经网络的训练几乎已经成为了研究深度学习算法的标配。但是,在进行实际部署时,由于深度神经网络模型往往伴随着极高的存储空间需求和计算复杂度,包括GPU、CPU在内的传统通用计算平台在大多数情况下并不能满足实际模型部署对功耗和性能(或者能效比)的综合需求,这也使得一些具有更高综合能效比的硬件,如 FPGA 和面向 AI 应用的 ASIC(包括可重构ASIC)芯片逐渐获得关注。为了满足深度神经网络模型在不同的应用场景下对算力和能效的需求,一方面,可以利用现有深度神经网络模型存在内在冗余这一特性,在几乎不损失模型精度的前提下从算法层面对模型进行裁剪和优化;另一方面,也可以设计针对深度神经网络模型的计算模式进行优化的高能效硬件架构,用于加速模型的计算过程。 当然,也可以同时结合这两个方面,做算法和硬件的协同设计和优化(Joint Algorithm And Architecture, JAAA, design optimization)。 目前该领域的方法可以大概分为两类: 1.针对某些精度较高但较复杂的网络模型,通过剪枝、量化、低秩分解等措施减少模型的参数和计算量。这类方法往往能大大减少模型的复杂度,实现对参数或者计算量很高的压缩比,但其中不少方法都需要特定的硬件支持才能真正发挥其效用。此外,这里面提到的某些方法也可以用于减少模型训练过程中参数更新带来的硬件开销,加速训练过程; 2. 考虑直接设计更为高效(较少参数+低计算复杂度)的神经网络模型,同时模型的精度可以尽量接近复杂的网络模型,或是通过一些方法将复杂模型学习得到的知识迁移到小的模型上面,最终可以直接部署这些较为精简的模型。 在针对 AI 的高能效硬件架构设计方面,相关的工作大体可以分为以下几个方面: 1. 能够支持主流深度学习算法常见操作的专用处理器架构(ASIP),以及专用的深度学习指令集,如中科院计算所的 DianNao系列处理器和Cambricon指令集; 2.针对深度神经网络的数据复用方式、访存的优化:探索适合于神经网络的计算模型,在计算时通过合理的资源调度实现对神经网络计算过程高效的加速; 3. 近似计算/近似存储:利用神经网络对噪声和误差具有一定的容错性,在计算/存储过程中通过一些具有较低硬件开销的近似方法来提高网络的计算能效; 4. 新型存储结构,如通过非易失性电阻式存储器(Non-volatile Resistive Memories),实现计算和存储一体化(process-in-memory),直接在存储里面实现计算的功能; 5.软硬件协同优化:在前面模型优化方法的基础上,进一步设计相应的硬件架构,使得诸如剪枝、量化等模型压缩方法的效果可以被充分的利用; 在这波 AI 浪潮中,国内也有不少高校和研究机构从事相关的研究,并在国际上取得了可观的影响力。相应技术的落地也催生了不少 AI 芯片/加速器的初创公司,包括寒武纪科技、地平线机器人、深鉴科技等。作者的团队(南京大学 ICAIS 实验室)也在这方面取得了一些突出成果,包括: 基于有限冲击响应算法的高效可配置快速卷积单元 • 基于并行快速有限冲击响应算法(FFA)对卷积计算进行算法强度缩减,理论推导了3并行、5并行和7并行等N-并行的快速卷积算法。设计了能高效完成3×3和5×5卷积计算的快速卷积单元(FCU)。进一步地,针对目前主流的CNN卷积核大小,设计了可以高效实现各种常见卷积操作的可配置卷积单元,并在硬件利用率、功耗和可配置性之间达到了最优的平衡。所设计的硬件结构可以配置实现2×2到12×12所有尺寸的卷积操作。 等间隔/K平均聚类非均匀定点量化方法 • 提出了等间隔非均匀定点量化(Equal Distance Intra-Layer Non-Uniform Quantization)和K平均聚类非均匀定点量化(K-means Cluster Intra-Layer Non-Uniform Quantization)两种量化方法,可以大大降低卷积神经网络中activation的存储需求。相比于已有的针对activation的量化方法,可以在不损失精度的情况下提高压缩率2倍以上。 深度卷积神经网络高效硬件架构设计与实现 • 基于上述的FCU和动态计算流程,提出了高效的卷积神经网络处理和存储架构。基于 VGG16的测试结果表明,所提出的层内按行交替存储和层间轮回复用的方式相比于传统按层顺序计算的存储架构可以节省大约14倍的片上存储资源,在同样的平台下资源利用率比同类设计高出2倍以上。 适用于嵌入式系统的高能效二值参数卷积神经网络硬件架构 • 提出了一种高能效的二值参数卷积神经网络的硬件架构。该架构利用了二值参数网络的鲁棒性等特点,引入了多种近似计算技术。此外,该架构还采用了一种优化的计算流程,最大程度地减少了访问DRAM的次数和带宽需求。该架构在65nm工艺下能够达到约2.08TOp/s/W的能量效率(已考虑片外DRAM访存功耗)。相比于已有的二值网络ASIC实现在能效方面有超过2倍的提升。  递归神经网络的模型压缩与硬件架构设计 • 在算法层面,通过在递归神经网络(RNNs)中引入结构化的参数矩阵(如循环矩阵),参数量减少为原来的 25%;进一步结合前向激活函数近似,以及根据 RNN 中不同参数矩阵对量化的敏感程度上的差异,混合使用均匀量化和基于对数域的非均匀参数量化方法,在基本不损失模型预测精度的前提下均取得了超过20倍的参数压缩率,计算复杂度也大大降低。 其它相关研究 此外团队还研究了高能效的能耗-精度可伸缩(Energy-Quality Scalable)的卷积神经网络硬件加速器结构,基于隐私保护(Privacy-Preserving)的深度学习算法及其硬件架构,基于张量分解(Tensor Decomposition)的神经网络的嵌入式硬件架构, 以及递归神经网络的负载均衡(Load-Balance)稀疏化方法等等。上述成果多数已经在IEEE Xplore 在线发表。 随着学术界和工业界对人工智能技术持续大力的推动,可以肯定的是在未来相当长的时间内,面向应用的基于算法和硬件架构联合优化方面的研究将会得到更加广泛的关注和加速的发展。 王中风博士八十年代初自学考入清华大学,硕士毕业后赴美深造并获得博士学位。是国家 “千人计划”特聘专家和IEEE Fellow。王博士曾经担任美国博通公司技术副总监,是超大规模集成(VLSI)电路设计领域里的国际知名专家,在国际会议和期刊上发表过150余篇学术论文,拥有数十项美国专利和发明,曾获IEEE电路与系统学会2007年度VLSI 会刊的最佳论文奖。2016年全职回国后加入南京大学电子科学与工程学院,现任微电子学院副院长。 南京大学集成电路与智能系统(ICAIS)实验室组建于2015年底。目前,团队一方面继续在其传统优势领域,例如高速通信系统的设计与实现方面,深入发展;同时在一些新兴领域,例如硬件安全系统和人工智能系统的设计方面,努力开拓。特别是2016年以来团队在深度学习算法的模型压缩和高能效硬件加速器设计方面取得了诸多技术性突破,2017年该团队在IEEE电路与系统学会的主流期刊上共发表三篇长文(regular paper)。同年王博士在深度学习的硬件实现(VLSI for Deep Learning)方面合作的IEEE一类期刊论文达到四篇,在国际同行中处于领先。  via: http://mp.weixin.qq.com/s?__biz=MzI3MTA0MTk1MA==&mid=2652010532&idx=2&sn=9a983619c1e1984f3cf42c2a375714e0&scene=0#wechat_redirect

 

回复