将灵活启动虚拟机与推理搭配使用

本指南介绍了将灵活启动虚拟机与 Vertex AI Inference 搭配使用的优势和局限性。本指南还介绍了如何部署使用灵活启动虚拟机的模型。

概览

您可以使用由动态工作负载调度器提供支持的灵活启动虚拟机来降低运行推理作业的费用。灵活启动虚拟机可享受大幅折扣,非常适合短期工作负载。

您可以指定需要灵活启动虚拟机的时长,最长为 7 天。在请求的时间到期后,已部署的模型会自动取消部署。您也可以在时间到期之前手动取消部署模型。

自动取消部署

如果您请求灵活启动虚拟机运行特定时长,则模型会在该时间段结束后自动取消部署。例如,如果您请求灵活启动虚拟机运行 5 小时,则该模型会在提交 5 小时后自动取消部署。您只需为工作负载的运行时间付费。

限制和要求

使用灵活启动虚拟机时,请考虑以下限制和要求:

  • 最长时长:灵活启动虚拟机的最长使用时长为 7 天。任何时长更长的部署请求都会被拒绝。
  • TPU 支持:不支持将灵活启动虚拟机与 TPU Pod 搭配使用。
  • 配额:在启动作业之前,请确保您有足够的 Vertex AI 抢占式配额。 如需了解详情,请参阅速率配额
  • 已排队的预配:不支持将灵活启动虚拟机与已排队的预配搭配使用。
  • 节点回收:不支持节点回收。

结算

如果您的工作负载运行时间不到 7 天,使用灵活启动虚拟机可以降低费用。

使用灵活启动虚拟机时,您需要根据作业时长和所选的机器类型付费。您只需为工作负载的活跃运行时间付费。您无需为作业在队列中的时间或请求的时长过期后的任何时间付费。

结算费用分摊到两个 SKU 中:

使用灵活启动虚拟机获取推理结果

如需在部署模型以获取推理结果时使用灵活启动型虚拟机,您可以使用 REST API。

在使用任何请求数据之前,请先进行以下替换:

  • LOCATION_ID:您在其中使用 Vertex AI 的区域。
  • PROJECT_ID:您的项目 ID
  • ENDPOINT_ID:端点的 ID。
  • MODEL_ID:要部署的模型的 ID。
  • DEPLOYED_MODEL_NAMEDeployedModel 的名称。您还可以将 Model 的显示名用于 DeployedModel
  • MACHINE_TYPE:可选。用于此部署的每个节点的机器资源。其默认设置为 n1-standard-2详细了解机器类型。
  • ACCELERATOR_TYPE:可选。要挂接到机器的加速器类型。了解详情
  • ACCELERATOR_COUNT:可选。每个副本要使用的加速器数量。
  • MAX_RUNTIME_DURATION:灵活启动部署的最长持续时间。 部署的模型会在相应时长后自动取消部署。以秒为单位指定时长,并以 s 结尾。例如,3600s 表示 1 小时。最大值为 604800s(7 天)。
  • PROJECT_NUMBER:自动生成的项目编号

HTTP 方法和网址:

POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID:deployModel

请求 JSON 正文:

{
  "deployedModel": {
    "model": "projects/PROJECT/locations/LOCATION/models/MODEL_ID",
    "displayName": "DEPLOYED_MODEL_NAME",
    "enableContainerLogging": true,
    "dedicatedResources": {
      "machineSpec": {
        "machineType": "MACHINE_TYPE",
        "acceleratorType": "ACCELERATOR_TYPE",
        "acceleratorCount": ACCELERATOR_COUNT
      },
      "flexStart": {
        "maxRuntimeDuration": "MAX_RUNTIME_DURATION"
      },
      "minReplicaCount": 2,
      "maxReplicaCount": 2
    },
  },
}

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.DeployModelOperationMetadata",
    "genericMetadata": {
      "createTime": "2020-10-19T17:53:16.502088Z",
      "updateTime": "2020-10-19T17:53:16.502088Z"
    }
  }
}

后续步骤