使用灵活启动请求 Cloud TPU
Cloud TPU 的灵活启动功能由动态工作负载调度器提供支持,可让您以灵活且经济高效的方式访问 TPU 资源,以处理 AI 工作负载。借助灵活启动,您可以根据需要动态预配 TPU,最长可预配 7 天,无需长期预留或复杂的配额管理。 借助灵活启动,您可以提交 TPU 预配请求,该请求会一直保留,直到容量可用为止。灵活启动功能可用后,系统会预配 TPU 虚拟机,以按照您在请求中指定的时长运行。
灵活启动非常适合快速实验、小规模测试、为推理工作负载动态预配 TPU、模型微调以及运行时间不到 7 天的工作负载。如需详细了解其他 TPU 使用选项,请参阅 Cloud TPU 使用选项。
您可以随时删除 TPU 资源,以停止结算。如需详细了解 TPU 价格,请参阅 Cloud TPU 价格。
限制
弹性启动 Cloud TPU 具有以下限制:
- 您可以请求使用时长不超过 7 天的灵活启动资源。
- 灵活启动支持以下 Cloud TPU 版本和可用区:
- 您必须使用已排队的资源 API 才能将 Flex-start 与 Cloud TPU 搭配使用。
准备工作
在请求灵活启动 TPU 之前,您必须:
- 安装 Google Cloud CLI
- 创建 Google Cloud 项目
- 启用 Cloud TPU API
如需了解详情,请参阅设置 Cloud TPU 环境。
您还应确保有足够的抢占式配额来使用灵活启动。如果您需要的 TPU 核心数超出默认配额授予的数量,则需要申请更高的配额分配。如需详细了解默认配额和申请更多配额,请参阅 Cloud TPU 配额。
请求灵活启动 TPU
灵活启动使用 TPU 已排队的资源 API 以排队方式请求 TPU 资源。请求的资源可用后,会分配给您的 Google Cloud 项目,供您立即专门使用。在请求的运行时长结束后,系统会删除 TPU 虚拟机,并且已排队的资源会进入 SUSPENDED
状态。如需详细了解已排队的资源,请参阅管理已排队的资源。
如需使用灵活启动请求 TPU,请使用 gcloud alpha compute tpus queued-resources
create
命令,并将 --provisioning-model
标志设置为 flex-start
,将 --max-run-duration
标志设置为您希望 TPU 运行的时长。
gcloud alpha compute tpus queued-resources create QUEUED_RESOURCE_ID \ --zone=ZONE \ --accelerator-type=ACCELERATOR_TYPE \ --runtime-version=RUNTIME_VERSION \ --node-id=NODE_ID \ --provisioning-model=flex-start \ --max-run-duration=RUN_DURATION
替换以下占位符:
- QUEUED_RESOURCE_ID:已排队的资源请求的用户分配 ID。
- ZONE:要在其中创建 TPU 虚拟机的可用区。
- ACCELERATOR_TYPE:指定要创建的 Cloud TPU 的版本和大小。如需详细了解每个 TPU 版本支持的加速器类型,请参阅 TPU 版本。
- RUNTIME_VERSION:Cloud TPU 软件版本。
- NODE_ID:用户分配的 TPU ID,该 ID 是在分配已排队的资源请求时创建的。
- RUN_DURATION:TPU 应运行的时长。将时长格式设置为天数、小时数、分钟数和秒数,后面分别跟
d
、h
、m
和s
。例如,指定72h
表示 72 小时时长,指定1d2h3m4s
表示 1 天 2 小时 3 分钟 4 秒时长。最长为 7 天。
您还可以使用其他标志进一步自定义排队的资源请求,以在特定时间运行:
--valid-after-duration
:在多久时长之前不得预配 TPU。--valid-after-time
:不得预配 TPU 的时间。--valid-until-duration
:相应请求的有效时长。如果请求未在此时长内完成,则请求会失效并移至FAILED
状态。--valid-until-time
:相应请求的有效时间。如果请求未在此时间之前完成,则请求会失效并移至FAILED
状态。
如需详细了解可选标志,请参阅 gcloud alpha compute tpus queued-resources
create
文档。
获取灵活启动请求的状态
如需监控灵活启动请求的状态,请使用已排队的资源 API,通过 gcloud alpha compute tpus queued-resources describe
命令获取已排队的资源请求的状态:
gcloud alpha compute tpus queued-resources describe QUEUED_RESOURCE_ID \ --zone ZONE
已排队的资源可以处于以下任一状态:
WAITING_FOR_RESOURCES
:请求已通过初始验证,并已添加到队列中。PROVISIONING
:已从队列中选择请求,并且正在创建 TPU 虚拟机。ACTIVE
:请求已完成,TPU 虚拟机已准备就绪。FAILED
:无法完成请求。如需了解详情,请使用describe
命令。SUSPENDING
:与请求关联的资源正在被删除。SUSPENDED
:与请求关联的资源已被删除。
如需了解详情,请参阅检索有关排队资源请求的状态和诊断信息。
监控灵活启动 TPU 的运行时间
您可以通过检查 TPU 的终止时间戳来监控灵活启动 TPU 的运行时间:
- 获取已排队的资源请求的详细信息。
根据您的 TPU 是否已创建,选择以下选项之一:
如果已排队的资源正在等待资源:在输出中,查看
maxRunDuration
字段。此字段指定 TPU 在创建后将运行多长时间。如果与已排队资源相关联的 TPU 已创建:在输出中,查看已排队资源中每个节点列出的
terminationTimestamp
字段。此字段指定 TPU 的终止时间。
删除已排队的资源
您可以删除已排队的资源请求,并通过删除已排队的资源请求并向 queued-resources
delete
命令传递 --force
标志来删除与该请求关联的 TPU:
gcloud alpha compute tpus queued-resources delete QUEUED_RESOURCE_ID \ --force
如果您使用 gcloud compute tpus tpu-vm delete
命令直接删除 TPU,则还需要删除已排队的资源,如以下示例所示。
删除 TPU 后,已排队的资源请求会转换为 SUSPENDED
状态,之后便可删除已排队的资源请求。
如需删除 TPU,请使用 gcloud compute tpus tpu-vm
delete
命令:
gcloud compute tpus tpu-vm delete NODE_ID \ --zone ZONE
然后,如需删除已排队的资源,请使用 gcloud alpha compute tpus queued-resources delete
命令:
gcloud alpha compute tpus queued-resources delete QUEUED_RESOURCE_ID \ --zone ZONE
如需了解详情,请参阅删除已排队的资源请求。