系统架构

张量处理单元 (TPU) 是特定于应用的集成电路 由 Google 设计的 (ASIC),可加速机器学习工作负载。Cloud TPU 是一项 Google Cloud 服务,可将 TPU 作为可伸缩的资源使用。

TPU 旨在快速执行矩阵运算,因此非常适合 机器学习工作负载。您可以使用以下命令在 TPU 上运行机器学习工作负载: TensorFlowPytorch 等框架 和 JAX

Cloud TPU 术语

如果您刚开始接触 Cloud TPU,请查看 TPU 文档首页。 以下部分介绍了本文档中使用的术语和相关概念。

批量推理

批量或离线推理是指在生产环境中进行推理 通常基于大量输入。批量推理用于离线工作 以及用于评估训练的模型等任务。 延迟时间 SLO 不是批量推断的优先事项。

TPU 芯片

一个 TPU 芯片包含一个或多个 TensorCore。TensorCore 的数量取决于 TPU 芯片的版本。每个 TensorCore 包含一个或多个 矩阵乘法单元 (MXU)、矢量单元和标量单元。

MXU 由收缩阵列中的 128 x 128 个乘积累加器组成。 MXU 提供了 TensorCore 中的大部分计算能力。每个 MXU 都可以 每个周期执行 16,000 次乘积累加运算。所有乘法均以 bfloat16 输入数据,但所有累积都在 FP32 数字格式。

矢量单位用于一般计算,例如激活和 softmax。 标量单位用于控制流、计算内存地址以及 维护操作。

TPU 立方体

4x4x4 拓扑。这仅适用于 3D 拓扑(从 v4 TPU 版本)。

推断

推理是使用经过训练的模型对新数据集进行预测的过程。 数据。它由传送进程使用。

多切片与单切片

多切片 (Multislice) 是一组切片,可将 TPU 连接扩展到 芯片间互连 (ICI) 连接并利用数据中心 网络 (DCN) 在切片之外传输数据每个切片中的数据 由 ICI 传输。使用此混合模式 多切片支持 并行处理,让您可以使用更多 TPU 超过单个切片可以容纳的核心数。

TPU 可用于在单个切片或多个切片上运行作业。 请参阅多切片简介 了解详情。

Cloud TPU ICI 弹性

ICI 弹性有助于提高光链路的容错能力, 用于在立方体之间连接 TPU 的光学电路交换机 (OCS)。 (立方体内的 ICI 连接使用的是不受影响的铜制链路)。 ICI 弹性允许 ICI 连接围绕 OCS 和光学 ICI 进行路由 错误。因此,它可以提高 TPU 的调度可用性 但 ICI 性能会暂时下降。

与 Cloud TPU v4 类似,ICI 弹性默认处于启用状态 为一个立方体或更大的 v5p 切片:

  • v5p-128(在指定加速器类型时)
  • 4x4x4(指定加速器配置时)

已排队的资源

TPU 资源的表示,用于排队和管理对 单切片或多切片 TPU 环境。请参阅已加入队列的资源用户指南

提供服务

服务是指将经过训练的机器学习模型部署到 来进行预测或决策。 延迟时间和服务级可用性对传送非常重要。

单主机和多主机

TPU 主机是指在连接到 TPU 硬件的物理计算机上运行的虚拟机。 TPU 工作负载可以使用一个或多个主机。

单主机工作负载仅限一个 TPU 虚拟机。多主机工作负载 在多个 TPU 虚拟机上分配训练。

切片

Pod 切片是位于同一 TPU Pod 内的芯片集合 通过高速芯片间互连 (ICI) 进行连接。对 Slice ,具体取决于 TPU 版本。

芯片形状芯片拓扑也是指切片形状。

SparseCore

v5p 每个芯片包含四个 SparseCore,这些核心是 Dataflow 可加快模型速度的处理器(依赖于推荐中的嵌入) 模型。

TPU Pod

TPU Pod 是通过专用网络组合在一起的一组连续的 TPU。 TPU Pod 中的 TPU 芯片的数量取决于 TPU 版本。

TPU 虚拟机或工作器

一台运行 Linux 并且能够访问底层 TPU 的虚拟机。TPU 虚拟机 也称为工作器

TensorCores

TPU 芯片有一个或两个 TensorCore 用于运行矩阵乘法。 如需详细了解 TensorCore,请参阅 ACM 文章

工作器

请参阅 TPU 虚拟机

TPU 版本

TPU 芯片的具体架构取决于您使用的 TPU 版本。 每个 TPU 版本还支持不同的切片大小和配置。对于 请参阅 以下页面:

TPU 架构

有两种 TPU 架构描述虚拟机的物理配置 连接到 TPU 设备:TPU 节点和 TPU 虚拟机。TPU 节点是原始节点 v2 和 v3 TPU 版本的 TPU 架构。在 v4 中,TPU 虚拟机 默认架构,但这两种架构均受支持。TPU 节点 架构已弃用,仅支持 TPU 虚拟机。如果您 请参阅从 TPU 节点迁移 转换为 TPU 虚拟机架构,从 TPU 节点转换为 到 TPU 虚拟机架构。

TPU 虚拟机架构

利用 TPU 虚拟机架构,您可以直接连接到以物理方式连接的虚拟机 通过 SSH 连接到 TPU 设备。您拥有虚拟机的 root 访问权限,因此可以运行 任意代码。您可以访问编译器和运行时调试日志和错误 消息。

图片

TPU 节点架构

TPU 节点架构由一个与 TPU 进行通信的用户虚拟机组成 通过 gRPC 托管。使用此架构时,您无法直接访问 TPU 主机,因此难以调试训练错误和 TPU 错误。

图片

从 TPU 节点迁移到 TPU 虚拟机架构

如果您有使用 TPU 节点架构的 TPU,请按照以下步骤进行操作 识别、删除它们并重新预配为 TPU 虚拟机。

  1. 转到 TPU 页面:

    前往 TPU

    1. 架构标题下找到您的 TPU 及其架构。 如果架构是“TPU 虚拟机”,您无需执行任何操作。如果 架构是“TPU 节点”您需要删除并重新预配 TPU。
  2. 删除并重新预配 TPU。

    如需了解更多详情,请参阅管理 TPU 有关删除的说明 和重新预配 TPU。

后续步骤