快捷搜索:  汽车  科技

谷歌tpu什么时候发(谷歌二代TPU到底有什么秘密)

谷歌tpu什么时候发(谷歌二代TPU到底有什么秘密)在生产端,如此强大的计算力到底有什么好处呢?谷哥最新的大型翻译模块是用32个最棒的商用GPU(可能是Pascal)训练的,要花一整天训练,现在只需要1/8的TPU就能在一个下午完成。请注意,TPU是专门为TensorFlow优化过的,商用GPU(哪怕是高端GPU)瞄准的是通用目的,它既要完成高精度工作,也要完成低精度工作。从这个案例就可以看出,谷歌推出自有ASIC在投资回报方面是没有什么问题的。在TPU2 机框的最顶行,两个接口向上延伸,进入另一个机框,里面似乎没有安装TPU2单元。照猜测它是一个准系统(Bare bone)闪存机框,以很高的速度为TPU存储本地数据。不论怎样,主板至少有32个TPU2,也就是说一个机柜至少有128个TPU。计算一下就会知道,每一个Pod由2个机柜和蓝色罩子组成,它的计算力应该是11.5 petaflops。一个月前,我曾与谷歌著名硬件工程师Norman J

智东西(公众号:zhidxcom)

编 | 海中天

导读:在2017年谷歌I/O大会上,二代TPU亮相,它比一代TPU更强大。到底TPU是什么?有什么新的变化?Nextplatform记者Nicole Hemsoth一个月前采访了谷歌著名硬件工程师Norman Jouppi,打听了一些内幕,他还收集了许多资料,对二代TPU深入分析。

让我们听听Nicole Hemsoth是怎样解释的:

谷歌tpu什么时候发(谷歌二代TPU到底有什么秘密)(1)

一个月前,我曾与谷歌著名硬件工程师Norman Jouppi交流过,讨论的重点是TPU(tensor processing unit),谷歌用TPU让深度学习推理加速,不过设备(第一代TPU)已经有点过时了。

在今年的I/O大会上,谷歌夺走了Volta GPU的风头,Volta GPU是Nvidia最近推出的,谷歌透露了二代TPU的细节,二代TPU系统板的运算速度达到180万亿次,相当惊人,它既可以训练,也可以推理,定制网络将TPU组合成“TPU Pods”,计算能力可以与世界前500强的超级计算机媲美,最高峰值速度达到11.5 petaflops(每秒千万亿次)。

仔细观察就会发现,它们似乎是“Open Compute(开放计算)”机柜,或者说它的尺寸与Open Compute机柜差不多,可能稍宽一些。上面共有8行TPU单元,每组有4块TPU板卡,水平放置。这些机柜到底是全深度机柜还是一半深度,我们无法清楚知道。你可以看到TPU2机柜的计算节点从一侧伸出来,这一侧有6个接口,当中的2个接口向上连接到一个机框。

在TPU2 机框的最顶行,两个接口向上延伸,进入另一个机框,里面似乎没有安装TPU2单元。照猜测它是一个准系统(Bare bone)闪存机框,以很高的速度为TPU存储本地数据。不论怎样,主板至少有32个TPU2,也就是说一个机柜至少有128个TPU。计算一下就会知道,每一个Pod由2个机柜和蓝色罩子组成,它的计算力应该是11.5 petaflops。

在生产端,如此强大的计算力到底有什么好处呢?谷哥最新的大型翻译模块是用32个最棒的商用GPU(可能是Pascal)训练的,要花一整天训练,现在只需要1/8的TPU就能在一个下午完成。请注意,TPU是专门为TensorFlow优化过的,商用GPU(哪怕是高端GPU)瞄准的是通用目的,它既要完成高精度工作,也要完成低精度工作。从这个案例就可以看出,谷歌推出自有ASIC在投资回报方面是没有什么问题的。

还有一点要注意,第一代TPU也许已经拥有强大的推理能力,既快速又高效,不过模型必须先从GPU训练集群中移出,如果要将新模型或者重新训练的模型正式部署起来,实验过程就会变慢,谷歌开发者必须等更长的时间才能拿到结果,然后重复工作。正是因为这个原因,对于深度学习硬件来说,在单个设备上训练/推理就是研究的“圣杯”,现在我们终于走到了转折点,可以用多种方法解决此问题;未来还可以用英特尔 Knights Mill或者Nvidia Volta GPU。

