搭配推論使用彈性啟動 VM

本指南說明搭配使用彈性啟動 VM 與 Vertex AI 推論作業的優點和限制。本指南也會說明如何部署使用彈性啟動 VM 的模型。

總覽

您可以透過使用 Flex-start VM (由 Dynamic Workload Scheduler 提供支援) 來降低執行推論工作的成本。彈性啟動 VM 提供大幅折扣,非常適合短期工作負載。

您可以指定彈性啟動 VM 的使用時間,最長可達七天。要求時間到期後,系統會自動取消部署模型。您也可以在時間到期前手動取消部署模型。

自動取消部署

如果您要求在特定時間內使用彈性啟動 VM,模型會在該時間過後自動取消部署。舉例來說,如果您要求彈性啟動 VM 五小時,模型會在提交後五小時自動取消部署。系統只會根據工作負載的執行時間向您收費。

限制與需求

使用彈性啟動 VM 時,請注意下列限制和規定:

  • 最長期限:彈性啟動 VM 的最長使用期限為七天。如果部署要求的時間較長,系統會拒絕。
  • TPU 支援:不支援搭配 TPU Pod 使用彈性啟動 VM。
  • 配額:啟動工作前,請確認您有足夠的 Vertex AI 搶占式配額。詳情請參閱「費率配額」。
  • 佈建佇列:不支援搭配佈建佇列使用彈性啟動 VM。
  • 節點回收:系統不支援節點回收。

帳單

如果工作負載的執行時間少於七天,使用彈性啟動 VM 可降低成本。

使用彈性啟動 VM 時,系統會根據工作持續時間和所選機型計費。系統只會針對工作負載實際執行的時間向您收費。您不必支付作業排隊等待的時間,也不必支付要求時間到期後的任何時間。

帳單會分為兩個 SKU:

使用彈性啟動 VM 取得推論結果

如要在部署模型以取得推論結果時使用彈性啟動 VM,可以透過 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 代表一小時。最大值為 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"
    }
  }
}

後續步驟