TPU 类型和地区

概览

如果创建 TPU 节点来处理机器学习工作负载,您必须选择 TPU 类型。TPU 类型决定了您的机器学习工作负载可用的 TPU 版本、TPU 核心数和 TPU 内存量。

例如,v2-8 TPU 类型的 TPU 节点具有 8 个 TPU v2 核心和 64 GiB 的 TPU 总内存。v3-2048 TPU 类型的 TPU 节点具有 2048 个 TPU v3 核心和 32 TiB 的 TPU 总内存。

要了解各种 TPU 版本和配置之间的硬件差异,请阅读系统架构文档。

要查看每个区域中每种 TPU 类型的价格,请查看价格页面。

可在一种 TPU 上运行的模型无需更改 TensorFlow 代码即可针对另一种 TPU 运行。例如,v2-8 代码无需更改即可在 v3-8 上运行。 但是,从 v2-8v3-8 扩缩为较大的 TPU 类型,例如 v2-32v3-128,需要进行大量微调和优化。

TPU 类型和地区

各种 TPU 类型的主要区别在于价格、性能、内存容量和地区可用性。

Google Cloud Platform 使用划分为多个地区的区域来定义物理计算资源的地理位置。例如,us-central1 区域表示靠近美国地理中心的一个区域,它包含以下地区:us-central1-aus-central1-bus-central1-cus-central1-f。创建 TPU 节点时,可指定要在其中创建该节点的地区。如需详细了解区域和地区资源,请参阅 Compute Engine 全球、区域和地区资源文档。

您可使用以下 TPU 类型来配置 TPU 节点:

美国

TPU 类型 (v2) TPU v2 核心数 TPU 总内存 区域/地区
v2-8 8 64 GiB us-central1-b
us-central1-c
us-central1-f
v2-32 32 256 GiB us-central1-a
v2-128 128 1 TiB us-central1-a
v2-256 256 2 TiB us-central1-a
v2-512 512 4 TiB us-central1-a
TPU 类型 (v3) TPU v3 核心数 TPU 总内存 可用地区
v3-8 8 128 GiB us-central1-a
us-central1-b
us-central1-f

欧洲

TPU 类型 (v2) TPU v2 核心数 TPU 总内存 区域/地区
v2-8 8 64 GiB europe-west4-a
v2-32 32 256 GiB europe-west4-a
v2-128 128 1 TiB europe-west4-a
v2-256 256 2 TiB europe-west4-a
v2-512 512 4 TiB europe-west4-a
TPU 类型 (v3) TPU v3 核心数 TPU 总内存 可用地区
v3-8 8 128 GiB europe-west4-a
v3-32 32 512 GiB europe-west4-a
v3-64 64 1 TiB europe-west4-a
v3-128 128 2 TiB europe-west4-a
v3-256 256 4 TiB europe-west4-a
v3-512 512 8 TiB europe-west4-a
v3-1024 1024 16 TiB europe-west4-a
v3-2048 2048 32 TiB europe-west4-a

亚太地区

TPU 类型 (v2) TPU v2 核心数 TPU 总内存 区域/地区
v2-8 8 64 GiB asia-east1-c

核心数较多的 TPU 类型的供应量有限。核心数较少的 TPU 类型供应更充足。

计算性价比

为了确定要使用哪种类型的 TPU,您可以使用 Cloud TPU 教程进行实验,训练与您的应用类似的模型。

在运行教程时,请将步骤数设为在 v2-8v3-8 TPU 类型上运行完整训练时所需步骤数的 5-10%。参照结果,您就知道该模型在每种 TPU 类型上运行相应步数所需的时间了。

由于各种 TPU 的性能呈线性比例关系,您知道在 v2-8v3-8 TPU 上运行任务需要多长时间后,就可以藉此估算在具有更多核心的大型 TPU 上运行模型可以将任务时间缩短多少。

例如,如果 v2-8 TPU 完成 1 万步需要 60 分钟时间,则 v2-32 节点应该只需大约 15 分钟即可完成这一任务。

要确定您所用区域内 Cloud TPU 的不同 TPU 类型和相关 Compute Engine 虚拟机在费用上的差异,请查看 TPU 价格页面。 当您了解模型在几种不同 TPU 上的大致训练时长后,您就可以对照训练时长来权衡虚拟机/TPU 的费用,从而确定性价比最佳的配置。

指定 TPU 类型

您要在创建 TPU 节点时指定 TPU 类型。例如,您可以使用以下某种方法选择 TPU 类型:

gcloud 命令

  • 使用 gcloud compute tpus execution-groups 命令:
$ gcloud compute tpus execution-groups create \
 --name=tpu_name \
 --zone=zone \
 --tf-version=tensorflow_version \
 --machine-type=n1-standard-8 \
 --accelerator-type=v3-8

命令标志说明

name
要创建的 Cloud TPU 的名称。
zone
拟在其中创建 Cloud TPU 的区域
tf-version
在虚拟机上安装的 Tensorflow gcloud 的版本。
machine-type
要创建的 Compute Engine 虚拟机的机器类型
accelerator-type
要创建的 Cloud TPU 的类型

Cloud Console

  1. 在左侧的导航菜单中,选择 Compute Engine > TPU
  2. 在 TPU 屏幕上,点击创建 TPU 节点。然后,您会看到 TPU 配置页面。
  3. TPU 类型下,选择一个支持的 TPU 版本
  4. 点击创建按钮。

后续步骤

  • 如需详细了解 TPU 架构,请参阅系统架构页面。
  • 如需了解哪些模型类型适合使用 Cloud TPU,请参阅何时使用 TPU
  • 如果您计划在 Kubernetes 或 ML Engine 上运行模型,请参阅选择 TPU 服务