Nvidia的Volta GPU有一些“tensor core”的处理元素,它可以让机器学习训练加速,处理超级计算任务时也会更快,Volta GPU在单个设备上的速度可以达到120 teraflops,相比一年前发布的Pascal进步很多。虽然Volta GPU很惊人,不过谷歌的产品还是夺走Nvidia的一些风头,虽然短期之内用户无法自己动手自制TPU机器。

Dean说Volta架构很有趣,因为Nvidia意识到核心矩阵相乘原语(core matrix multiply primitive)对于应用的加速而言相当重要。他还说,谷歌第一代TPU用相似的方法提高推理时矩阵相乘的速度,不过设备是在机器学习工作流中实现这一点的。他还说:“加快线性代数运算速度一直个好方法。”

先将硬件放在一边不谈,让我们从用户角度看一看。谷歌没有将秘密保护起来,在不久的将来,谷歌会通过“谷歌云平台”使用TPU。谷歌高级研究员Jeff Dean说,他们不会限制竞争,TPU只是作为一种选择提供给用户,还会提供Volta GPU,继续使用Skylake Xeons,开发者构建、运行模型时,谷歌会提供几种选择。谷歌将会在云计算中装备1000个TPU,提供给合格的研究团队使用,这些团队正在完成开放科研项目,它们也许愿意将自己的机器学习成果开放。

Dean解释说,谷歌内部完成一些机器学习任务时可能仍然会使用GPU和CPU,在同一款设备中同时使用两种训练和推理技术有着巨大的潜力,设备专为TensorFlow优化过,它也许会打破平衡。新TPU能耗如何我们现在还不知道,不过第一代设备能耗很低,如果用它作为标准评估新设备也许不合适,因为新设备既可以训练也可以推理。我们可以推断新TPU的能耗比Volta低,毕竟无论哪个方面来看Volta都是一款更大的设备,而且Volta可以完成多种工作,比如运行一些HPC应用,它们需要进行64位浮点运算,Volta还可以做一些机器学习超低精度运算工作。Nvidia已经将FP16(16位浮点运算)技术标准化,用户可以根据工作改变精度,只是我们必须假定新的TPU架构是16位或者8位的。

谷歌tpu什么时候发(谷歌二代TPU到底有什么秘密)(2)

关于这一点,Dean说:“第一代产品支持量子化整数运算,第二代支持浮点运算。一旦模型的推理训练结束,可以用来运行量化算法,就没有必要改变模型了,在整个训练和推理过程中可以使用相同的浮点数表示法,部署起来也会更容易。”

谷歌没有将定制硬件推向市场,这对于Nvidia、英特尔来说是一件好事,因为在这个市场Nvidia与英特尔都想占据上风,而谷歌的TPU很有竞争力。将二代TPU放进谷歌云平台,无疑可以帮助一些人完成规模化训练,不过正如上文提到的,完成这些工作时既会用到高端GPU,也会用到CPU。用户可以在架构上大规模使用TensorFlow,而架构本身就是针对TensorFlow设计的,这点也很吸引人。谷歌的举动会激怒亚马逊和微软,它们可能会加速引进最新的GPU,以前它们的速度比较慢。亚马逊使用的最高端GPU是 Tesla K80,微软Azure使用的是Pascal P100s。

有些人可能感到奇怪,为什么谷歌不将芯片商用呢?仔细阅读上文,看看谷歌做了一些什么,就会发现它选择的路线不是直接的,风险也比较小。如果深度学习市场像预料的一样扩张,TPU和TensorFlow也许会带来差异化,这种差异化如果足够大,就会让谷歌云平台拥有更大的优势,这种优势是之前没有过的。然后谷歌就可以大规模生产,进入大众市场,这样谷歌就可以有序扩张TensorFlow了。

多年前,谷歌就曾说过“不作恶”。老实说,在Volta推出之时展示一头这样的怪兽的确有点邪恶。

谷歌tpu什么时候发(谷歌二代TPU到底有什么秘密)(3)

猜您喜欢: