News

谷歌Cloud TPU架构解析:从v1到第八代演进及选型指南

谷歌Cloud TPU架构解析:从v1到第八代演进及选型指南

如果你最近关注过Google Cloud TPU的定价或文档,可能会发现有多种版本可供选择:TPU v5e、v5p、v6e、Ironwood,以及最新的TPU 8t和8i。每个版本都有不同的规格、应用场景和权衡考量。本文将详细解读每一代主要的TPU架构,剖析各版本间的变化,以及这些变化对运行工作负载的用户意味着什么。

在深入探讨每一代TPU之前,了解其关键组成部分有助于更好地理解各版本间的差异,因为这些名称在不同版本中反复出现。

  • 矩阵乘法单元(MXU):这是每个TPU TensorCore内部的核心计算引擎,负责执行支持神经网络数学运算的乘积累加操作。在TPU v5p及之前的多数代次中,MXU是一个128x128的脉动阵列,包含16,384个乘积累加器同时工作。从Trillium(v6e)开始,MXU扩展到256x256,将每周期操作次数翻了两番。
  • TensorCore:一个TensorCore包含一个或多个MXU、一个向量处理单元(VPU)和一个标量单元。根据代次的不同,单个TPU芯片可能含有一个或两个TensorCore。
  • 高带宽内存(HBM):这是片上内存,用于存储模型权重和激活值。对于大型模型而言,HBM容量和带宽通常是真正的瓶颈,而非计算能力。每一代都带来了更大的HBM容量和更快的访问速度。
  • 芯片间互联(ICI):这是连接Pod内芯片的网络。ICI带宽决定了芯片在训练过程中同步梯度的速度。更高的带宽意味着更少的通信等待时间,更多的计算时间。
  • 稀疏核心(SparseCore):TPU v4引入的稀疏核心是专门用于嵌入操作的处理器,这些操作是推荐系统和大型词汇模型的核心。v5p和Ironwood每个芯片包含四个稀疏核心,而v6e则有两个。
  • 拓扑结构:指芯片在Pod内的连接方式。早期版本使用2D环形(每个芯片连接四个邻居)。从v4开始,谷歌转向3D环形拓扑,用于更大规模的Pod,这减少了任意两个芯片之间的最大跳数,并降低了通信延迟。

TPU v1 (2015, 仅供内部使用)

第一代TPU的诞生只有一个目的:推理。它不向公众开放,也无法用于模型训练。该芯片包含一个256x256的8位乘积累加器脉动阵列,提供92 TOPS的INT8计算能力。它的功耗约为40瓦,在当时效率极高。

谷歌将其保密了一年多。当桑达尔·皮查伊在2016年Google I/O大会上宣布它时,表示它已在谷歌数据中心运行了一年多,为搜索、地图和街景等服务提供支持。

↗ 阅读原文