人大人科创
张江-硅谷创新创业平台

人工智能领域简报(第14期)——AI芯片发展助力人工智能腾飞

AI芯片发展助力人工智能腾飞

陈海燕


70多年来,为满足快速增长的计算需求,高性能计算机相继经历了电子器件变革、系统结构变革、计算模式变革等三个发展阶段,运算性能快速提高,(特别是GPU在大规模并行计算中的应用,)大幅提升了深层神经网络的训练效率,极大推动了人工智能的发展(满足了深度学习等机器学习算法“在有限时间内完成大量数据训练”的高强度大数据处理需求)。



1:高性能计算机发展历史(左图)、体系结构发展(右图)

目前,神经网络加速大致可以分为四种形式(CPUGPUFPGAASIC:(1已经成型的CPUDSP(数字信号处理器,而非领域专用处理器)通过以扩展SIMD为主要加速方式;(2)新近发展的GPUFPGATPUASIC等参见例1。

1四种形式神经网络加速对比

“目前主流计算机微处理器普遍采用冯诺依曼结构”的情况下,(虽然日本富士通2009年采用超细微化技术,在50px2的集成电路片上集成8个中枢电路,成功研制出“每秒可运算1280亿次[是同期英特尔CPU2.5]、高度节能[是同期英特尔CPU电力消耗的三分之一]”的“维纳斯”CPU,但)受半导体物理技术和功耗(目前,CPU主频达到CPU工艺的极限,且随着主频的提高,系统功耗不断上升)、计算效率(对于主频相同的单核和双核处理器,处理相同任务量时,单核处理的等待时间是双核的100倍)的限制,微处理器运算速度的提高已经趋于缓慢,基于多核处理器或者集群计算机的并行计算技术逐渐成为提高计算机运算性能的主要手段(,由于对计算机图像处理需求的不断增强,长于并行计算的GPU成为计算机标配的部件之一)。

2:世界上速度最快的CPU——SPARC64TM VIIIfx

不过,由于并行计算设备中的微处理器同样受冯诺依曼瓶颈的制约,在处理(图像分析等)数据密集型问题时,计算速度和性价比不理想(在深度学习计算领域,虽然GPU的性能明显优于CPU,但面向GPU的软件开发依然滞后),各大科研机构和芯片厂商都在探索(FPGA、神经元芯片等)基于异构计算模式的AI芯片,希望该类专门用于加速人工智能应用的AI-PU未来像GPU一样成为计算机的标配。但由于系统功耗限制(功耗墙)、欠缺和芯片结构匹配的软件算法,想要(在E级系统等)高性能计算机中发挥这些专用芯片的计算效率优势,只有在异构计算模式下采用(量子计算、光计算、DNA计算等)新的计算原理、开发高性能算法和大规模并行软件。

1:几种新的神经网络加速

1GPU:并行计算能力突出

1999年,英伟达发布了(专为执行复杂的数学和几何计算的)GeForce256图像处理芯片,将更多的晶体管用作执行单元(而不是像CPU那样用作复杂的控制单元和缓存)。之后几年,GPUGraphics Processing Unit,图形处理单元)技术快速发展,运算速度迅速超过CPU2007年,英伟达发布了新的开发环境CUDAComputer United Device Architecture,计算统一设备架构),使得GPU(打破图形语言的局限而)成为真正的并行数据处理超级计算机。

GPGPUGeneral Purpose Graphics Processing Unit,通用图形处理单元)可以实现非图形的通用计算,该技术的主流平台包括(英伟达的)CUDA(目前最成熟、实用化程度最高的平台)、(AMD的)流计算(Stream Computing)、(Apple的)开放设计语言(OpenCL)。

    

3CPUGPU运算性能发展对比(左图)、典型GPGPU的内存架构(右图)

2现场可编程门阵列(FPGA):低功耗场景凸显优势

基于FPGAsField Programmable Gate Arrays,现场可编程门阵列)的可重构技术由一系列通用逻辑器件组成,通过编程赋予这些器件特定的功能,从而实现SIMDMLMD等指令计算。FPGA可以直接下载用户现场设计的数字电路,芯片中的每个逻辑门在每个时钟周期都同时进行着某种逻辑运算,非常适合用于开发并行计算应用。

FPGA架构灵活,协处理器可以直接插在CPU插座上(从而扩展了其应用领域)、或将可以集成到PowerPC处理器中(IBM的努力方向),使得研究者能够在诸如GPU的固定架构之外进行模型优化探究;FPGA设计工具使其对深度学习领域经常使用的上层软件兼容性更强,使得FPGA更容易为模型搭建和部署者所用。同时,FPGA 在单位能耗下性能更强。目前,FPGA已被成功地应用到分子动力学、基因组测序、神经网路、图像处理、机器博弈等领域,取得了不错的应用效果。

4FPGA芯片概念图

3ASIC:有望成为主流趋势

张量处理器(TPU)是谷歌为其TensorFlow等机器学习应用打造的ASICApplication Specific Integrated Circuits,专用集成电路)芯片,其核心是一个655368位矩阵乘单元阵列(matrix multiply unit)和片上28MB的软件管理存储器,峰值计算能力为92 TeraOp/sTOPS)。TPU针对响应延迟设计,其确定性执行模块能够满足Google神经网络应用上99%相应时间需求。TPU近两年来(在谷歌数据中心)的使用情况表明:由于TPU采用8位运算器使单位面积的芯片能摆放更多的运算器、大大降低了对内存带宽的需求,在推理方面的性能要远超过GPU(尽管在一些应用上利用率很低,但,可在相同时间内处理更复杂、更强大的机器学习模型并将其更快投入使用。

不过,虽然脉动阵列架构处理卷积比较高效,但直接把模型降到8位,可能会带来不可控的识别精度丢失,在其他一些workload上效率可能又不大好。

5TPU模块图(左图)、TPU(蓝线)GPU(红线)CPU(金线)的性能功耗比(右图)

4、神经元芯片

为了经济地、标准化地实现LonWorks技术的应用,Echelon公司设计了(模拟人脑神经元结构的)神经元芯片。该类芯片把数字处理器当作神经元、把内存作为突触,(不同于传统冯依曼结构,该芯片)将多个处理器、读写/ 只读存储器(RAM/ROM通信和I/O接口集成在一起,使得信息处理得以本地化,(由于本地处理的数据量不大,因而)解决了传统计算机内存与CPU之间的瓶颈。此外,大部分LonWorks设备具有的(相同的、内置的、实现LonWorks协议的神经元芯片解决了99%兼容性问题,也使得同一网络上的LonWorks设备只需要很少或者不需要额外的硬件设备,就可相互连接

目前,美国Cypress半导体公司日本东芝公司(等Echelon的伙伴)负责所有神经元系列产品的设计和制造

6IBM神经元芯片