其他

当Google的TPU2横空出世后,我们来详细了解其用途吧

2017-05-24 人工智能学家

图:pixabay

来源: 机器人圈

概要:正如我们之前所报道的那样,Google上周在Google I/O大会上推出了第二代TensorFlow Processing Unit(TPU2)。


正如我们之前所报道的那样,Google上周在Google I/O大会上推出了第二代TensorFlow Processing Unit(TPU2)。Google称这个新一代产品为“Google Cloud TPUs”,但仅仅提供了关于TPU2芯片和使用它的系统的很少的一部分信息,只有几张彩色照片。图片能够表达的信息是远远多于语言的,所以在这篇文章中,我们将对照片进行深入挖掘,并基于图片和Google仅提供的几个细节来发表我们的见解和看法。


首先,Google不太可能出售基于TPU的芯片、主板或服务器——TPU2是Google内部专属的产品。Google只能提供两条通道来直接访问TPU2硬件,一条是通过TensorFlow Research Cloud(TRC),这是一项“高度选择性”项目,旨在使研究人员可以分享他们关于TPU2可加速的代码类型的发现,另一条是通过Google Compute Engine Cloud TPU Alpha,我们假设这个方案也是高度选择性的,因为这两条市场化路线共享一个注册页面。


Google专门设计了TPU2,以加速深度学习工作负载背后面向消费者的软件,如搜索,地图,语音识别以及无人驾驶车辆训练等研究项目。我们对Google TRC目标粗略定位为,Google希望招募研究团体,以寻找能够与TPU2 hyper-mesh更好匹配的工作。Google表示,TRC项目在开始的时候是小型的,但随着时间的迁移会慢慢扩大。我们将无法直接访问tpu2直到谷歌的研究推广找到更普遍的应用,并且Google将TensorFlow硬件实例作为谷歌云平台公共云中的基础架构。


Google为深度学习和分类任务设计的原TPU——运行模式已经被训练在GPU上。TPU是通过两个PCI-Express 3.0 x8边缘连接器连接到处理器主板的协处理器(参见下面两张照片的左下角),总共有16 GB / s的双向带宽。TPU消耗高达40瓦,远高于PCI-Express电源规格,并为8位整数运算提供92兆操作(TOPS),或为16位整数运算提供23 TOPS。为了进行比较,Google声称TPU2在每秒45兆浮点运算(teraflops)时达到峰值,大概是FP16运算精度。


TPU没有内置的调度功能,也不能被虚拟化。它是一个直接连接到一个服务器主板的简单矩阵乘法协处理器。

 

Google的第一代TPU卡:A,无散热片;B,带有散热片


在主板处理能力或其PCI-E 吞吐量超负载前,Google从不会透露有多少TPU连接到一个服务器主板。协处理器只需要做一件事,它需要以任务设置和拆卸的形式,从主机处理器获取大量信息,并管理每个TPU数据的传输带宽。


Google已将其TPU2设计用于四机架机柜,Google将其称为pod。机柜是相对于一组工作负载的标准机架配置(从半机架到多机架)。机柜有助于大型数据中心所有者更轻松,更便宜的进行购买,安装和部署。例如,Microsoft的Azure Stack标准半机架将会是一个机柜。


四机架机柜大小主要取决于Google正在使用的铜缆类型和全速运行的最大铜线运行长度。下图显示了机柜的高层次组织。


我们首先注意到,Google通过两根电缆将每个TPU2板连接到一个服务器处理器板。可能的是,Google将每个TPU2板连接到两个不同的处理器板,但即使Google也不希望混淆该拓扑的安装,编程和调度复杂性。如果在服务器主板和TPU2板之间存在一对一的连接,则要简单得多。

 

Google的TPU2 stamp :A是CPU机架,B是TPU2机架,C是TPU2机架,D是CPU机架; 固体箱(蓝色):机架不间断电源(UPS); 虚线框(红色)是电源; 和虚线框(绿色):机架式网络交换机和机架式交换机顶部


Google显示其TPU2 stamp的三张不同的照片,所有三张照片的配置和布线看起来都一样。TPU2布线的Garish颜色编码有助于进行此比较。


三个Google TPU2机柜


Google公布了TPU2板的顶视图,以及该板的前面板连接器的特写。TPU2的四个板象限中共享板配电系统。我们认为四个TPU2板象限也通过一个简单的网络交换机共享网络连接。它看起来像每个电路板象限是一个单独的子系统,而这四个子系统在电路板上没有彼此连接。


