当前位置: 首页 > 科技赋能

谷歌第二代TPU的秘密是什么?听听专家怎么说

时间:2024-05-22 12:01:08 科技赋能

Zhidixcom(公众号:zhidxcom)编辑|海中天简介:2018年Google I/O大会上,第二代TPU亮相,它比第一代TPU更强大。

TPU到底是什么?什么是新的? Nextplatform记者Nicole Hemsoth大约一个月前采访了谷歌著名硬件工程师Norman Jouppi,得到了一些内幕消息。

他还收集了大量资料,对第二代TPU进行了深入分析。

我们来听听 Nicole Hemsoth 是如何解释的:一个月前,我与 Google 著名硬件工程师 Norman Jouppi 进行了交流。

讨论的焦点是TPU(张量处理单元)。

谷歌使用TPU来加速深度学习推理,但设备(第一代TPU)已经有点过时了。

在今年的I/O大会上,谷歌抢走了Nvidia最近推出的Volta GPU的风头。

谷歌透露了第二代TPU的细节。

第二代TPU系统板的运算速度达到了万亿次,这是相当惊人的。

,可用于训练和推理。

定制网络将TPU组合成“TPU Pod”。

计算能力可与世界上最强大的超级计算机相媲美,最高峰值速度可达11.5 petaflops(每秒千万亿次)。

Dean解释道:“我们有一支才华横溢的ASIC设计团队,开发了第一代TPU,并且有很多类似的人参与到该项目中。

与第一代TPU相比,第二代TPU的设计更接近整体系统更小,因为我们只在一个芯片上进行推断,训练过程要求更高,因为我们必须将底层设备作为一个整体来考虑,并了解它们如何连接到更大的系统,例如 Google Pods。

” ,深入了解定制网络架构。

以下信息摘自我们事先准备的高层简报。

它们与最新的TPU有关;我们还尝试了解新型 TPU 是如何由箱体组成、堆叠在一起的,以及最终它们的性能。

达到超级计算机的水平。

谷歌并没有透露第二代TPU芯片或主板的规格,不过好在有一张图片,我们可以从中倒推数学。

有些人可能见过很多超级计算机主板。

对于他们来说,Google TPU2 可能有点类似于 Cray XT 或 XC 架构。

这很有趣,但是互连芯片似乎被焊接在主板的中心,这是与外界的接口。

将其放置在主板外部。

TPU2共有4个TPU2单元,每个TPU2单元的最大峰值吞吐量(Peak Throughput)约为万亿倍,这一点我们在上面已经提到过。

假设它使用 16 位半精度浮点。

主板左右两侧各有4个连接接口,左侧各有2个接口。

如果每个 TPU2 板都直接连接到闪存,那就非常有趣了,这就是 AMD 即将推出的 Vega Radeon Instinct GPU 加速器的设计方式。

左侧的另外2个接口可以直接连接到存储单元,或者向上连接到更高级别的网络,从而允许TPU互连以形成更复杂的处理系统。

如果我不得不猜测的话,每个TPU2单元应该有2个穿过机柜与外界连接的接口,左边的两个额外接口用于连接本地存储单元,另一个作为机柜内的互连节点。

这是 TPU2 主板“Pod”的样子。

谷歌表示,他们处理机器学习数据的整体能力达到了 11.5 petaflops(千万亿次浮点运算)。

如果仔细观察,它们似乎是“开放计算”机柜,或者它们的尺寸与开放计算机柜大致相同,可能更宽一些。

其上有8排TPU单元,每组有4块TPU板,水平放置。

这些橱柜是全进深的还是半进深的,我们并没有一个明确的概念。

可以看到TPU2机柜的计算节点从一侧突出。

这一侧有6个接口,其中2个向上连接到机箱。

在TPU2机箱的顶排,两个接口向上延伸到另一个机箱中,该机箱似乎没有安装TPU2单元。

据猜测,它是一个准系统闪存框架,以非常高的速度为 TPU 存储本地数据。

不管怎样,主板至少有32个TPU2,也就是说一个机柜至少有1个TPU。

如果你计算一下,你会知道每个Pod由2个机柜和一个蓝色盖子组成,它的计算能力应该是11.5 petaflops。

在生产端,如此强大的算力有什么好处呢? Google 最新的大规模翻译模块是使用 32 个最好的商业 GPU(可能是 Pascal)进行训练的。

本来需要训练一整天,现在只需要1/8的TPU,一个下午就可以完成。

请注意,TPU 专门针对 TensorFlow 进行了优化。

商用 GPU(甚至高端 GPU)面向通用用途。

