本指南說明搭配 Vertex AI 推論使用彈性啟動 VM 的優點和限制。本指南也說明如何部署使用彈性啟動 VM 的模型。
總覽
您可以透過使用彈性啟動 VM (採用 Dynamic Workload Scheduler 執行),降低執行推論工作的成本。彈性啟動 VM 提供大幅折扣,非常適合短期工作負載。
您可以指定彈性啟動 VM 的使用時間,最長可達七天。要求時間到期後,已部署的模型會自動解除部署。您也可以在時間到期前手動取消部署模型。
自動取消部署
如果您要求在特定時間內使用彈性啟動 VM,模型會在該時間過後自動取消部署。舉例來說,如果您要求彈性啟動 VM 執行五小時,模型會在提交後五小時自動解除部署。系統只會根據工作負載的執行時間向您收費。
限制與需求
使用彈性啟動 VM 時,請注意下列限制和規定:
- 最長運作時間:彈性啟動 VM 最多可運作七天。如果部署要求的時間較長,系統會拒絕。
- TPU 支援:不支援搭配 TPU Pod 使用彈性啟動 VM。
- Quota:啟動工作前,請確認您有足夠的 Vertex AI 搶占式配額。詳情請參閱「費率配額」。
- 佈建佇列:不支援搭配佈建佇列使用彈性啟動 VM。
- 節點回收:系統不支援節點回收。
帳單
如果工作負載的執行時間少於七天,使用彈性啟動 VM 即可降低成本。
使用彈性啟動 VM 時,系統會根據工作持續時間和所選機型計費。系統只會針對工作負載實際執行的時間向您收費。您不必支付作業排隊等待的時間,也不必支付要求時間到期後的任何時間。
帳單費用會分配到兩個 SKU:
Compute Engine SKU,標籤為
vertex-ai-online-prediction。請參閱 Dynamic Workload Scheduler 定價。Vertex AI 管理費 SKU。請參閱 Vertex AI 定價。
使用彈性啟動 VM 取得推論結果
如要在部署模型以取得推論結果時使用彈性啟動 VM,可以透過 REST API 達成。
使用任何要求資料之前,請先替換以下項目:
- LOCATION_ID:您使用 Vertex AI 的區域。
- PROJECT_ID:您的專案 ID。
- ENDPOINT_ID:端點的 ID。
- MODEL_ID:要部署的模型 ID。
-
DEPLOYED_MODEL_NAME:
DeployedModel的名稱。您也可以使用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"
}
}
}