自从Google去年透露自己开发了一款名为TPU的专用芯片,用于提高人工智能计算任务的执行效率,关于这种新芯片的猜测就从未停止。
今天,Google终于披露了关于TPU的更多信息。除了发表一篇有75位联合作者的论文《In-Datacenter Performance Analysis of a Tensor Processing UnitTM》外,文章的第四作者David Patterson还在美国国家工程院的活动上发表了演讲。
关于TPU的论文将正式发表于今年6月在多伦多召开的计算机体系结构国际研讨会(International Symposium on Computer Architecture, ISCA),Google目前已经在Google Drive上将其公开。
△ TPU的印刷电路板
该公司从2015年开始就一直在内部使用TPU,并在去年5月的Google I/O开发者大会上,对外公布了这种芯片的存在。
TPU是一种ASIC(专用集成电路),Google将其用在神经网络的第二个步骤。使用神经网络首先要用大量数据进行训练,通常在使用GPU加速的服务器上进行。之后,该公司便会开始使用TPU加速新数据的推断。谷歌表示,这比直接使用GPU或基本的x86芯片速度快很多。
他们在论文中写道:“尽管某些应用的利用率较低,但TPU平均比GPU或CPU速度快15至30倍左右。”其中的GPU或CPU具体指的是英伟达的Tesla K80 GPU和英特尔的至强E5-2699 v3芯片,后者可以成为TPU的底层平台。
过去5年,英伟达等公司的GPU已经成为经济型深度学习系统的默认基础架构,而谷歌也对此做出了贡献。但谷歌和微软等公司还在探索其他类型的人工智能芯片,包括FPGA(现场可编程门阵列器件)。谷歌的项目因为其来源和使用范围而受到关注,该公司工程师Norm Jouppi在博客中写道,这套系统已经应用于谷歌图片搜索、Google Photos和谷歌云视觉应用API等服务。
该论文称,一个TPU的片上内存容量达到Tesla K80的3.5倍,而且体积更小。每耗电1瓦的性能则高出30至80倍。谷歌目前可以将两个TPU安装到一台服务器中,但这并不表示他们不会开发其他更强大或更经济的硬件系统。
谷歌对人工智能网络的重视高于很多科技公司,他们2013年就认定这项技术广受欢迎,可以将其数据中心的计算需求扩大一倍。如果完全使用标准芯片,成本将十分高昂,难以承受。所以谷歌开始开发自己的技术,希望实现10倍于GPU的成本效益。
“我们没有与CPU密切整合,为了减少延迟部署的几率,TPU设计成了一个PCIe I/O总线上的协处理器,使之可以像GPU一样插到现有的服务器上。”论文还写道,“另外,为了简化硬件设计和调试过程,主服务器发送指令让TPU来执行,而不会自主执行。因此,与TPU更加接近的是FPU(浮点单元)协处理器,而非GPU。目标是在TPU运行完整的推理模型,降低与主CPU的互动,并使之足以灵活地满足2015年及之后的神经网络需求,而不仅仅适用于2013年的神经网络。”
论文称,通常而言,在TPU上运行代码跟使用谷歌领导的TsensorFlow开源深度学习框架一样简单。
提示:Google在论文中提到的测试结果,都是基于该公司自己的测试标准。
原文发布时间为:2017-04-06