TPU2板的顶视图:A是四个带散热片的TPU2芯片; B是每个TPU2两根BlueLink 25GB / s电缆; C是每个板的两条全向路径架构(OPA)电缆; D是电源连接器的背面,E最有可能是网络交换机


前面板连接看起来像一个QSFP网络连接器,其两侧有四个方形横截面连接器,这是我以前没有看到的。IBM BlueLink规范在最小25 GB / s配置(称为“子链路”)中的每个方向(总共16个通道)上定义了八个200 Gb /秒信号通道。Google是OpenCAPI的成员,也是OpenPowerFoundation的创始成员,所以BlueLink是有道理的。


TPU2前面板连接


电路板正面中心的两个连接器看起来像带有铜双绞线的QSFP型连接器,而不是光纤。这就提供了两个选择——10 Gb /秒以太网或100 Gb /秒英特尔全向路径架构(OPA)。两个100 Gbps OPA链路可以组合成一个25 GB / s的聚合双向带宽,这与BlueLink速度是相匹配的,所以我们认为它是Omni-Path。


这些铜缆,蓝链或OPA都不能在最大信号速率下运行超过3米或10英尺。它以3米物理跨距将链接着CPU和TPU2板的互连拓扑结合在一起。Google使用彩色电缆;而我的猜测是,这使组装更容易,而且没有布线错误。请参见上图中最前面连接器下方的电缆颜色的贴纸。我们认为,颜色编码是Google计划大规模部署这些TPU2机柜的标志。


白色电缆最有可能是1 Gb /秒以太网系统管理网络。我们没有看到Google可以将管理网络连接到照片中的TPU2板。但是,基于白色电缆的路由,我们可以假设Google将管理网络从后端连接到处理器板。也许处理器板通过OPA连接管理和评估TPU2板的健康状况。


Google的TPU2机架机柜具有双边对称性。在下图中,我们翻转了处理器机架D以将其与处理器机架A进行比较。这两个机架是相同但相互镜像的图像。之后的图,很明显,机架B和C也是彼此的镜像。

 

将两个CPU机架与机架D进行比较


将两个CPU机架与机架C进行比较


Google的照片中没有足够的可见的连线来确定确切的互连拓扑,但它看起来像是一种超网格互连。


我们相信,CPU板是标配英特尔至强双socket主板,适合Google的1.5英寸服务器外形尺寸。它们是当前一代主板设计,考虑到它们有OPA,它们可能是Skylake板(参见下面的功耗讨论)。我们相信它们是双socket主板,仅仅是因为我还没有听说过许多单socket主板是通过英特尔供应链的任何一部分发货的。但是随着新市场进入者,如具有“Naples”Epyc X86服务器芯片的AMD,和具有Centriq ARM服务器芯片的Qualcomm强调单socket配置,这种情况可能会有所改变。


我们认为Google将每个CPU板连接到一个TPU2板上,使用两条OPA电缆实现了25 GB / s的总带宽。这种一对一的连接解决了TPU2的一个关键问题——Google以TPU2芯片与Xeon插座的比例为2:1的方式设计了TPU2 stamp。也就是说,每个双插槽Xeon服务器都有四个TPU2芯片。


TPU2加速器与处理器的这种紧密耦合与深度学习训练任务中GPU加速器的4:1至6:1的典型比例大不相同。低2:1的比例表明,Google保留了原始TPU中使用的设计理念:“与GPU相比,TPU在理念上更接近于FPU(浮点单元)协处理器。”处理器在Google的TPU2架构中仍然有很多工作要完成,但它正在将所有的矩阵数学卸载到TPU2上去。


我们看不到TPU2 机柜中的任何存储。大概这是在下图中大束蓝色光缆所追踪的那样。数据中心网络连接到CPU板,但是并没有光纤电缆连接到机架B和C上,同样,TPU2板上没有网络连接。


许多光纤带宽连接到Google数据中心的其余部分


每个机架有32个计算单位,无论是TPU2还是CPU都是如此。因此,每个机柜中有64个CPU板和64个TPU板,共有128个CPU芯片和256个TPU2芯片。


