本指南說明搭配 Gemini Enterprise Agent Platform 推論功能使用彈性啟動 VM 的優點和限制,以及如何部署使用彈性啟動 VM 的模型。
總覽
您可以透過使用彈性啟動 VM (採用 Dynamic Workload Scheduler),降低執行推論作業的成本。彈性啟動 VM 提供大幅折扣,非常適合短期工作負載。
您可以指定彈性啟動型 VM 的使用時間,最長可達七天。要求時間到期後,已部署的模型會自動解除部署。您也可以在時間到期前手動取消部署模型。
自動取消部署
如果您要求在特定時間範圍內使用彈性啟動型 VM,模型會在該時間過後自動取消部署。舉例來說,如果您要求彈性啟動 VM 五小時,模型會在提交後五小時自動取消部署。系統只會根據工作負載的執行時間向您收費。
限制與需求
使用彈性啟動 VM 時,請注意下列限制和需求:
- 最長期限:彈性啟動 VM 的最長使用期限為七天。如果部署要求的時間長度超過此期限,系統會拒絕要求。
- TPU 支援:不支援搭配 TPU Pod 使用彈性啟動 VM。
- Quota:請務必在啟動工作前,確認您有足夠的 Agent Platform 先占配額。詳情請參閱「費率配額」。
- 佈建佇列:不支援搭配使用彈性啟動 VM 與佈建佇列。
- 節點回收:系統不支援節點回收。
帳單
如果工作負載的執行時間少於七天,使用彈性啟動 VM 即可降低成本。
使用彈性啟動 VM 時,系統會根據工作時間長度和所選機器類型計費。您只需支付工作負載實際執行的時間費用,工作排隊期間或要求時間長度到期後的任何時間,都不會計費。
帳單會分為兩個 SKU:
Compute Engine SKU,標籤為
vertex-ai-online-prediction。請參閱Dynamic Workload Scheduler 定價。Agent Platform 管理費用 SKU。請參閱「Agent Platform 定價」。
使用彈性啟動 VM 取得推論結果
如要在部署模型以取得推論結果時使用彈性啟動 VM,請使用 REST API。
使用任何要求資料之前,請先修改下列項目的值:
- LOCATION_ID:您使用 Agent Platform 的區域。
- PROJECT_ID: 您的 [專案 ID](/resource-manager/docs/creating-managing-projects#identifiers)。 。
- 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。例如 1 小時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"
}
}
}