管理 TPU

本文档中介绍的 gcloud 命令可同时用于 TPU 配置和 TPU 节点。您使用的 gcloud 命令取决于您使用的 TPU 配置。每个 gcloud 命令都会显示在一个标签页式部分中。选择您要使用的 TPU 配置的标签页,此时相应网页会显示相应的 gcloud 命令。除非您知道需要使用 TPU 节点,否则我们建议您使用 TPU 虚拟机。如需详细了解 TPU 配置,请参阅系统架构

运行机器学习 (ML) 模型需要 Compute Engine 虚拟机和 Cloud TPU 资源。本页面介绍如何使用以下工具管理这些资源:

前提条件

为了运行这些程序,您需要设置 Google Cloud Platform (GCP) 项目。如果没有项目,请参阅创建和管理项目设置一个。

如果您使用的是 gcloud 命令,则可以使用 Google Cloud Shell 或在本地安装 gcloud 命令。利用 Google Cloud Shell,您无需安装任何软件即可与 Cloud TPU 进行交互。Google Cloud Shell 可能会在一段时间不活动后断开连接,因此如果您运行的是长时间运行的命令,我们建议您在本地机器上安装 gcloudgcloud 命令是 Google Cloud CLI 的一部分。

  1. 安装 Google Cloud CLI
  2. 配置 gcloud 以使用您的项目。

    gcloud config set project project-name
    
  3. 配置 gcloud 以使用要在其中创建 Cloud TPU 资源的可用区。例如 us-central1-b

    $ gcloud config set compute/zone zone
    

如需详细了解 gcloud 命令,请参阅 gcloud 参考文档

创建 Cloud TPU

创建 Cloud TPU 时,您将创建 Compute Engine 虚拟机和 TPU 资源。

使用 gcloud 创建 Cloud TPU

如果要使用 Cloud Shell,请点击打开 Cloud Shell。 否则,请在本地计算机上打开命令提示符/终端窗口。

创建 Cloud TPU 资源。您使用的命令取决于您使用的是 TPU 虚拟机还是 TPU 节点。如需了解详情,请参阅系统架构

TPU 虚拟机

$ gcloud compute tpus tpu-vm create tpu-name \
  --zone=zone \
  --accelerator-type=v3-8 \
  --version=tpu-vm-tf-2.8.0

命令标志说明

zone
拟在其中创建 Cloud TPU 的可用区

accelerator-type
要创建的 Cloud TPU 的类型

version
Cloud TPU 软件版本。

TPU 节点

$ gcloud compute tpus execution-groups create --name=tpu-name \
  --zone=zone \
  --tf-version=2.8.0 \
  --machine-type=n1-standard-1 \
  --accelerator-type=v3-8

命令标志说明

zone
拟在其中创建 Cloud TPU 的可用区

tf-version
gcloud 命令在您的虚拟机上安装的 Tensorflow 版本。

machine-type
要创建的 Compute Engine 虚拟机的机器类型

accelerator-type
要创建的 Cloud TPU 的类型。

运行标准安装脚本

您可以在创建 TPU 虚拟机时指定 --metadata startup-script 参数,以在每个 TPU 虚拟机上运行启动脚本。以下是对 TPU 虚拟机使用 startup-script 的示例。

$ gcloud compute tpus tpu-vm create tpu-name \
    --zone=zone \
    --accelerator-type=tpu-type \
    --version=tpu-vm-tf-2.8.0 \
    --metadata startup-script='#! /bin/bash
      pip3 install numpy
      EOF'

TPU 虚拟机创建后,您可以使用 SSH 连接到 TPU 虚拟机并运行以下命令,从启动脚本查看日志:

$ cat /var/log/syslog | grep startup-script

在 Google Cloud Console 中创建 Cloud TPU

  1. 导航到 Google Cloud Console
  2. 在导航菜单中,选择 Compute Engine > TPU
  3. 点击“创建 TPU 节点”
  4. 在“名称”框中,输入 TPU 实例名称。
  5. 在“可用区”框中,选择要在其中创建 TPU 的可用区。
  6. TPU 配置下,选择 TPU 虚拟机或 TPU 节点。TPU 配置确定您是将 TPU 创建为 TPU 虚拟机还是 TPU 节点。如需了解详情,请参阅系统架构
  7. 对于“TPU 类型”,选择要创建的 TPU 类型
  8. 对于 TPU 软件版本,请选择软件版本。创建 Cloud TPU 虚拟机时,TPU 软件版本指定了要安装的 TPU 运行时的版本。创建 Cloud TPU 节点时,通过 TPU 软件版本您可选择安装在节点虚拟机上的机器学习框架。无需进行其他设置。如需了解详情,请参阅支持的模型
  9. 点击“创建”以创建资源。

连接到 Cloud TPU 虚拟机

