Google制造TPU而避免去建造大量数据中心集群

Google制造TPU而避免去建造大量数据中心集群

Google Operates What无疑是地球上最庞大的计算机网络,这个系统包含位于4个大陆中15地点的客制化的仓储大小的数据中心。但是大约6年前,随着公司开始在Android手机上采用了新的语音识别形式,工程师们担心该网络不够大了。如果世界上的每一个Android手机都使用新的Google语音搜索,哪怕仅仅是每天3分钟,这些工程师们意识到,公司需要两倍数量的数据中心。

在那时候,Google刚开始使用深度神经网络来驱动它的语音识别服务,这是一个复杂的可以通过分析大量数据来学习特别任务的数学系统。在近几年,这种形式的机器学习已经快速地重新发明了不仅仅语音识别,还有图像识别,机器翻译,网络搜索等等。在转移到这个方法的过程中,Google看到了错误率下降了25个百分点。但是这个改变需要很多额外的马力。

相比不是去将它的数据中心的提及翻倍扩容,相反Google为运行深度神经网络而特别制造它自己的计算机芯片,被称为Tensor处理单元,或者TPU。“拥有更高的能源效率的方案是有道理的”,Norm Jouppi说到,他是为这个芯片工作的70位工程师中的一位。事实上,这个TPU在TOPs/Watt测量效率指标方面比标准的处理器表现优异达到30到80倍。

一种神经网络

Google从去年五月开始首次透露了这个客制化化的处理器,但是没有给出具体的细节。现在,Jouppi和他的团队的其他成员有了一个发布的论文来详述该项目,解释了这个芯片是如何工作的以及解决的特别的问题。Google仅在执行神经网络使用这个芯片,这么说吧,当人们向Android手机吼了一个命令的时候运行。它不是用来事先训练神经网络的。但是正如Jouppi解释的,即使如此,也能够为公司节约好多,这么说吧,不需要再额外建造15个数据中心。

这个芯片也代表了在计算机处理器世界中一个非常大的变化 。随着Google,Facebook,Microsoft和其他网络巨头们使用深度神经网络来创建越来越多的服务时,他们都需要一个特殊的芯片用来训练和执行这些AI模型。绝大部分公司使用GPU来训练他们的模型,GPU原本设计是用来渲染图像,游戏和别的高可视的应用的,但并不适合这种在神经网络的数学上。还有一些公司,比如Microsoft和Baidu,一个中国的互联网巨头,在执行这些模型的时候会使用另一种芯片,和Google使用TPU非常像。

区别是Google从头开始制造自己的芯片,作为一种可以减少成本和提高其大量在线帝国效率的方法,Google已经制造了好多它自己的数据中心硬件,包括服务器和网络。现在它已经又将所有的方法进一步推动到单个的处理器上了。

在这个过程中,它已经改变了芯片的大市场,因为Google是自己设计,比如,不是买别家的处理器来适合神经网络的额外负荷。Google即使在专门的任务中也有广泛的影响,如Facebook,Amazon和Microsoft一样,它是地球上最大的芯片购买者之一。同时,最大的芯片制造商,包括最为显著的Intel,也在制造一个新品种的处理器来努力将市场转回到他们的方向。

专注但多功能

在以硬件研究人员的身份服务在HP和DEC这样的公司后,Jouppi在2013年晚些时候加入Google并为制造TPU工作,HP和DEC是许多Google顶尖硬件设计师的一种滋生之地,Jouppi说公司在考虑将神经网络移到FPGA上,Microsoft就是使用这种编程芯片。那条路不会走远的,FPGA的适应性意味着公司能够根据需要的别的任务对芯片进行重编程。但是测试表明这些芯片不能够提供必要的速度提升。”那有很多忠可编程芯片”,Jouppi解释到,“我们的分析表明一个FPGA芯片并不比一个GPU更快”。

最后,这个团队还是通过一个ASIC来解决,这个芯片是为一个特殊的任务从头制造的。如Jouppi说,因为Google专门为神经网络来设计这个芯片,它能够比用相似的技术制造出的通用芯片快15到30倍的速度运行。那就是说,这个芯片适合任何新品种的神经网络,起码是当今存在的这些神经网络,包括从图像识别中使用的卷积神经网络到用于识别语音命令的长时间 – 内存网络的所有内容。“它不是只与一种模型相连”,Jouppi说到。

Google已经使用了两年TPU了,实用于从图像识别,机器学习到AlphaGO的所有方面,AlphaGO在去年春天的Go游戏中打败了人类。非常不错,特别考虑它在这个过程中帮忙避免的所有的数据构建。