Utilizzare le VM con avvio flessibile con l'inferenza

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 le VM con avvio flessibile.

Panoramica

Puoi ridurre il costo di esecuzione dei job di inferenza utilizzando le VM con avvio flessibile, che sono basate su Dynamic Workload Scheduler. Le VM con avvio flessibile offrono sconti significativi e sono adatte a carichi di lavoro di breve durata.

Puoi specificare per quanto tempo ti serve una VM con avvio flessibile, per una durata massima di sette giorni. Al termine del periodo di tempo richiesto, il modello di cui è stato eseguito il deployment viene automaticamente annullato. 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 automaticamente ritirato al termine del 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 workload.

Limitazioni e requisiti

Quando utilizzi le VM con avvio flessibile, tieni presente le seguenti limitazioni e requisiti:

  • 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 Quote di frequenza.
  • Provisioning in coda: l'utilizzo di VM con avvio flessibile con il 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 delle VM flessibili può ridurre i costi.

Quando utilizzi le VM con avvio flessibile, la fatturazione si basa sulla durata del job e sul tipo di macchina selezionato. Ti viene addebitato solo il tempo di esecuzione attiva del workload. Non paghi il tempo in cui il job è in coda o il tempo successivo alla scadenza della durata richiesta.

La fatturazione è distribuita su due SKU:

Ottenere inferenze utilizzando le VM con avvio flessibile

Per utilizzare le VM con avvio flessibile quando esegui il deployment di 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 di Model anche per DeployedModel.
  • 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"
    }
  }
}

Passaggi successivi