深度学习ppt幻灯片课件.ppt
1,深度学习及其硬件加速,2,报告提纲,深度学习硬件加速方式,2,3,人工智能为机器赋予人的智能,人工智能、机器学习与深度学习,人工智能,机器学习,深度学习,1950s 1960s 1970s 1980s 1990s 2000s 2010s,模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的技术科学;让机器象人一样思考应用:国际跳棋程序,人工智能的分支,研究机器模拟或实现人类的学习行为,以获取新的知识技能,并改善自身性能应用:垃圾邮件过滤,一种机器学习方法,模拟人脑机制解释数据,通过组合低层特征形成更加抽象的高层属性类别或特征应用:谷歌视频寻猫,4,训练阶段:输入大量带标注动物图片,训练网络学会辨别推理阶段:输入未标注图片提取图片内容的低层特征,如轮廓分析提取高层的结构特征,如四肢分析获得顶层的抽象概念,如动物类型基于前期训练结果,预测图片内容,深度学习的流程,5,深度学习典型算法为卷积神经网络,以2层卷积为例,算法为:输入图像与滤波器、偏置进行卷积,产生卷积层的特征映射图卷积层特征映射图经求和,加权值,偏置,函数处理得到采样层采样层重复上述流程处理后产生新的采样层全连接层提取归类获得足够好的高层特征表达信息,深度学习的算法,6,一层卷积学到的特征是局部的,层数越高,特征就越全局化。卷积和采样具体过程为:卷积过程:滤波器fx卷积输入图像后,加偏置项bx,得卷积层Cx采样过程:每邻域4个像素求和得一个像素,通过标量Wx+1加权,加偏置项bx+1,通过sigmoid激活函数产生缩小4倍的特征图Sx+1,深度学习的算法,7,深度学习开源框架层出不穷,用来实现深度学习算法避免重复工作,降低算法门槛Google、Microsoft、Facebook 等均发布深度学习框架谷歌TensorFlow占绝对优势强大的人工智能研发水平、快速的迭代更新,深度学习的开源框架,8,谷歌2015年底发布开源深度学习框架TensorFlowTensor(张量):多维数组在高维空间的数学运算Flow(流):基于数据流图的计算TensorFlow关键特性代码简洁多语言支持分布式算法执行效率高移值灵活伸缩性好支持多种神经网络算法,深度学习的开源框架,9,报告提纲,深度学习硬件加速方式,2,10,深度学习硬件加速方式,当前深度学习硬件加速方式主要有 CPU、GPU 、FPGA 、DSP、ASIC,11,深度学习硬件加速方式CPU,通用级加速方式,高度灵活性和易用性架构上有先天弱势运算能力较弱访存带宽受限代表:Intel Xeon Phi系列芯片、高通骁龙820案例:Google Brain项目用16000个CPU Core的并行计算平台保证训练算法速度,通过观看YouTube的视频,识别出猫,12,SIMD方式,计算能力强,并行度支持好通用性,并非针对深度学习运行效率受影响能耗仍较大代表: NVIDIA Tesla P100 GPU案例:基于GPU深度学习加速受到谷歌、微软、IBM以及百度等企业青睐;在汽车和先进驾驶辅助系统(ADAS)方面与众多车企进行合作,深度学习硬件加速方式GPU,13,能效较高且硬件配置灵活顶级GPU性能的1/5,能效相当相比CPU,性能提升1个数量级,能效提升2个数量级增长的门资源和内存带宽带来更大的设计空间省去ASIC方案所需流片过程代表:DeephiTech(深鉴科技)、Xilinx 、Altera案例:微软用Altera FPGA 实现基于卷积神经网络的数据中心加速,效能优异。算法用于图像分类、图像识别及自然语言处理,深度学习硬件加速方式FPGA,14,用传统SIMD/DSP架构来适配运算逻辑作修改,以适用卷积神经网络对深度学习全面计算能力支持不足核心数量较少,并行性支持较差代表:Cadence的Tensilica Vision P5处理器、Synopsys的EV处理器、中星微视频处理芯片星光智能一号案例:星光智能一号广泛应用于高清视频监控、智能驾驶辅助、无人机、机器人等嵌入式机器视觉领域,深度学习硬件加速方式DSP,15,阻碍深度学习发展的瓶颈仍是算法速度传统处理器需要多条指令才能完成一个神经元的处理ASIC根据深度学习算法定制:处理效率、能效均最高代表:Cambricon(寒武纪科技)DianNao芯片、谷歌的TPU芯片、Horizon Robotics(地平线机器人)BPU芯片案例:基于TPU的AlphaGo与围棋冠军李世石人机大战,总比分4:1获胜,深度学习硬件加速方式ASIC,16,深度学习硬件加速方式比较,17,上述均为基于深度学习的加速芯片。作为人工神经网络芯片,还有另外一支,是从类似或模拟生物神经系统来实现的神经形态网络芯片(类脑芯片)代表:IBM TrueNorth(真北)、Brainchip等,其他人工神经网络芯片,18,报告提纲,深度学习硬件加速方式,2,19,IBM,2014年发布能模拟人类大脑的超大规模神经突触芯片TrueNorth基于类似人脑、非冯诺依曼的计算架构含有100万神经元,通过 2.56 亿个突触彼此通信4096个神经突触,每秒可执行 46 千兆突触运算三星28nm工艺,54亿晶体管,功耗仅为70mW,典型神经网络芯片IBM TrueNorth,20,TrueNorth芯片结构、功能、物理形态图,典型神经网络芯片IBM TrueNorth,21,人脑分成三个层次神经突触、脑功能区和脑皮层每个突触由诸多神经元组成,每个脑功能区由诸多突触组成,一个能完整执行任务的皮层由诸多个功能区组成TrueNorth芯片架构对应分为三个层次突触对应硬件neurosynaptic core,有256个输出与输入及对应的存储,并集成神经信号的路由器芯片有4096个core,组成脑功能区芯片与芯片间互联,实现完整的脑皮层功能TrueNorth基于脉冲神经网络设计,采用1KHz帧时钟模拟生物上的脉冲,因而没有全局时钟控制的信号传递;数据和数据之间采用异步方式通讯,实现低功耗。,典型神经网络芯片IBM TrueNorth,22,IBM用48块TrueNorth芯片构建一个电子的啮齿类动物大脑,每一块芯片都可以模拟大脑的一个基本功能区。系统可模拟4800万个神经细胞,与小型啮齿动物大脑的神经细胞数齐平基于该模拟大脑编写的程序可识别照片和语音,并理解一些自然语言,典型神经网络芯片IBM TrueNorth,23,2016年12月,IBM公布了TrueNorth芯片的最新成果美国陆军研究实验室利用TrueNorth芯片的低功耗和实时模式识别特性,帮助在部署数据收集时,减少延迟、降低数据复杂性、减少传输宽带需求,同时解决分布式系统终端的数据存储需求美国空军研究实验室利用TrueNorth横向扩展系统来执行并行数据的文本提取和识别任务。图像文本被分割成单独的字符后被TrueNorth系统进行并行字符识别。归类之后的结果将会被传送到基于推理的自然语言模型中来重建单词和句子劳伦斯利弗莫尔国家实验室训练一个16块TrueNorth芯片组成的网络追踪激光熔化机的焊点质量,可以识别7种等级。实时焊点质量监控使得闭环工艺改进和立即排除缺陷部件成为可能,典型神经网络芯片IBM TrueNorth,24,对TrueNorth的评价不同于冯诺依曼架构,将处理、存储、通信集成在一起尝试在硅片中模仿人脑以大规模平行方式处理信息向社会步入认知计算机时代迈出重要一步短期看,TrueNorth情况不乐观生态系统差编程困难缺乏高效的训练算法不具备调整的灵活性,典型神经网络芯片IBM TrueNorth,25,2016年中科院计算所正式发布神经网络处理器寒武纪针对深度学习领域的专用芯片性能、功耗和面积上,比CPU/GPU有百倍优势寒武纪系列已包含四种原型处理器:寒武纪1号(英文名DianNao,面向神经网络的原型处理器结构)寒武纪2号(英文名DaDianNao,面向大规模神经网络)寒武纪3号(英文名PuDianNao,面向多种机器学习算法)寒武纪4号(英文名ShiDianNao,面向视频处理特定领域)配套首个深度学习指令集Cambricon(DianNaoYu)直接面对大规模神经元和突触的处理一条指令即可完成一组神经元的处理对神经元和突触数据传输提供一系列支持,典型神经网络芯片寒武纪DianNao,26,片上存储:芯片内含三块片上存储,用于存储input的NBin、output的NBout和神经网络模型权重参数的SB;片上存储与片外通过DMA通信运算逻辑:核心计算部件为由三级流水线组成NFUNFU和片上存储的时分复用:运行时,网络模型参数依次被加载到SB,每层神经layer的输入数据被依次加载到NBin,layer计算结果写入到NBoutNFU里基础计算不会与具体 的神经元或权重参数绑定灵活性和尺寸相较于全硬件 方案有明显改进,典型神经网络芯片寒武纪DianNao,27,DianNao是寒武纪系列的第一个原型处理器结构单核,主频0.98GHz,峰值性能每秒4520亿次神经网络基本运算65nm工艺,面积3.02mm2,功耗0.485W,性能超主流CPU核100倍,面积和功耗仅为1/10性能与主流GPU相当,面积和功耗仅为1/100,典型神经网络芯片寒武纪DianNao,28,DaDianNao在DianNao的基础上进一步扩大处理器的规模16个处理器核和更大的片上存储多芯片间直接高速互连,避免内存访问开销28nm 工艺,主频606MHz,面积67.7mm2,功耗16W性能超过主流GPU 21倍,能耗仅为主流GPU的1/330,典型神经网络芯片寒武纪DianNao,29,多用途机器学习处理器PuDianNao支持k-最近邻、支持向量机、神经网络等近十种代表性机器学习算法主频为1GHz,峰值性能每秒10560亿次基本操作65nm工艺,面积3.51mm2,功耗0.596W性能与主流GPU相当,面积和功耗仅为主流GPGPU百分之一量级,典型神经网络芯片寒武纪DianNao,30,2016年成果ShiDianNao传感器可直接对图像进行流式识别处理,消除对图像的读写操作用比较小的卷积神经网络在芯片上处理,消除对模型的读写操作65nm工艺,面积4.86mm2,功耗0.32W性能与CPU/GPU/专用加速器比,有50/30/2倍的提升,典型神经网络芯片寒武纪DianNao,31,应用案例:ShiDianNao在系统中进行深度学习的模式识别,经训练后具有类似人脑的识别能力,可从图像中识别出猫正在进行商业化推广,将寒武纪IP盒子或芯片嵌入到传统手机或个人电脑主板,极大提高处理速度,典型神经网络芯片寒武纪DianNao,32,寒武纪系列芯片的技术突破:突破了内存带宽的主要性能瓶颈,通过 EDRAM 技术及多芯片互联,保证神经网络模型完整放于片上,完全无需访问内存 突破了片上通讯导致的延迟和功耗,分成的每块内部包含运算部件、神经元数据、突触数据,可以减少 90% 以上片上通讯时间 突破了机器学习算法、变种众多的困难,采用可编程 VLIM 处理其结构以及灵活的运算部件,支持几乎所有现有的主流机器学习算法,典型神经网络芯片寒武纪DianNao,33,2016年谷歌透露其机器学习专用芯片张量处理器TPU,并于2017年4月官方详细介绍TPU专为深度学习框架TensorFlow进行的ASIC设计脉动阵列处理结构:数据向运算阵列传递和处理有严格流程规定处理峰值92TOPS,比 GPU 和 CPU 快 15 到 30 倍功耗75W,能效比 GPU 和 CPU提升了30 到 80 倍,典型神经网络芯片谷歌TPU,34,针对深度学习的定制化设计主要计算部件是黄色256*256的8位矩阵乘法单元、非线性神经元计算单元(Activation),及用于归一化和池化的计算单元输入是蓝色的权重数据队列FIFO和蓝色的统一缓冲(Unified Buffer)输出是蓝色的累加器(Accumulators)归一化和池化计算单元的运算数据返回统一缓冲区,典型神经网络芯片谷歌TPU,35,大规模片上内存蓝色为数据缓存:37%,24MB的局部内存,4MB的累加器内存及用于与主控处理器进行对接的内存黄色为计算单元:30%绿色为I/O端口:10%红色为控制逻辑:2%,典型神经网络芯片谷歌TPU,36,脉动(Systolic)阵列处理结构最早由美籍华人计算机科学家孔祥重等提出矩阵乘法和卷积运算中数据是可复用的,同一数据需和不同权重相乘并累加。不同时刻,数据输入只有少数新数据需从外面获取,多数数据是上一时刻数据的移位脉动式数据流,最大化数据复用,减小内存访问次数、内存带宽压力和访存能量消耗,典型神经网络芯片谷歌TPU,37,脉动阵列处理结构进行矩阵乘法运算的过程a11每次向右移一格,依次与b11、b12、b13相乘b11每次向下移一格,依次与a11、a21、a31相乘以此类推,典型神经网络芯片谷歌TPU,38,低精度(8bit)计算使用低精度而非32bit全精度浮点计算已成深度学习界共识低精度运算准确率损失小,硬件上功耗、运算速度、运算单元面积、内存带宽需求受益明显TPU被设计为在PCIe I / O总线上的协处理器像GPU一样直接接入数据中心主机服务器发送TPU指令来供其执行,典型神经网络芯片谷歌TPU,39,TPU指令共十余条,遵循CISC指令传统,其中有5条关键指令读主机存储:从CPU主存读数据到统一缓冲读权重Read_Weights:从权值存储器读权值数据到权值队列,作为矩阵单元的输入矩阵乘/卷积MatrixMultiply/Convolve:驱动矩阵单元执行一次矩阵乘或一次卷积,将统一缓冲中的数据计算并输出到累加器激活Activate:执行人工神经的非线性函数,输入是累加器结果,函数计算后输出到统一缓冲。同时也执行卷积所需池化操作写主机存储Write_Host_Memory:将数据从统一缓冲写回CPU主存其他指令:备用主机内存读/写,设置配置,同步,中断主机,调试,空操作和停止,典型神经网络芯片谷歌TPU,40,谷歌TPU与英特尔Haswell Xeon E5 处理器和英伟达 K80的对比TPU使用8位整数数学运算器,拥有256GB主机内存及32GB内存,内存带宽最大34GB/秒,处理速度达92 TOPS TPU芯片工作功耗40W,服务器工作功耗384WTPU各方面表现要强于前两者,典型神经网络芯片谷歌TPU,41,CPU、GPU和TPU处理不同批量大小推理任务的吞吐量批量大小为200,响应时间为7毫秒时,提供225000个IPS运行推理基准,是其峰值性能的80批量大小为250,响应时间为10毫秒时,提供280000个IPS运行推理基准,达到峰值性能,典型神经网络芯片谷歌TPU,42,GPU服务器、TPU服务器、CPU服务器的能效比对比其中,TPU是改进版的TPU;总和(Total)包含主机CPU服务器功耗,增量(incremental)减去主机CPU服务器功耗;GM和WM分别是几何学图形与加权平均值总和能效比,TPU是Haswell的17倍到34倍,是K80的14倍到16倍增量能效比,TPU比CPU高41倍到83倍,比GPU高25倍到29倍,典型神经网络芯片谷歌TPU,43,服务器单芯片功率,跟随神经网络平台负载变化的情况其中,服务器具有2颗CPU芯片与8颗GPU芯片或者4颗TPU芯片,通过归一化处理,处理为单芯片功率在100%负载下,CPU服务器加上4颗TPU增加功耗少于20%,但运行神经网络速度比单CPU服务器快80倍(4个TPU对比2颗CPU),典型神经网络芯片谷歌TPU,44,在Google数据中心,TPU的应用案例有:人工智能系统RankBrain,用来帮助谷歌处理搜索结果街景Street View,用来提高地图与导航的准确性下围棋的计算机程序AlphaGo,起初跑在CPU+GPU上,在2015年10月和樊麾比赛时使用,当时李世石看到对弈过程后对人机大战很有信心。几个月后的2016年3月,谷歌把运行AlphaGo硬件平台换成TPU,对战局势变得艰难,AlphaGo程序以4:1的总比分获胜;随后该程序在棋类网站上以Master为帐号与中日韩围棋高手进行快棋对决,连续60局无一败绩,典型神经网络芯片谷歌TPU,45,TPU 的性能优越的原因:针对深度学习的定制化研发大规模片上内存: 24M局部内存,6M的累加器内存低精度(8bit)计算:功耗、速度、运算面积、带宽优势脉动阵列结构:最大化数据复用,减少内存访问软硬件持续优化预测谷歌TPU不会替代GPU和CPUTPU是一款推理芯片,训练仍借助其他芯片TPU通用性太差,谷歌表示不会售卖TPU英伟达宣称最新产品P80推理性能比TPU强2倍,典型神经网络芯片谷歌TPU,