默认情况下,用于创建 TPU 节点的 gcloud 命令会自动尝试通过 SSH 连接到您的 TPU 节点。如果您使用的是 TPU 节点并且未通过 gcloud 命令连接到 Compute Engine 实例,则可以通过运行以下 TPU 节点命令进行连接。使用 TPU 虚拟机时,您必须使用以下 TPU 虚拟机命令明确通过 SSH 连接到 TPU。

TPU 虚拟机

$ gcloud compute tpus tpu-vm ssh tpu-name \
  --zone=zone

TPU 节点

$ gcloud compute ssh tpu-name\
  --zone=zone

列出 Cloud TPU 资源

您可以列出指定可用区中的所有 Cloud TPU。

使用 gcloud 列出 Cloud TPU 资源

您使用的命令取决于您使用的是 TPU 虚拟机还是 TPU 节点。如需了解详情,请参阅系统架构

TPU 虚拟机

$ gcloud compute tpus tpu-vm list --zone=zone

TPU 节点

$ gcloud compute tpus execution-groups list --zone=zone

此命令会列出指定可用区中的 Cloud TPU 资源。如果当前没有设置资源,则输出内容中虚拟机和 TPU 位置将只显示破折号。如果一个资源处于活动状态而另一资源非活动,则您将看到一条说明运行状况不佳的消息。此时,您需要启动或重启当前未运行的资源。

使用 GCP Console 列出 Cloud TPU 资源

  1. 导航到 Google Cloud Console

  2. 在导航菜单中,选择 Compute Engine > TPU。 控制台会显示 TPU 页面。

检索有关 Cloud TPU 的信息

您可以检索关于指定 Cloud TPU 的信息。

使用 gcloud 检索有关 Cloud TPU 的信息

您使用的命令取决于您使用的是 TPU 虚拟机还是 TPU 节点。如需了解详情,请参阅系统架构

TPU 虚拟机

$ gcloud compute tpus tpu-vm describe tpu-name \
  --zone=zone

TPU 节点

$ gcloud compute tpus execution-groups describe tpu-name \
  --zone=zone

使用 Google Cloud Console 检索有关 Cloud TPU 的信息

  1. 导航到 Google Cloud Console
  2. 在导航菜单中,选择 Compute Engine > TPU。 控制台会显示 TPU 页面。
  3. 点击 Cloud TPU 的名称,系统会显示 Cloud TPU 详情页面。

停用 Cloud TPU 资源

您可以停止单个 Cloud TPU 以停止产生费用,而不会丢失虚拟机的配置和软件。不支持停止 TPU Pod。

使用 gcloud 停止 Cloud TPU

用于停止 Cloud TPU 的命令取决于您使用的是 TPU 虚拟机还是 TPU 节点。如需了解详情,请参阅系统架构

TPU 虚拟机

$ gcloud compute tpus tpu-vm stop tpu-name \
--zone=zone

TPU 节点

$ gcloud compute tpus stop tpu-name \
--zone=zone

在 GCP Console 中停用 Cloud TPU

  1. 导航到 Google Cloud Console

  2. 在导航菜单中,选择 Compute Engine > TPU。 控制台会显示 TPU 页面。

  3. 选中 Cloud TPU 旁边的复选框,然后点击“停止”

启动 Cloud TPU 资源

您可以在 Cloud TPU 停止后启动它。

使用 gcloud 启动 Cloud TPU

用于停止 Cloud TPU 的命令取决于您使用的是 TPU 虚拟机还是 TPU 节点。如需了解详情,请参阅系统架构

TPU 虚拟机

$ gcloud compute tpus tpu-vm start tpu-name --zone=zone

TPU 节点

$ gcloud compute tpus start tpu-name --zone=zone

在 GCP Console 中启动 Cloud TPU

  1. 导航到 Google Cloud Console

  2. 在导航菜单中,选择 Compute Engine > TPU。 控制台会显示 TPU 页面。

  3. 选中 Cloud TPU 旁边的复选框,然后点击“启动”

删除 Compute Engine 虚拟机和 Cloud TPU 资源

您可以在使用完 Cloud TPU 后将其删除。

使用 gcloud 删除 Cloud TPU

使用的命令取决于您使用的是 TPU 虚拟机还是 TPU 节点。如需了解详情,请参阅系统架构

TPU 虚拟机

$ gcloud compute tpus tpu-vm delete tpu-name \
  --zone=zone

命令标志说明

zone
拟在其中创建 Cloud TPU 的可用区

TPU 节点

$ gcloud compute tpus execution-groups delete tpu-name \
  --zone=zone

命令标志说明

zone
拟在其中创建 Cloud TPU 的可用区

使用 GCP Console 删除 Cloud TPU

  1. 导航到 Google Cloud Console

  2. 在导航菜单中,选择 Compute Engine > TPU。 控制台会显示 TPU 页面。

  3. 选中 Cloud TPU 旁边的复选框,然后点击“删除”