他们既要完成高精度的工作,又要完成低精度的工作。

从这个案例可以看出,谷歌推出自己的ASIC,从投资回报率上来说是没有问题的。

另外需要注意的是,第一代TPU可能已经具备强大的推理能力,速度快、效率高,但首先必须将模型移出GPU训练集群。

如果要正式部署新模型或重新训练的模型,实验过程会更慢,谷歌开发人员将不得不等待更长的时间才能得到结果,然后重复工作。

正是因为这个原因,当涉及到深度学习硬件时,在单个设备上进行训练/推理是研究的圣杯,而现在我们终于到达了一个可以通过多种方式解决这个问题的转折点;未来,英特尔 Knights Mill 或 Nvidia Volta GPU。

Nvidia的Volta GPU拥有一些“张量核心”处理元件,可以加快机器学习训练速度,更快地处理超级计算任务。

与一年前发布的产品相比,Volta GPU 在单个设备上可以达到万亿次浮点运算。

帕斯卡进步很大。

尽管 Volta GPU 令人惊叹,但谷歌的产品仍然抢走了 Nvidia 的一些风头,尽管短期内用户将无法构建自己的 TPU 机器。

Dean 表示 Volta 架构很有趣,因为 Nvidia 意识到核心矩阵乘法原语对于加速应用程序非常重要。

他还表示,谷歌的第一代TPU使用了类似的方法来提高推理过程中矩阵乘法的速度,但该设备在机器学习工作流程中实现了这一点。

他还表示:“总有一种好的方法可以加快线性代数运算的速度。

”现在先把硬件放在一边,我们从用户的角度来看。

谷歌并没有保守秘密,在不久的将来,谷歌将通过“谷歌云平台”使用TPU。

谷歌高级研究员杰夫·迪恩表示,他们不会限制竞争。

TPU 仅作为选项提供给用户。

还将提供 Volta GPU。

如果开发人员继续使用 Skylake Xeon,Google 将在构建和运行模型时提供多种选项。

谷歌将在云计算中配备TPU,并将其提供给合格的研究团队。

这些团队正在完成开放的科学研究项目,他们可能愿意公开他们的机器学习成果。

Dean解释说,谷歌在内部完成一些机器学习任务时可能仍然会使用GPU和CPU。

在同一设备中使用训练和推理技术有着巨大的潜力。

该设备针对 TensorFlow 进行了优化,它可能会打破平衡。

我们还不知道新TPU的能耗是多少,但第一代设备的能耗非常低。

用它作为评估新设备的标准可能不合适,因为新设备既可以用于训练,也可以用于推理。

我们可以推断,新的 TPU 比 Volta 消耗更少的能量。

毕竟,Volta 在各个方面都是一个更大的设备,Volta 可以完成多种任务,例如运行一些需要 64 位浮点运算的 HPC 应用程序。

,Volta还可以做一些机器学习超低精度计算。

Nvidia已经标准化了FP16(16位浮点运算)技术,用户可以根据自己的工作改变精度,但我们必须假设新的TPU架构是16位或8位。

对于这一点,Dean表示:“第一代产品支持量化整数运算,第二代支持浮点运算。

一旦模型的推理训练完成,就可以用来运行量化算法,不需要在整个训练过程中可以使用相同的浮点表示,并且部署起来会更容易,“谷歌不会将定制硬件推向市场,这对 Nvidia 和英特尔来说是一件好事,因为。

英伟达和英特尔都在这个市场。

想要占据上风,谷歌的TPU就很有竞争力。

将第二代TPU放入谷歌云平台无疑会帮助一些人完成大规模训练,但正如上面提到的,高端GPU和CPU都会用来完成这些任务。

用户可以在架构中大规模使用TensorFlow,而且架构本身就是为TensorFlow设计的,这也非常有吸引力。

谷歌的举动将激怒亚马逊和微软,它们可能会加速推出最新的 GPU,而此前这些 GPU 的速度较慢。

亚马逊使用的最高端GPU是Tesla K80,微软Azure使用Pascal Ps。

有人可能会疑惑,谷歌为什么不将芯片商业化呢?如果你仔细阅读上面的内容,看看Google做了什么,你会发现它选择的路线并不直接,风险也比较低。

如果深度学习市场如预期扩大,TPU和TensorFlow可能会带来差异化。

如果这种差异化足够大,将会给谷歌云平台带来前所未有的更大优势。

然后Google就可以量产它并进入大众市场,这样Google就可以有序地扩展TensorFlow。

多年前,谷歌就说过“不作恶”。

说实话,Volta推出时就炫耀这样的怪物,有点邪恶。