谷歌表示,其TRC包含1000个TPU2芯片,但是这一数字略有下降。四个机柜包含1024个TPU2芯片。因此,四个机柜是Google已经部署了了的TPU2芯片数量的下限。从Google I / O大会期间发布的照片中可以看到三个(业可能是四个)机柜。


不清楚处理器和TPU2芯片是如何通过一个机柜进行联合,以便TPU2芯片可以在超网格中跨链接有效地共享数据的。但我们几乎可以肯定,TRC不能跨越四个机柜(256个TPU2芯片)中的一个以上的单个任务。原始TPU是一个简单的协处理器,因此处理器处理所有数据流量。在这种架构中,处理器通过数据中心网络从远程存储器访问数据。


关于机柜模型也没有很多的描述。 TPU2芯片可以在OPA上使用远程直接存储器访问(RDMA)从处理器板上的内存中加载自己的数据吗?这好像是可以的。处理器板似乎也可能在机柜上执行相同操作,创建大型共享内存池。该共享内存池不会像Hewlett Packard Enterprise的机器共享内存系统原型中的内存池那么快,但是使用25 GB / s的链接,它的速度也不会太慢,内存依旧很大,这是在两位tb范围内的(每个DIMM 16 GB,每个处理器有8个DIMM,每个板有两个处理器,64个板产生16 TB的内存)。


我们推测,在一个机柜上安排一个需要多个TPU2的任务看起来像这样:


处理器池应该有一个机柜的超网格拓扑图,哪些TPU2芯片可用于运行任务。


处理器组可能联合编程每个TPU2以明确地连接位于两个相连接的TPU2芯片之间的网格。


每个处理器板将数据和指令加载到其配对的TPU2板上的四个TPU2芯片上,包括网状互连的流量控制。


处理器在互连的TPU2芯片之间同步引导任务。


当任务完成时,处理器从TPU2芯片收集所得到的数据(该数据可能已经通过RDMA存储在全局存储器池中),并将TPU2芯片标记为可用于另一任务。


这种方法的优点是TPU2芯片不需要理解多任务,虚拟化或多租户——处理器的任务是处理所有跨越机柜的这些任务。


这也意味着如果Google曾经提供Cloud TPU实例作为其Google Cloud Platform自定义机器类型IaaS的一部分,该实例将必须包括处理器和TPU2芯片。


还不清楚的是,工作负载能否可以跨stamp进行缩放,并保留超级网格的低延迟和高吞吐量。虽然研究人员可能可以通过TRC访问1,024个TPU2芯片中的一些,但跨stamp进行扩展工作负载看起来仍是一个挑战。研究人员可能有能力连接多达256个TPU2芯片的集群,这足以令人印象深刻,因为云GPU连接目前正在扩展到32个互连设备(通过Microsoft的Olympus HGX-1设计)。


Google的第一代TPU在负载下消耗40瓦特,同时以23 TOPS的速率执行16位整数矩阵乘法。Google将TPU2的运行速度提高到45 TFLOPS,同时通过升级到16位浮点运算来提高计算复杂度。根据一个粗略的经验法则来看的话,这至少是两倍的功耗——如果除了将速度提高两倍以及转移到FP16外,什么也不做的话,TPU2必须消耗至少160瓦。散热器尺寸显示出更高的功耗,某处甚至高于200瓦特。


TPU2板具有位于TPU2芯片顶部的巨大散热片。它们是多年来我看到的最高的风冷散热片。它们具有内部密封环液体循环。在下图中,我们将TPU2散热片与过去几个月看到的最大的可比散热片进行相比较。


 

散热片遍历:A是四路TPU2主板侧面视图,B为双IBM Power9“Zaius”主板,C为双IBM Power8“明斯基”主板,D为双英特尔至强Facebook“优胜美地”主板,E为Nvidia P100 SMX2 模块与散热片和Facebook“Big Basin”主板


这些散热器的尺寸大多“每个超过200W”。很容易看出,它们比原始TPU上的40瓦散热器大得多。这些散热器填补了两个Google垂直的1.5英寸,Google外形尺寸单元空缺,因此它们几乎高达三英寸。(Google机架单元高度为1.5英寸,比行业标准1.75英寸U型高型号矮一点)。


这是一个很好的选择,每个TPU2芯片还有更多的内存,这有助于提高吞吐量并增加功耗。


