Google Distributed Cloud (GDC) con air gap offre container predefiniti per fornire previsioni online da modelli addestrati utilizzando i seguenti framework di machine learning (ML):
- TensorFlow
- PyTorch
Per utilizzare uno di questi contenitori predefiniti, devi salvare il modello come uno o più artefatti del modello che rispettino i requisiti del contenitore predefinito. Questi requisiti si applicano indipendentemente dal fatto che gli artefatti del modello siano creati su Distributed Cloud.
Prima di iniziare
Prima di esportare gli artefatti del modello, esegui i seguenti passaggi:
- Crea e addestra un modello di previsione che abbia come target uno dei container supportati.
- Se non hai un progetto, configura un progetto per Vertex AI.
Collabora con l'operatore dell'infrastruttura (IO) per creare il cluster di previsione.
L'IO crea il cluster per te, lo associa al tuo progetto e assegna i node pool appropriati all'interno del cluster, tenendo conto delle risorse necessarie per le previsioni online.
Crea l'account di servizio Vertex AI Default Serving (
vai-default-serving-sa
) all'interno del tuo progetto. Per informazioni sui service account, vedi Configurare i service account.Concedi il ruolo Visualizzatore oggetti bucket del progetto (
project-bucket-object-viewer
) all'account di servizio Vertex AI Default Serving (vai-default-serving-sa
) per il bucket di archiviazione che hai creato. Per informazioni sulla concessione dell'accesso ai bucket ai service account, consulta Concedere l'accesso ai bucket.Per ottenere le autorizzazioni necessarie per accedere alla previsione online, chiedi all'amministratore IAM del progetto di concederti il ruolo Utente previsione Vertex AI (
vertex-ai-prediction-user
). Per informazioni su questo ruolo, consulta Preparare le autorizzazioni IAM.
Requisiti specifici del framework per l'esportazione in container predefiniti
A seconda del framework ML che prevedi di utilizzare per la previsione, devi esportare gli artefatti del modello in formati diversi. Le sezioni seguenti descrivono i formati di modello accettabili per ciascun framework ML.
TensorFlow
Se utilizzi TensorFlow per addestrare un modello, esporta il modello come directory SavedModel di TensorFlow.
Esistono diversi modi per esportare SavedModels
dal codice di addestramento TensorFlow. Il seguente elenco descrive alcuni modi che funzionano per varie
API TensorFlow:
Se utilizzi Keras per l'addestramento, utilizza
tf.keras.Model.save
per esportare un SavedModel.Se utilizzi un Estimator per l'addestramento, utilizza
tf.estimator.Estimator.export_saved_model
per esportare un SavedModel.In caso contrario, utilizza
tf.saved_model.save
o utilizzatf.compat.v1.saved_model.SavedModelBuilder
.
Se non utilizzi Keras o un Estimator, assicurati di
utilizzare il tag serve
e la firma serving_default
quando esporti il tuo SavedModel
per assicurarti che Vertex AI possa utilizzare gli artefatti del modello per pubblicare
le previsioni. Keras ed Estimator gestiscono questa attività automaticamente.
Scopri di più su come
specificare le firme durante l'esportazione.
Per fornire previsioni utilizzando questi artefatti, crea un Model
con il
container predefinito per la previsione
corrispondente alla versione di TensorFlow che hai utilizzato per l'addestramento.
PyTorch
Se utilizzi PyTorch per addestrare un modello,
devi creare un pacchetto degli artefatti del modello includendo un gestore
predefinito o
personalizzato
creando un file di archivio utilizzando
Torch Model Archiver.
Le immagini PyTorch predefinite prevedono che l'archivio sia denominato model.mar
, quindi assicurati di impostare il nome del modello su model.
Per informazioni sull'ottimizzazione dell'utilizzo della memoria, della latenza o della velocità effettiva di un modello PyTorch pubblicato con TorchServe, consulta la guida al rendimento di PyTorch.
Caricare il modello
Devi caricare il modello nel bucket di archiviazione che hai creato. Per ulteriori informazioni sul caricamento di oggetti nei bucket di archiviazione, vedi Caricare e scaricare oggetti di archiviazione nei progetti.
Il percorso del bucket di archiviazione del modello deve avere la seguente struttura:
s3://BUCKET_NAME/MODEL_ID/MODEL_VERSION_ID
Per i dettagli sull'esportazione, consulta i requisiti specifici del framework per l'esportazione in container predefiniti.