Questa guida descrive i vantaggi e i limiti dell'utilizzo delle VM flessibili con l'inferenza Vertex AI. Questa guida descrive anche come eseguire il deployment di un modello che utilizza VM con avvio flessibile.
Panoramica
Puoi ridurre il costo di esecuzione dei job di inferenza utilizzando VM flessibili, basate su Dynamic Workload Scheduler. Le VM flessibili offrono sconti significativi e sono adatte a carichi di lavoro di breve durata.
Puoi specificare la durata per cui ti serve una VM con avvio flessibile, fino a un massimo di sette giorni. Al termine del periodo di tempo richiesto, il modello di cui è stato eseguito il deployment viene annullato automaticamente. Puoi anche annullare manualmente il deployment del modello prima della scadenza del tempo.
Annullamento automatico del deployment
Se richiedi una VM con avvio flessibile per una durata specifica, il modello viene annullato automaticamente dopo quel periodo di tempo. Ad esempio, se richiedi una VM con avvio flessibile per cinque ore, il modello viene automaticamente ritirato cinque ore dopo l'invio. Ti viene addebitato solo il tempo di esecuzione del tuo workload.
Limitazioni e requisiti
Tieni presente le seguenti limitazioni e requisiti quando utilizzi le VM con avvio flessibile:
- Durata massima: le VM con avvio flessibile hanno una durata di utilizzo massima di sette giorni. Qualsiasi richiesta di deployment per una durata maggiore verrà rifiutata.
- Supporto TPU: l'utilizzo di VM con avvio flessibile con i pod TPU non è supportato.
- Quota: assicurati di avere una quota preemptible di Vertex AI sufficiente prima di avviare il job. Per saperne di più, consulta Quota.
- Provisioning in coda: l'utilizzo di VM con avvio flessibile con provisioning in coda non è supportato.
- Riciclo dei nodi: il riciclo dei nodi non è supportato.
Fatturazione
Se il tuo workload viene eseguito per meno di sette giorni, l'utilizzo di VM con avvio flessibile può ridurre i costi.
Quando utilizzi le VM con avvio flessibile, la fatturazione si basa sulla durata del job e sul tipo di macchina che selezioni. Ti viene addebitato solo il tempo in cui il tuo workload è in esecuzione attiva. Non paghi il tempo in cui il lavoro è in coda o il tempo successivo alla scadenza della durata richiesta.
La fatturazione è distribuita su due SKU:
Lo SKU di Compute Engine, con l'etichetta
vertex-ai-online-prediction
. Consulta i prezzi di Dynamic Workload Scheduler.SKU della commissione di gestione di Vertex AI. Consulta la pagina Prezzi di Vertex AI.
Ottenere inferenze utilizzando le VM con avvio flessibile
Per utilizzare le VM con avvio flessibile quando distribuisci un modello per ottenere inferenze, puoi utilizzare l'API REST.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- LOCATION_ID: la regione in cui utilizzi Vertex AI.
- PROJECT_ID: il tuo ID progetto
- ENDPOINT_ID: l'ID dell'endpoint.
- MODEL_ID: l'ID del modello da implementare.
-
DEPLOYED_MODEL_NAME: un nome per
DeployedModel
. Puoi utilizzare il nome visualizzato diModel
anche perDeployedModel
. -
MACHINE_TYPE: (Facoltativo). Le risorse macchina utilizzate per ogni nodo di questo
deployment. L'impostazione predefinita è
n1-standard-2
. Scopri di più sui tipi di macchina. - ACCELERATOR_TYPE: (Facoltativo). Il tipo di acceleratore da collegare alla macchina. Scopri di più.
- ACCELERATOR_COUNT: (Facoltativo). Il numero di acceleratori da utilizzare per ogni replica.
-
MAX_RUNTIME_DURATION: la durata massima del deployment con avvio flessibile.
Il modello di cui è stato eseguito il deployment viene automaticamente annullato dopo questo periodo. Specifica la durata
in secondi, che termina con
s
. Ad esempio,3600s
per un'ora. Il valore massimo è604800s
(7 giorni). - PROJECT_NUMBER: il numero di progetto generato automaticamente per il tuo progetto.
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID:deployModel
Corpo JSON della richiesta:
{ "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 }, }, }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "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" } } }