创建 Cloud TPU 虚拟机
您可以使用 Create Node API、Queued Resources API 或 Google Kubernetes Engine (GKE) 创建 TPU 虚拟机。
当您使用 Google Cloud CLI 运行 gcloud compute tpus tpu-vm create
command 以及使用
Google Cloud 控制台创建 TPU 虚拟机时,系统会调用 Create Node API。使用 Create Node API 时,系统会立即处理您的请求。如果容量不足以满足您的请求,请求将失败。
我们建议使用 Queued Resources API 创建 TPU 虚拟机。使用 Queued Resources API 创建 TPU 虚拟机时,Cloud TPU 服务会将您的已排队的资源请求添加到该服务维护的队列中。当请求的资源可用时,该服务会将其分配给您的 Google Cloud 项目,供您立即独占使用。如需了解 详情,请参阅管理已排队的资源。
如果您想使用 Google Kubernetes Engine (GKE) 管理 TPU 资源,请先创建一个 GKE 集群。然后,将包含 TPU 切片的节点池添加到集群。如需了解详情,请参阅 GKE 中的 TPU 简介。
前提条件
满足以下前提条件:
按照 为 TPU 设置 Google Cloud 项目中的说明,为 TPU 创建 Google Cloud 项目。
按照 规划 Cloud TPU 资源中的说明,确定您的 TPU 要求。
如果您使用的是某个 Cloud 客户端库,请按照适用于您所用语言的 设置说明执行操作。
设置用于创建具有 8 个芯片的 v5e TPU 的环境变量。以下示例使用具有 8 个芯片的 v5e TPU。您可以指定其他加速器类型和版本。如需了解详情,请参阅 TPU 版本 。
export TPU_NAME=your-tpu-name export PROJECT_ID=your-project export ZONE=us-central1-a export ACCELERATOR_TYPE=v5litepod-8 export VERSION=v2-alpha-tpuv5-lite
使用 Create Node API 创建 Cloud TPU
您可以使用 gcloud、 Google Cloud 控制台、
或 Cloud TPU API 创建 Cloud TPU。
创建 Cloud TPU 时,请指定 TPU 软件版本(也称为运行时版本)。如需确定要使用的软件版本,请参阅 TPU 软件版本。
此外,请为所使用的 TPU 配置指定 TensorCore 或 TPU 芯片的数量。如需了解详情,请参阅系统架构中适用于您的 TPU 版本的相应部分 。
gcloud
使用 gcloud compute tpus tpu-vm create
命令,通过 Create Node API 创建 TPU。如需配置特定的内部或外部 IP 地址,请参阅
外部和内部 IP 地址
。
以下命令会创建一个具有 8 个 TPU 芯片的 v5e TPU 虚拟机:
gcloud compute tpus tpu-vm create $TPU_NAME \ --project=$PROJECT_ID --zone=$ZONE \ --accelerator-type=$ACCELERATOR_TYPE \ --version=$VERSION
命令标志说明
控制台
以下说明会创建一个具有 8 个 TPU 芯片的 v5e TPU 虚拟机:
curl
以下命令使用 curl 创建一个具有 8 个 TPU 芯片的 v5e TPU 虚拟机。
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d "{accelerator_type: $ACCELERATOR_TYPE, \ runtime_version:'$VERSION', \ network_config: {enable_external_ips: true}, \ shielded_instance_config: { enable_secure_boot: true }}" \ https://tpu.googleapis.com/v2/projects/$PROJECT_ID/locations/$ZONE/nodes?node_id=$TPU_NAME
必填字段
runtime_version- 您使用的 Cloud TPU 运行时版本。
project-id- 已注册的 Google Cloud 项目的名称。
zone- 您要在其中创建 Cloud TPU 的可用区 。
node_name- 您创建的 TPU 虚拟机的名称。
Java
此代码示例使用 Java 中的 Cloud TPU API 创建一个具有 8 个 TPU 芯片的 v5e TPU 虚拟机。
如需向 Cloud TPU 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
此代码示例使用 Node.js 中的 Cloud TPU API 创建一个具有 8 个 TPU 芯片的 v5e TPU 虚拟机。
如需向 Cloud TPU 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
此代码示例使用 Python 中的 Cloud TPU API 创建一个具有 8 个 TPU 芯片的 v5e TPU 虚拟机。
如需向 Cloud TPU 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
运行启动脚本
您可以在创建 TPU 虚拟机时指定 --metadata startup-script 标志,以便在 TPU 虚拟机上运行启动脚本。
gcloud
此命令会创建一个 TPU 虚拟机并指定一个启动脚本。
gcloud compute tpus tpu-vm create $TPU_NAME \ --zone=$ZONE \ --accelerator-type=$ACCELERATOR_TYPE \ --version=$VERSION \ --metadata startup-script='#! /bin/bash pip3 install numpy EOF'
Java
此代码示例会创建一个 TPU 虚拟机,并在 Java 中指定一个启动脚本。
如需向 Cloud TPU 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
此代码示例会创建一个 TPU 虚拟机,并在 Node.js 中指定一个启动脚本。
如需向 Cloud TPU 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
此代码示例会创建一个 TPU 虚拟机,并在 Python 中指定一个启动脚本。
如需向 Cloud TPU 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
后续步骤
- 了解已排队的资源。
- 了解如何管理 TPU 虚拟机。
- 了解 GKE 中的 TPU。
- 了解如何在 TPU 虚拟机上运行 JAX 代码。
- 了解如何在 TPU 虚拟机 上运行 PyTorch 代码。
- 了解如何在 TPU 上运行机器学习工作负载,例如在 TPU 上使用 vLLM 部署 Qwen2-72B-Instruct。