创建 Cloud TPU 虚拟机
您可以使用 Create Node API、排队资源 API 或 Google Kubernetes Engine (GKE) 创建 TPU 虚拟机。
当您使用 Google Cloud CLI 运行 gcloud compute tpus tpu-vm create 命令以及使用Google Cloud 控制台创建 TPU 虚拟机时,系统会调用 Create Node API。当您使用“创建节点”API 时,系统会立即处理您的请求。如果没有足够的容量来满足您的请求,则请求会失败。
我们建议使用 Queued Resources API 创建 TPU 虚拟机。当您使用已排队的资源 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
此代码示例使用 Java 创建 TPU 虚拟机并指定启动脚本。
如需向 Cloud TPU 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
此代码示例创建了一个 TPU 虚拟机,并在 Node.js 中指定了一个启动脚本。
如需向 Cloud TPU 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。
Python
此代码示例会创建一个 TPU 虚拟机,并以 Python 语言指定启动脚本。
如需向 Cloud TPU 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。
后续步骤
- 了解已排队的资源。
- 了解如何管理 TPU 虚拟机。
- 了解 GKE 中的 TPU。
- 了解如何在 TPU 虚拟机上运行 JAX 代码。
- 了解如何在 TPU 虚拟机上运行 PyTorch 代码。
- 了解如何在 TPU 上运行机器学习工作负载,例如通过 vLLM 在 TPU 上提供 Qwen2-72B-Instruct。