英特尔和英伟达如何应对AlphaGo来袭、谷歌TPU芯片发力?
扫描二维码
随时随地手机看文章
日前,去年击败世界围棋第一人李世石,由DeepMind(已被谷歌收购)开发的围棋AI—AlphaGo,已移师中国,再战目前等级分排名世界第一的中国棋手柯洁九段,且率先拿下一局暂时领先的消息再次引发了业内的高度关注。
那么问题来了,AlphaGo缘何如此“聪明”和超乎人类的思考和反应能力?
就在AlphaGo与柯洁“人机大战”不久前,Google I/O 2017 大会上,谷歌“移动为先”向“AI优先”再次升级,其中最典型的表现之一就是更新升级了去年公布的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与服务器级的英特尔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,还有数据中心)已经成为业内的共识。值得一提的是,在刚刚举办Google 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的围棋系统中。实际上我们上述提到的Google I/O 2017大会推出和更新的诸多AI产品和服务背后均有TPU的硬件支持。
当然,我们在此并非否认CPU和GPU在AI中的作用,例如鉴于CPU的通用性,其灵活性最大,不仅可以运行各种各样的程序,也包括使用各种软件库的深度学习网络执行的学习和推理。GPU虽然不像 CPU那样通用和灵活,但它在深度学习计算方面更好,因为它能够执行学习和推理,并且不局限于单个的软件库。相比之下,TPU则几乎没有灵活性,并且只能在自家的TensorFlow中效率最高,这也是为何谷歌对外声称TPU不对外销售,且仍会继续采用CPU和GPU。
但谷歌的这一做法印证了一个芯片产业的发展趋势,即在AI负载和应用所占数据中心比重越来越大的今天和未来,像谷歌、微软、Facebook、亚马逊、阿里巴巴、腾讯等这些数据中心芯片采购的大户,其之前对于CPU和GPU的通用性需求可能会越来越少,而针对AI开发应用的兼顾性能和能效的定制化芯片需求则会越来越多。
而作为通用芯片厂商的英特尔和英伟达,如何顺应芯片产业在AI驱动下的发展趋势,则关系着其在AI时代到来之时,其能否继续满足客户的需求和引领产业的发展。或许,应该特尔和英伟达都应该未雨绸缪。