其他

谷歌AI芯片TPU公布更多细节,性能远超GPU和x86

2017-04-11 大数网

谷歌日前公布了更多张量处理单元(简称TPU)的细节信息,这一服务器芯片专门用来执行人工智能(简称AI)类计算工作负载。谷歌自2015年以来一直在内部使用TPU,并于去年正式披露了TPU的存在,不过自那以后,再未提供任何进一步说明。


除了发布一篇与TPU相关的论文之外,谷歌公司的DavidPatterson还在加利福尼亚州山景城召开的国家工程技术学会大会上发表了演讲。Patterson正是这篇论文的75位联名作者中的一员。


在运行人工神经网络时,谷歌公司依赖TPU支撑两个阶段当中的第二阶段。首先,谷歌方面会利用大量数据训练这些神经网络,通常使用服务器上的图形处理单元(简称GPU)进行运算加速。在此之后,谷歌公司利用TPU更为高效地对新数据进行推理。


谷歌方面指出,TPU在推理方面的性能表现远优于直接使用GPU或者基础x86芯片。


“尽管在部分应用当中利用率很低,但TPU的执行速度较当前GPU或CPU约快15倍到30倍,”各位作者在论文中写道。这些作为比较对象的现代系统具体为配备英伟达Tesla K80 GPU与英特尔Haswell至强E5-2699 v3芯片的服务器,而后者则作为TPU芯片的底层运行平台。


过去五年来,AMD与英伟达等厂商的GPU已经在深度学习领域成为默认的基础设施选项,而谷歌公司亦深入参与其中。但与此同时,谷歌与微软等企业还在针对各类AI型工作负载探索使用其它类型芯片的可能性,包括现场可编程门阵列(简称FPGA)。


根据谷歌公司杰出硬件工程师Norm Jouppi在其博文中所介绍,谷歌的项目自其启动以来即广受关注,且被直接应用于生产流程当中; 该系统已经被用于支持谷歌图片搜索、谷歌照片以及谷歌Cloud Vision应用程序编程接口(简称API)等。


一块TPU芯片拥有3.5倍于K80的芯片上内存容量,且根据各位作者的说明,其体积反而较后者更小。另外,TPU的每瓦性能水平也较K80高30倍到80倍。目前谷歌公司能够将两块TPU接入至单一服务器,当然相信搜索巨头也完全有能力构建其它硬件配置系统以提供更为出色的性能或者经济性优势。


谷歌公司在接纳人工神经网络方面比其它技术厂商表现得更为积极,且早在2013年即根据当时的市场反映,准确判断出相关工作负载所需要占用的数据中心计算资源很可能出现倍增。如果使用标准芯片处理如此庞大的运算量,则由此带来的成本将达到难以承受的水平。因此,谷歌公司开始自行研究相关技术,旨在获得较GPU高出10倍的资源性价比。


“相较于同CPU紧密集成,为了能够降低延迟部署的可能性,我们将TPU设计为接入PCIe I/O总线的协处理器,并允许其与GPU一样直接接入现有服务器,”作者们在论文中写道。


“另外,为了简化硬件的设计与调试流程,主机服务器会直接发送TPU指令以供其执行,而非由TPU自行获取。如此一来,TPU在设计思路上更接近于FPU(即浮点单元)协处理器,而非普通GPU。其目标在于立足TPU之内运行整体推理模型,从而降低其与主机CPU间的交互需求,同时保证其拥有充足的灵活性以应对2015年及之后的神经网络运行需求,而非单纯适应2013年当时的神经网络特性。”


一般来讲,TPU之上运行的代码比较简单,其复杂程度与谷歌公司主导的TensorFlow开源深度学习框架中的代码类似,作者们解释称。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存