此外,Google从单芯片TPU芯片(PCI-Express插槽向TPU卡供电)转移到单芯片TPU2板设计共享双OPA端口和交换机,以及为每个TPU2芯片提供两个专用的BlueLink端口。 OPA和BlueLink都增加了TPU2板级功耗。


Google的开放计算项目机架规格设备显示6千瓦,12千瓦和20千瓦的电力输送配置文件; 20千瓦的功率分配可以实现90瓦的CPU处理器插座。我们猜测,使用Skylake一代Xeon处理器和处理大部分计算负载的TPU2芯片,机架A和D可能使用20千瓦电源。


而机架B和C就是另一个不同的故事了。功率输送为30千瓦,能够为每个TPU2插座提供200瓦的功率输送;每个机架36千瓦将为每个TPU2插座提供250瓦的功率输送。36千瓦是一种常见的高性能计算能力传输规范。我们认为,每芯片250瓦功耗也是Google愿意为上述巨大的TPU2散热器支付的唯一原因。因此,单个TPU2 机柜的功率传输可能在100千瓦至112千瓦范围内,并且可能更接近较高数量。


这意味着TRC在满负荷运行时消耗将近一百兆瓦的功率。虽然四枚邮票部署成本昂贵,但却是一次性的资本费用,并不占用大量的数据中心空间。然而,半数兆瓦的电力是大量经营费用,持续资助学术研究,即使是一家Google规模的公司。如果TRC在一年内仍然运行,这表明Google正在认真研究其TPU2的新用例。


TPU2 机柜包含256个TPU2芯片。每个TPU2芯片的性能为45 teraflops,每个stamp产生总共11.5 petaflops的深度学习加速器的性能。这是令人印象深刻的,即使它确实是FP16的高峰表现。深度学习训练通常需要更高的精度,因此FP32矩阵乘法性能可能是FP16性能的四分之一,或者每个机柜约为2.9 petaflop,整个TRC为11.5 FP32 petaflops。


在峰值性能方面,这意味着在整个机柜上的FP16操作(不包括CPU性能贡献或位于机柜之外的存储),每千瓦跳跃到115吉比特每千瓦。


英特尔公布了双插槽Skylake生成Xeon核心计数和功耗配置后,可以计算Xeon处理器的FP16和FP32性能,并将其增加到每瓦特的总体性能。


关于Google的TPU2机柜行为还没有足够可靠的信息将其与像Nvidia的“Volta”这样的新一代商业加速器产品进行比较。架构的差别太大了,无需对同一任务中的两个架构进行基准测试。比较峰值FP16的性能就像将两台具有不同处理器,存储器和基于处理器频率的图形选项的PC的性能进行比较。


也就是说,我们认为真正的比赛不在芯片级别。挑战是将计算加速器扩展到普通比例。NVIDIA公司正在采用NVLink的第一步,从处理器上获得更大的加速器独立性。Nvidia正在将其软件基础架构和工作负载从单一GPU扩展到GPU集群。


Google选择将其原始TPU扩展为直接链接到处理器的协处理器。TPU2还可以进行扩展,作为以直接2:1比例的加速器进行处理任务。然而,TPU2超网格编程模型似乎没有可以将扩展任务做得很好的工作负载。但是,Google正在寻找第三方帮助来查找使用TPU2架构扩展的工作负载。


来源: 机器人圈



欢迎企业家加入未来科技学院,共同研究如何提升企业科技竞争力

一日千里的科技进展,层出不穷的新概念,使企业家,投资人和社会大众面临巨大的科技发展压力,前沿科技现状和未来发展方向是什么?现代企业家如何应对新科学技术带来的产业升级挑战?


未来科技学院将通过举办企业家与科技专家研讨会,未来科技学习班,企业家与科技专家、投资人的聚会交流,企业科技问题专题研究会等多种形式,帮助现代企业通过前沿科技解决产业升级问题、开展新业务拓展,提高科技竞争力。


未来科技学院由人工智能学家在中国科学院虚拟经济与数据科学研究中心的支持下建立,成立以来,已经邀请国际和国内著名科学家、科技企业家300多人参与学院建设,并建立覆盖2万余人的专业社群;与近60家投资机构合作,建立了近200名投资人的投资社群。开展前沿科技讲座和研讨会20多期。  欢迎行业、产业和科技领域的企业家加入未来科技学院


报名加入请扫描下列二维码,点击本文左下角“阅读原文”报名


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

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