GPU为什么能驱动人工智能,是否会被仿脑芯片取代?

本文介绍了为什么AI要采用GPU而不是CPU进行计算,并展望了未来——仿脑计算是否会迎头赶上?

Google和Facebook开源了人工智能产品的计算硬件。这些人工智能算法驱动了Google的搜索和推荐功能,以及Facebook的人工助理M——当然了,还有广告定位。

Facebook的计算机服务器名为 Big Sur,是由图像处理单元(GPU)组成,这正是PC机上用来玩最新3D电子游戏的显卡。驱动Google TensorFlow的人工智能硬件也同样如此。那么,为什么人工智能计算需要构建在图像处理器上,而不是主流的计算机处理器上呢?

最初,GPU是设计来配合计算机的CPU(中央处理器),以承担图像的计算任务。渲染3D图像场景是一个并行计算任务。由于图像中各区域之间没有联系或依赖关系,因此,这个任务可以轻易地被拆解成若干个独立的任务,每个任务可以同时并行——这样也可以加快速度。

正是这种并行计算让GPU厂商为GPU找到了完全不同的新用途。通过优化GPU,它们可以完成庞大的并行计算任务。于是,GPU变成了专门运行并行代码的处理器,而不仅仅只是用来处理图像。而CPU则始终被用来完成单线程任务,因为大多数通用软件依然是单线程。

CPU通常有单核、双核、四核或八核,而GPU则不同,它可以有成千上万核。比如说,Facebook服务器中使用的 NVIDIA Tesla M40有3,072个所谓的CUDA cores。然而,这种庞大的并行能力需要付出代价:必须编写专门的软件才能利用这样的优势,而GPU很难编程。

为什么GPU很适合人工智能?

GPU之所以会被选为超算的硬件,是因为目前要求最高的计算问题正好非常适合并行执行。

一个主要的例子就是深度学习,这是人工智能(AI)最先进的领域。深度学习以神经网络为基础。神经网络是巨大的网状结构,其中的节点连接非常复杂。在20世纪90年代,神经网络曾一败涂地。但是现在的技术允许我们建造更大、更深的神经网络,推动了深度学习的发展。这些神经网络驱动了Google、Facebook等公司的语音识别、语言翻译和语义搜索等功能。

训练一个神经网络「学习」,很像我们大脑在学习时,建立和增强神经元之间的联系。从计算的角度说,这个学习过程可以是并行的,因此它可以用GPU硬件来加速。这种机器学习需要的例子数量很多,同样也可以用并行计算来加速。有了开源机器学习工具(例如Torch code library和GPU-packed servers),在GPU上进行的神经网络训练能比CPU系统快许多倍。

GPU代表了未来的计算吗?

几十年来,我们已经习惯了摩尔定律——每2年,计算机的处理能力就会翻倍。这个过程主要是由于计算设备的微型化所带来的,因为产生的热量越来越小,允许CPU的运行速度越来越快。然而,「免费的午餐」可能即将走到尽头,因为半导体的微型化已经快要接近硅元素的理论极限了。现在,要提高计算速度,只能转向并行计算。过去十年中,多核CPU的崛起已经证明了这一点。然而现在,GPU已经拔得头筹。

除了AI,GPU还被用在流体和空气动力学仿真、物理引擎、大脑仿真等领域。某些世界上最强大的计算机(例如全世界第二快的计算机——橡树岭国家实验室的泰坦超级计算机)正是构建在英伟达的GPU加速器上。除此之外,还有英特尔的Phi并行协同处理器,驱动着全世界最快的超级计算机——Tianhe-2。然而,并不是所有的问题都可以用并行计算来解决,并且这些环境的编程非常困难。

或许,计算的未来(至少对AI来说)可能会藏在某些更加激进的形式中,例如仿脑计算机。IBM的True North芯片就是其中一个,还有一个正在研究的项目是10亿欧元的人类大脑计划(Human Brain Project)。这种模型不是用许多处理器组成的网络来模仿生物神经网络,它自身就是一个真正的神经网络:芯片上的一个个硅晶体管组成了回路,这些回路可以用电信号来处理信息和彼此交流——与生物大脑中的神经元没什么不同。

支持者声称,这些系统将帮助我们最终扩大神经网络的规模,最终庞大和复杂到接近人类大脑的程度,那时的AI将与人类智能相媲美。还有一些人则持怀疑态度——这些人主要是大脑研究者。他们认为,除了神经元数量和密度极大之外,人类大脑还有很多额外的奥秘。

不管采用哪种方式,看起来,我们都将把关于大脑的知识用到超级计算机中。

机器之心,最专业的前沿科技媒体和产业服务平台,每日提供优质产业资讯与深度思考,欢迎关注微信公众号「机器之心」(almosthuman2014),或登录机器之心网站www.almosthuman.cn查看更多精彩内容。