编者按:本文来自微信公众号“班门弄斧”,作者孙永杰,关注ICT领域,文章秉承独家、独特、独立的观点理念
日前,去年击败世界围棋第一人李世石,由谷歌收购的DeepMind开发的围棋AI—AlphaGo移师中国,再战目前等级分排名世界第一的中国棋手柯洁九段,且率先拿下一局暂时领先的消息再次引发了业内对于AlphaGo的关注。那么问题来了,AlphaGo缘何如此的“聪明”和超乎人类的思考和反应能力?
就在AlphaGo与柯洁“人机大战”不久前,谷歌 I/O 2017 大会上,谷歌“移动为先”向“AI优先”再次升级,其中最典型的表现之一就是更新和升级了去年I/O 2017 大会上公布的TPU(Tensor Processing Unit),一款谷歌自己高度定制化的AI(针对AI算法,例如其自己开发的Tensor Flow深度学习架构)芯片,也是AlphaGo背后的功臣,即AlphaGo能以超人的熟练度下围棋都要靠训练神经网络来完成,而这又需要计算能力(硬件越强大,得到的结果越快),TPU就充当了这个角色,更重要的是借此显现出了在AI芯片领域相对于英特尔的CPU和英伟达GPU的优势。何以见得?
据称,在去年的“人机大战”中,起初AlphaGo的硬件平台采用的是CPU + GPU,即AlphaGo的完整版本使用了40个搜索线程,运行在48颗CPU和8块GPU上,AlphaGo的分布式版本则利用了更多的芯片,40个搜索线程运行在1202颗CPU和176颗GPU上。这个配置是和当时樊麾比赛时使用的,所以当时李世石看到AlphaGo与樊麾的对弈过程后对“人机大战”很有信心。但是就在短短的几个月时间,谷歌就把运行AlphaGo的硬件平台换成了TPU,之后对战的结果是AlphaGo以绝对优势击败了李世石,也就是说采用TPU之后的AlphaGo的运算速度和反应更快。究竟TPU与CPU和GPU相比到底有多大的优势(例如性能和功耗)?
据谷歌披露的TPU相关文件显示,其TPU 与服务器级的英特尔Haswell CPU 和英伟达 K80 GPU 进行比较,这些硬件都在同一时期部署在同个数据中心。测试负载为基于 TensorFlow 框架的高级描述,应用于实际产品的 NN 应用程序(MLP,CNN 和 LSTM),这些应用代表了数据中心承载的95%的 NN 推理需求。尽管在一些应用上利用率很低,但 TPU 平均比当前的 GPU 或 CPU 快15~30倍,性能功耗比(TOPS/Watt)高出约 30~80 倍。此外,在 TPU 中采用 GPU 常用的 GDDR5 存储器能使性能TPOS指标再高3倍,并将能效比指标 TOPS/Watt 提高到 GPU的70 倍,CPU的200倍。
尽管英伟达对于上述的测试表示了异议,但TPU相对于CPU和GPU存在的性能功耗比的优势(不仅体现在AI,还有数据中心)已经成为业内的共识。值得一提的是,在刚刚举办谷歌 I/O 2017 大会上发布的新一代 TPU已经达到每秒 180 万亿次的浮点运算性能,超过了英伟达刚刚推出的 GPU Tesla2 V100每秒120 万亿次浮点运算的性能。那么是什么造就TPU如此的优势?
简单来说,CPU是基于完全通用的诉求,实现的通用处理架构,GPU则主要基于图像处理的诉求,降低了一部分通用性,并针对核心逻辑做了一定的优化,是一款准通用的处理架构,以牺牲通用性为代价,在特定场合拥有比CPU快得多的处理效率。而TPU,则针对更明确的目标和处理逻辑,进行更直接的硬件优化,以彻底牺牲通用性为代价,获得在特定场合和应用的极端效率,也就是俗话所言的“万能工具的效率永远比不上专用工具”,而这正好迎合了当下诸多炙手可热的人工智能的训练和推理等均需要大量、快速的数据运算的需求。
到目前为止,谷歌的TPU已经应用在各种领域的应用中,例如谷歌图像搜索(Google Image Search)、谷歌照片(Google Photo)、谷歌云视觉API(Google Cloud Vision API)、谷歌翻译以及AlphaGo的围棋系统中。实际上我们上述提到的谷歌 I/O 2017 大会推出和更新的诸多AI产品和服务背后均有TPU的硬件支持。
当然,我们在此并非否认CPU和GPU在AI中的作用,例如鉴于CPU的通用性,其灵活性最大,不仅可以运行各种各样的程序,也包括使用各种软件库的深度学习网络执行的学习和推理。GPU 虽然不像 CPU 那样通用和灵活,但它在深度学习计算方面更好,因为它能够执行学习和推理,并且不局限于单个的软件库。性比之下,TPU 则几乎没有灵活性,并且只能在 自家的TensorFlow 中效率最高,这也是为何谷歌对外声称TPU不对外销售,且仍会继续采用CPU和GPU。
但谷歌的这一做法印证一个芯片产业的发展趋势,即在AI负载和应用所占数据中心比重越来越大的今天和未来,像诸如谷歌、微软、Facebook、亚马逊、阿里巴巴、腾讯等这些数据中心芯片采购的大户,其之前对于CPU和GPU的通用性需求可能会越来越少,而针对AI开发和应用的兼顾性能和能效的定制化芯片会越来越多,而作为通用芯片厂商的英特尔和英伟达,如何顺应这一芯片产业在AI驱动下的变化和发展趋势未雨绸缪,则关系着其在AI时代到来之时,其能否继续满足客户的需求和引领产业的发展。