在GoogleI/O2016的主题演说转入尾声时,谷歌的CEO皮采提及了一项他们这段时间在AI和机器学习上获得的成果,一款叫作TensorProcessingUnit(张量处理单元)的处理器,全称TPU。在这个月显然,第一代的TPU处理器早已过时。在昨天凌晨举办的谷歌I/O2017大会上,谷歌除了宣传了安卓8.0之外,更为重要的是侧重谈及了人工智能,于是第二代TPU也就应运而生。TPU是谷歌自律研发的一种改以AI运算服务的高性能处理器,其第一代产品早已在AlphaGo这样的人工智能当中用于,主攻运算性能。
第二代TPU相比较于初代主要是加剧了人工智能在自学和推理小说方面的能力,至于性能的话,全新的谷歌TPU可以超过180TFLOPs的浮点性能,和传统的GPU比起提高15倍,堪称CPU浮点性能的30倍。另外谷歌还发售了一款叫作TPUpod的运算阵列,最多可以包括64颗二代TPU,也就是说浮点性能可以超过难以置信的11.5PFLOPS。
从名字上我们可以显现出,TPU的启发源于Google开源深度自学框架TensorFlow,所以目前TPU还是只在Google内部用于的一种芯片。TPU问世2011年,Google意识到他们遇上了问题。他们开始严肃考虑到用于深度自学网络了,这些网络运算市场需求低,令其他们的计算资源显得紧绷。
Google做到了一笔计算出来,如果每位用户每天用于3分钟他们获取的基于深度自学语音辨识模型的语音搜寻服务,他们就必需把现有的数据中心不断扩大两倍。他们必须更加强劲、更加高效的处置芯片。他们必须什么样的芯片呢?中央处理器(CPU)需要十分高效地处置各种计算出来任务。但CPU的局限是一次不能处置相对来说很少量的任务。
另一方面,图像处理单元(GPU)在继续执行单个任务时效率较低,而且所能处置的任务范围更加小。不过,GPU的强劲之处在于它们需要同时继续执行许多任务。例如,如果你必须乘3个浮点数,CPU不会强过GPU;但如果你必须做到100万次3个浮点数的乘法,那么GPU不会碾压CPU。
GPU是理想的深度自学芯片,因为简单的深度自学网络必须同时展开数百万次计算出来。Google用于NvidiaGPU,但这还过于,他们想更慢的速度。他们必须更加高效的芯片。
单个GPU耗电会相当大,但是如果Google的数百万台服务器日夜不停地运营,那么耗电不会变为一个相当严重问题。谷歌要求自己造更高效的芯片。
2016年5月,谷歌在I/O大会上首次发布了TPU(张量处理单元),并且称之为这款芯片早已在谷歌数据中心用于了一年之幸,李世石大战AlphaGo时,TPU也在应用于之中,并且谷歌将TPU称作AlphaGo打败李世石的“秘密武器”。第一代TPU内部架构该图表明了TPU上的内部结构,除了外挂的DDR3内存,左侧是主机界面。
指令从主机发送到队列中(没循环)。这些转录掌控逻辑可以根据指令多次运营完全相同的指令。TPU并非一款简单的硬件,它看上去看起来雷达应用于的信号处理引擎,而不是标准的X86派生架构。
Jouppi说道,尽管它有众多的矩阵乘法单元,但是它GPU更加善于浮点单元的协处置。另外,必须留意的是,TPU没任何存储的程序,它可以必要从主机发送到指令。TPU上的DRAM作为一个单元分段运营,因为必须提供更好的权重以馈送到矩阵乘法单元(算下来,吞吐量超过了64,000)。
Jouppi并没提及是他们是如何图形(systolic)数据流的,但他回应,用于主机软件加速器都将沦为瓶颈。256×256阵列图形数据流引擎,经过矩阵乘法累积后构建非线性输入从第二张图片可以显现出,TPU有两个内存单元,以及一个用作模型中参数的外部DDR3DRAM。
参数进去后,可从顶部读取到矩阵乘法单元中。同时,可以从左边读取转录(或从“神经元”输入)。那些以膨胀的方式转入矩阵单元以产生矩阵乘法,它可以在每个周期中展开64,000次相加。毋庸置疑,谷歌有可能用于了一些新的技巧和技术来减缓TPU的性能和效率。
例如,用于高带宽内存或混合3D内存。然而,谷歌的问题在于维持分布式硬件的一致性。
本文来源:尊龙凯时网站-www.htyqc.com