Compute Engine 中的 TPU 资源
您可以使用 Compute Engine 资源创建和管理 TPU。本页面从概念上大致介绍了如何将 TPU 与 Compute Engine 搭配使用。它将 TPU 概念映射到 Compute Engine 资源,并概述了迁移到 Compute Engine 的过程。
TPU 和 Compute Engine 概念
为了管理 Compute Engine 中的 TPU 资源,您最好了解以下主要的 TPU 和 Compute Engine 概念:
- TPU 虚拟机:直接连接到 TPU 硬件的虚拟机。单个 TPU 虚拟机与单主机切片相同。
- TPU 切片:一组互连的 TPU 芯片,可通过一个或多个 TPU 虚拟机进行访问。Slice 具有以下范围之一:
- 单宿主机切片:由一台宿主机组成的切片。单主机切片是指单个 TPU 虚拟机的另一种方式。
- 多主机切片:由多个 TPU 虚拟机组成,这些虚拟机通过高速芯片间互连 (ICI) 相互连接。
如需在 Compute Engine 中创建和管理 TPU 资源,您可以使用以下 Compute Engine 资源:
- 虚拟机实例:Compute Engine 虚拟机。单主机 TPU 切片是作为单个虚拟机实例创建的。在旧版 Cloud TPU API 中,单个 TPU 切片由
NodeREST 对象表示。 - 托管式实例组 (MIG):作为单个单元进行管理的虚拟机实例的集合。多主机 TPU 切片是作为 MIG 创建的,其加速器拓扑在工作负载政策中指定。在旧版 Cloud TPU API 中,一个或多个切片使用
QueuedResource或NodeREST 对象表示。
TPU 和 Compute Engine 概念图
下表介绍了 TPU 概念与 Compute Engine 资源的对应关系:
| TPU 概念 | Compute Engine 资源 | 资源详情 | 使用场景 |
|---|---|---|---|
| TPU 虚拟机 | 虚拟机实例 | 可直接访问 TPU 硬件的 Compute Engine 虚拟机。 | 单个虚拟机任务、SSH 命令执行或调试 |
| TPU 单主机或子主机切片 | 具有单个虚拟机的虚拟机实例或 MIG | 包含一台物理宿主机。 | 使用自动扩缩功能进行推理 |
| TPU 多主机切片 | 在工作负载政策中指定了加速器拓扑的 MIG | 一组使用 ICI 互连的 TPU 虚拟机,作为单个逻辑单元进行管理。 | 需要原子级配置的大规模分布式训练 |
从 Cloud TPU API 迁移
Cloud TPU API 不再处于积极开发阶段。这包括 Cloud TPU API 的 Google Cloud CLI 和 Cloud TPU API 的 Cloud 客户端库。Cloud TPU API 将仅接收 bug 修复和安全更新。从 TPU7x (Ironwood) 开始,新一代硬件仅通过 Compute Engine 或 Google Kubernetes Engine (GKE) 提供支持。如需使用最新功能并获得对最新 TPU 版本的支持,请迁移您的旧版 Cloud TPU API 调用,将其替换为 Compute Engine 或 GKE 中的对等调用。
您可以根据自己的编排和工作负载要求,选择以下任一路径:
- Compute Engine:建议需要直接控制虚拟机级别或使用自定义操作系统映像的用户使用。如需开始在 Compute Engine 中预配 TPU,请参阅快速入门:创建 TPU 虚拟机。
- GKE:建议用于容器化工作负载、自动伸缩和大规模编排。如需详细了解如何在 GKE 中使用 TPU,请参阅关于 GKE 中的 TPU。
现有 TPU 资源
使用 Cloud TPU API(Node 或 QueuedResource REST 对象)创建的 TPU 资源与 Compute Engine 和 GKE 不兼容。如需开始使用 Compute Engine 或 GKE,请执行以下操作:
- 重写所有使用 Cloud TPU API 的脚本,以使用 Compute Engine 或 GKE API。
- 使用 Cloud TPU API 删除资源,然后使用 Compute Engine 或 GKE API 重新创建资源。
限制
Compute Engine 中的 TPU 具有以下限制:
- TPU 版本:Compute Engine 支持 v5p、v6e 和 TPU7x。
- 容量模式:Compute Engine 不支持 TPU 的所有容量模式。
- 多切片:Compute Engine 不支持创建互连的多主机 TPU 切片组。如需使用多切片,您必须使用 Google Kubernetes Engine (GKE)。如需了解详情,请参阅在 GKE 中部署 TPU 多切片。
- 收集:Compute Engine 不支持收集调度。如需使用收集安排,您必须使用 GKE。如需了解详情,请参阅 GKE 文档中的收集调度。