Per assicurarti che le risorse VM siano disponibili quando i job di previsione ne hanno bisogno, puoi utilizzare le prenotazioni Compute Engine. Le prenotazioni offrono un elevato livello di garanzia per l'ottenimento della capacità per le risorse Compute Engine. Per saperne di più, consulta Prenotazioni di Compute Engine risorse di zona.
Panoramica
I job di addestramento e previsione personalizzati di Vertex AI possono consumare prenotazioni Compute Engine. La prenotazione deve specificare un tipo di macchina A2 o A3. Se le risorse di queste prenotazioni sono idonee agli sconti per impegno di utilizzo (CUD), quando le VM consumano queste prenotazioni, riceverai le risorse a prezzi scontati. Consulta i CUD per le risorse riservate.
Limitazioni e requisiti
Tieni presente le limitazioni e i requisiti che seguono quando utilizzi Prenotazioni Compute Engine con Vertex AI:
-
Vertex AI può utilizzare solo prenotazioni con i seguenti di macchine:
- A2
- A3
- L'utilizzo delle prenotazioni Compute Engine con Vertex AI è supportato solo per addestramento e previsione personalizzati.
- Assicurati che sia disponibile una quota sufficiente per i tuoi job Vertex AI. Consulta Requisiti aggiuntivi per le prenotazioni condivise.
- Per supportare gli aggiornamenti regolari dei deployment Vertex AI, ti consigliamo aumentando il conteggio delle VM di almeno una VM aggiuntiva per ogni deployment simultaneo.
- Assicurati che i vincoli dei criteri dell'organizzazione consentano le prenotazioni condivise. Consulta Consentire e limitare la creazione e la modifica delle prenotazioni condivise da parte dei progetti.
- Per poter utilizzare la prenotazione, le proprietà delle istanze VM devono corrispondere esattamente al tuo workload Vertex AI. Ad esempio, se un
Il carico di lavoro Vertex AI ha un tipo di macchina
a2-megagpu-16g
, il tipo di macchina della prenotazione deve corrispondere. Consulta: Requisiti. -
I seguenti servizi e funzionalità non sono supportati quando si utilizzano le prenotazioni di Compute Engine con la previsione di Vertex AI:
- Chiavi di crittografia gestite dal cliente (CMEK)
- Conformità al Federal Risk and Authorization Management Program (FedRAMP)
Fatturazione
Quando utilizzi le prenotazioni Compute Engine, ti viene addebitato quanto segue:
- Prezzi di Compute Engine per le risorse di Compute Engine, inclusi eventuali sconti per impegno di utilizzo (CUD) applicabili. Consulta: Prezzi di Compute Engine.
- Le tariffe per la gestione delle previsioni di Vertex AI, oltre alle all'utilizzo dell'infrastruttura. Consulta la pagina Prezzi della previsione.
Prima di iniziare
- Esamina i requisiti e le limitazioni per le prenotazioni.
- Esamina il quota requisiti e limitazioni per le prenotazioni condivise.
Consentire l'utilizzo di una prenotazione
Prima di utilizzare una prenotazione di VM A2 o A3, devi impostarne le criteri di condivisione per consentire a Vertex AI di utilizzare la prenotazione. A questo scopo, utilizza una delle seguenti metodi:
- Consenti il consumo durante la creazione di una prenotazione
- Consenti il consumo in una prenotazione esistente
Consentire il consumo durante la creazione di una prenotazione
Durante la creazione di un progetto singolo oppure prenotazione condivisa di A2 o VM A3, puoi specificare di consentire a Vertex AI di utilizzare la prenotazione come segue:
- Se utilizzi la console Google Cloud, nella sezione Servizi Google Cloud, seleziona Condividi prenotazione.
- Se utilizzi Google Cloud CLI, includi
Flag
--reservation-sharing-policy
impostato suALLOW_ALL
. - Se utilizzi l'API REST, includi
serviceShareType
impostato suALLOW_ALL
.
Consentire il consumo in una prenotazione esistente
Per consentire a Vertex AI di utilizzare una prenotazione esistente di VM A2 o A3, consulta Modificare il criterio di condivisione di una prenotazione.Ottenere le previsioni utilizzando una prenotazione
Per utilizzare una prenotazione Compute Engine quando esegui il deployment di un modello. per ottenere previsioni, puoi usare l'API REST o l'SDK Vertex AI per Python.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- LOCATION_ID: la regione in cui stai utilizzando 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 il
DeployedModel
. Puoi utilizzare il nome visualizzato delModel
anche perDeployedModel
. -
MACHINE_TYPE: facoltativo. Le risorse macchina utilizzate per ogni nodo
e deployment continuo. L'impostazione predefinita è
n1-standard-2
. Scopri di più sui tipi di macchine. - RESERVATION_AFFINITY_TYPE: deve essere
ANY
,SPECIFIC_RESERVATION
oNONE
.ANY
significa che le VM dicustomJob
vengono automaticamente può utilizzare qualsiasi prenotazione con proprietà corrispondenti.SPECIFIC_RESERVATION
significa che le VM dei tuoicustomJob
può consumare solo una prenotazione che le VM target specificatamente per nome.NONE
significa che le VM dicustomJob
non possono utilizzare su qualsiasi prenotazione. SpecificareNONE
ha lo stesso effetto dell'omissione di un la specifica dell'affinità di prenotazione.
- RESERVATION_NAME: il nome della prenotazione.
- MIN_REPLICA_COUNT: numero minimo di nodi per questo deployment. Il conteggio dei nodi può essere aumentato o diminuito in base al carico della previsione. fino al numero massimo di nodi e mai meno di questo numero. Questo valore deve essere maggiore o uguale a 1.
- MAX_REPLICA_COUNT: il numero massimo di nodi per questo deployment. Il numero di nodi può essere aumentato o diminuito in base al carico della previsione, fino a questo numero di nodi e mai inferiore al numero minimo di nodi.
- TRAFFIC_SPLIT_THIS_MODEL: la percentuale del traffico di previsione verso questo endpoint da indirizzare al modello di cui viene eseguito il deployment con questa operazione. Il valore predefinito è 100. Tutto il traffico la somma delle percentuali deve essere 100. Scopri di più sulle suddivisioni del traffico.
- DEPLOYED_MODEL_ID_N: facoltativo. Se in questo endpoint sono di cui è stato eseguito il deployment di altri modelli, devi aggiornare le relative percentuali di suddivisione del traffico in modo che tutte le percentuali sommate diano 100.
- TRAFFIC_SPLIT_MODEL_N: il valore percentuale di suddivisione del traffico per l'ID del modello di cui è stato eseguito il deployment chiave.
- PROJECT_NUMBER: il numero di progetto generato automaticamente del progetto
Metodo HTTP e URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID:deployModel
Corpo JSON della richiesta:
{ "deployedModel": { "model": "projects/PROJECT/locations/LOCATION_ID/models/MODEL_ID", "displayName": "DEPLOYED_MODEL_NAME", "dedicatedResources": { "machineSpec": { "machineType": "MACHINE_TYPE", "reservationAffinity": { "reservationAffinityType": "RESERVATION_AFFINITY_TYPE", "key": "compute.googleapis.com/reservation-name", "values": [ "projects/PROJECT_ID/reservations/RESERVATION_NAME" ] } }, "minReplicaCount": MIN_REPLICA_COUNT, "maxReplicaCount": MAX_REPLICA_COUNT }, }, "trafficSplit": { "0": TRAFFIC_SPLIT_THIS_MODEL, "DEPLOYED_MODEL_ID_1": TRAFFIC_SPLIT_MODEL_1, "DEPLOYED_MODEL_ID_2": TRAFFIC_SPLIT_MODEL_2 }, }
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/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" } } }
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, consulta Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vertex AI SDK for Python.
Per utilizzare una prenotazione specifica:
endpoint5.deploy( model = model, deployed_model_display_name=DEPLOYED_NAME, traffic_split=TRAFFIC_SPLIT, machine_type="MACHINE_TYPE", accelerator_type="ACCELERATOR_TYPE", accelerator_count=ACCELERATOR_COUNT, reservation_affinity_type="SPECIFIC_RESERVATION", reservation_affinity_key="compute.googleapis.com/reservation-name", reservation_affinity_values=["projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME"], min_replica_count=MIN_REPLICA_COUNT, max_replica_count=MAX_REPLICA_COUNT, sync=True )
Per utilizzare qualsiasi prenotazione:
endpoint5.deploy( model = model, deployed_model_display_name=DEPLOYED_NAME, traffic_split=TRAFFIC_SPLIT, machine_type="MACHINE_TYPE", accelerator_type="ACCELERATOR_TYPE", accelerator_count=ACCELERATOR_COUNT, reservation_affinity_type="ANY_RESERVATION", min_replica_count=MIN_REPLICA_COUNT, max_replica_count=MAX_REPLICA_COUNT, sync=True )
Passaggi successivi
- Scopri di più sulle prenotazioni di Compute Engine risorse di zona.
- Utilizza le prenotazioni con Vertex AI Training.