人工智能芯片(一):发展史
人工智能芯片(一):发展史
人工智能算法的实现需要强大的计算能力支撑,特别是深度学习算法的大规模使用,对计算能力提出了更高的要求。深度学习模型参数多、计算量大、数据的规模更大,在早期使用深度学习算法进行语音识别的模型中,拥有429个神经元的输入层,整个网络拥有156M个参数,训练时间超过75天;人工智能领军人物Andrew Ng和Jeff Dean打造的Google Brain项目,使用包含16000个CPU核的并行计算平台,训练超过10亿个神经元的深度神经网络。下一步,如果模拟人类大脑的神经系统,需要模拟1000亿个神经元,计算能力将有数个量级的提升。
除此之外,随着以智能手机为代表的移动终端快速发展,人们也希望将人工智能应用于移动终端,而这对硬件的计算能力和能耗提出了更高的要求。传统实现移动终端人工智能的方法是通过网络把终端数据全部传送到云端,之后在云端计算后再把结果发回移动端,例如苹果的Siri服务。
然而,这样的方式会遇到一些问题:第一,使用网络传输数据会产生延迟,很可能数据计算的结果会需要等待数秒甚至数十秒才能传回终端。这样一来,那些需要立刻得到计算结果的应用就不能用这种方式。
例如无人机上使用的深度学习躲避障碍物算法,ADAS系统中使用的图像识别算法等,如果计算过程不是本地进行而是依赖云端,那么云端和终端的通讯延迟、可靠性等问题有可能对汽车和无人机造成非常严重的后果。
第二,一旦使用网络传送数据,那么数据就有被劫持的风险。因此,那些要求低计算延迟以及对于数据安全性非常敏感的应用就需要把人工智能算法全部在终端实现,或者至少在终端完成一些预处理运算然后再把少量运算结果(而不是大量的原始数据)传送到云端完成最终计算,这就需要移动终端硬件能够快速完成这些运算。因此,移动端硬件完成这些运算必须同时满足高速度和低功耗的要求。
针对这些需求,人工智能核心计算芯片也经历了四次大的变化。2007年以前,人工智能研究和应用经历了数次起伏,一直没有发展成为成熟的产业;同时受限于当时算法、数据等因素,这一阶段人工智能对于芯片并没有特别强烈的需求,通用的CPU芯片即可提供足够的计算能力。
之后,由于高清视频、游戏等行业的发展,GPU产品取得快速的突破;同时人们发现GPU的并行计算特性恰好适应人工智能算法大数据并行计算的要求,如GPU比之前传统的CPU在深度学习算法的运算上可以提高9倍到72倍的效率,因此开始尝试使用GPU进行人工智能的计算。
进入2010年后,云计算广泛推广,人工智能的研究人员可以通过云计算借助大量CPU和GPU进行混合运算,事实上今天人工智能主要的计算平台还是云计算。但人工智能业界对于计算能力的要求不断快速地提升,因此进入2015年后,业界开始研发针对人工智能的专用芯片,通过更好的硬件和芯片架构,在计算效率上进一步带来10倍的提升。
人工智能核心计算芯片发展趋势
目前,根据计算模式,人工智能核心计算芯片的发展分为两个方向:一个是利用人工神经网络从功能层面模仿大脑的能力,其主要产品就是通常的CPU、GPU、FPGA及专用定制芯片ASIC。
另一个神经拟态计算则是从结构层面去逼近大脑,其结构还可进一步分为两个层次,一是神经网络层面,与之相应的是神经拟态架构和处理器,如IBM的TrueNorth芯片,这种芯片把数字处理器当作神经元,把内存作为突触。
与传统冯诺依曼结构不同,它的内存、CPU和通信部件完全集成在一起,因此信息的处理完全在本地进行,克服了传统计算机内存与CPU之间的瓶颈。同时神经元之间可以方便快捷地相互沟通,只要接收到其他神经元发过来的脉冲(动作电位),这些神经元就会同时做动作。二是神经元层面,与之相应的是元器件层面的创新。如IBM苏黎世研究中心宣布制造出世界上首个人造纳米尺度随机相变神经元,可实现高速无监督学习。
从人工智能芯片所处的发展阶段来看,从结构层面去模仿大脑运算虽然是人工智能追求的终极目标,但距离现实应用仍然较为遥远,功能层面的模仿才是当前主流。因此CPU、GPU和FPGA等通用芯片是目前人工智能领域的主要芯片,而针对神经网络算法的专用芯片ASIC也正在被Intel、Google、英伟达和众多初创公司陆续推出,并有望将在今后数年内取代当前的通用芯片成为人工智能芯片的主力。
楼主最近还看过