本指南說明搭配使用彈性啟動 VM 與 Vertex AI 推論作業的優點和限制。本指南也會說明如何部署使用彈性啟動 VM 的模型。
總覽
您可以透過使用 Flex-start 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
。請參閱動態工作負載排程器定價。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" } } }