Vertex AI Pipelines ti consente di automatizzare, monitorare e gestire i tuoi sistemi di machine learning (ML) in modo serverless utilizzando le pipeline di ML per orchestrare i tuoi flussi di lavoro di ML. Puoi eseguire in batch le pipeline di ML definite utilizzando il framework Kubeflow Pipelines o TensorFlow Extended (TFX). Per scoprire come scegliere un framework per definire la pipeline di ML, consulta Interfacce per definire una pipeline.
Questa pagina fornisce una panoramica di quanto segue:
Che cos'è una pipeline ML?
Una pipeline ML è una descrizione portatile ed estensibile di un flusso di lavoro MLOps come una serie di passaggi chiamati attività della pipeline. Ogni attività esegue un determinato passaggio del flusso di lavoro per addestrare e/o implementare un modello ML.
Con le pipeline ML, puoi applicare strategie MLOps per automatizzare e monitorare i processi ripetibili nella tua pratica ML. Ad esempio, puoi riutilizzare una definizione della pipeline per riaddestrare continuamente un modello in base ai dati di produzione più recenti. Per ulteriori informazioni su MLOps in Vertex AI, consulta MLOps su Vertex AI.
Struttura di una pipeline ML
Una pipeline ML è un grafo diretto aciclico (DAG) di attività della pipeline containerizzate collegate tra loro tramite dipendenze di input-output. Puoi scrivere ogni attività in Python o come immagini container precompilate.
Puoi definire la pipeline come DAG utilizzando l'SDK Kubeflow Pipelines o l'SDK TFX, compilarla in YAML per la rappresentazione intermedia ed eseguire la pipeline. Per impostazione predefinita, le attività della pipeline vengono eseguite in parallelo. Puoi collegare le attività per eseguirle in serie. Per ulteriori informazioni sulle attività della pipeline, consulta Attività della pipeline. Per ulteriori informazioni sul flusso di lavoro per la definizione, la compilazione e l'esecuzione della pipeline, consulta Ciclo di vita di una pipeline di ML.
Attività e componenti della pipeline
Un'attività della pipeline è un'istanza di un componente della pipeline con input specifici. Durante la definizione della pipeline ML, puoi interconnettere più attività per formare un DAG inviando gli output di un'attività della pipeline agli input dell'attività successiva nel flusso di lavoro ML. Puoi anche utilizzare gli input per la pipeline di ML come input per un'attività della pipeline.
Componente pipeline
Un componente della pipeline è un insieme di codice autonomo che esegue un determinato passaggio di un flusso di lavoro di ML, ad esempio la preelaborazione dei dati, l'addestramento del modello o lo sviluppo del modello. Un componente è costituito in genere da:
Input: un componente può avere uno o più parametri di input e artefatti.
Output: ogni componente ha uno o più parametri o elementi di output.
Logic: si tratta del codice eseguibile del componente. Per i componenti containerizzati, la logica contiene anche la definizione dell'ambiente o dell'immagine del contenitore in cui viene eseguito il componente.
I componenti sono la base per definire le attività in una pipeline ML. Per definire le attività della pipeline, puoi utilizzare i componenti della pipeline di Google Cloud predefiniti o creare i tuoi componenti personalizzati.
Componenti predefiniti
Utilizza i componenti della pipeline di Google Cloud predefiniti se vuoi utilizzare le funzionalità di Vertex AI, come AutoML, nella tua pipeline. Per scoprire come utilizzare i componenti della pipeline di Google Cloud per definire una pipeline, consulta Creare una pipeline.
Componenti personalizzati
Puoi creare i tuoi componenti personalizzati da utilizzare nella pipeline ML. Per ulteriori informazioni sulla creazione di componenti personalizzati, consulta Creare i tuoi componenti della pipeline.
Per scoprire come creare componenti personalizzati di Kubeflow Pipelines, consulta il notebook Jupyter "Pipeline con componenti leggeri basati su funzioni Python" su GitHub. Per scoprire come creare componenti TFX personalizzati, consulta il tutorial sul componente della funzione Python di TFX nei tutorial su TensorFlow Extended in produzione.
Attività della pipeline
Un'attività della pipeline è l'istanza di un componente della pipeline ed esegue un passaggio specifico nel flusso di lavoro ML. Puoi creare attività della pipeline ML utilizzando Python o come immagini container predefinite.
All'interno di un'attività, puoi sfruttare le funzionalità di calcolo on demand di Vertex AI con Kubernetes per eseguire il codice in modo scalabile o delegare il tuo carico di lavoro a un altro motore di esecuzione, come BigQuery, Dataflow o Dataproc Serverless.
Ciclo di vita di una pipeline ML
Dalla definizione all'esecuzione e al monitoraggio, il ciclo di vita di una pipeline di ML comprende le seguenti fasi di alto livello:
Definire: il processo di definizione di una pipeline ML e della relativa attività è chiamato anche creazione di una pipeline. In questa fase, devi eseguire i seguenti passaggi:
Scegli un framework ML: Vertex AI Pipelines supporta le pipeline ML definite utilizzando il framework TFX o Kubeflow Pipelines. Per scoprire come scegliere un framework per la creazione della pipeline, consulta Interfacce per definire una pipeline.
Definire le attività della pipeline e configurarla: per ulteriori informazioni, consulta Creare una pipeline.
Compilazione: in questa fase, devi eseguire i seguenti passaggi:
Genera la definizione della pipeline di ML in un file YAML compilato per la rappresentazione intermedia, che puoi utilizzare per eseguire la pipeline di ML.
(Facoltativo) Puoi caricare il file YAML compilato come modello di pipeline in un repository e riutilizzarlo per creare esecuzioni della pipeline di ML.
Esegui: crea un'istanza di esecuzione della pipeline ML utilizzando il file YAML compilato o un modello di pipeline. L'istanza di esecuzione di una definizione della pipeline è chiamata esecuzione della pipeline.
Puoi creare un'occorrenza una tantum di un'esecuzione della pipeline o utilizzare l'API di pianificazione per creare esecuzioni ricorrenti della pipeline dalla stessa definizione della pipeline di ML. Puoi anche clonare un'esecuzione della pipeline esistente. Per scoprire come scegliere un'interfaccia per eseguire una pipeline di ML, consulta Interfacce per eseguire una pipeline. Per ulteriori informazioni su come creare un'esecuzione della pipeline, consulta Eseguire una pipeline.
Monitora, visualizza e analizza le esecuzioni: dopo aver creato un'esecuzione della pipeline, puoi procedere nel seguente modo per monitorare il rendimento, lo stato e i costi delle esecuzioni della pipeline:
Configura le notifiche via email per gli errori della pipeline. Per ulteriori informazioni, consulta la sezione Configurare le notifiche via email.
Utilizza Cloud Logging per creare voci di log per il monitoraggio degli eventi. Per ulteriori informazioni, consulta la sezione Visualizzare i log dei job della pipeline.
Visualizza, analizza e confronta le esecuzioni della pipeline. Per saperne di più, consulta Visualizzare e analizzare i risultati delle pipeline.
Utilizza l'esportazione della fatturazione Cloud in BigQuery per analizzare i costi di esecuzione della pipeline. Per saperne di più, consulta Informazioni sui costi di esecuzione della pipeline.
(Facoltativo) Interrompi o elimina le esecuzioni della pipeline: non esiste alcuna limitazione sul tempo per cui puoi mantenere attiva un'esecuzione della pipeline. Se vuoi, puoi procedere nel seguente modo:
Interrompi un'esecuzione della pipeline.
Metti in pausa o riprendi la pianificazione dell'esecuzione della pipeline.
Elimina un modello di pipeline, un'esecuzione di pipeline o una pianificazione di esecuzione di pipeline esistente.
Che cos'è un'esecuzione di pipeline?
Un'esecuzione della pipeline è un'istanza di esecuzione della definizione della pipeline ML. Ogni esecuzione della pipeline è identificata da un nome univoco. Con Vertex AI Pipelines, puoi creare un'esecuzione di una pipeline ML nei seguenti modi:
Utilizzare la definizione YAML compilata di una pipeline
Utilizzare un modello di pipeline dalla Galleria di modelli
Per ulteriori informazioni su come creare un'esecuzione della pipeline, consulta Eseguire una pipeline. Per ulteriori informazioni su come creare un'esecuzione della pipeline da un modello di pipeline, consulta Creare, caricare e utilizzare un modello di pipeline.
Per informazioni su come acquisire e archiviare i metadati di esecuzione della pipeline utilizzando Vertex ML Metadata, consulta Utilizzare Vertex ML Metadata per monitorare la costituzione degli artefatti ML.
Per informazioni sull'utilizzo delle esecuzioni della pipeline per eseguire esperimenti sul flusso di lavoro di ML utilizzando Vertex AI Experiments, consulta Aggiungere le esecuzioni della pipeline agli esperimenti.
Monitoraggio della derivazione degli artefatti ML
Un'esecuzione della pipeline contiene diversi artefatti e parametri, inclusi i metadati della pipeline. Per comprendere le variazioni nelle prestazioni o nell'accuratezza del tuo sistema ML, devi analizzare i metadati e la derivazione degli artefatti ML dalle esecuzioni della pipeline ML. La derivazione di un artefatto di ML include tutti i fattori che hanno contribuito alla sua creazione, nonché i metadati e i riferimenti agli artefatti che ne derivano.
I grafici della struttura aiutano ad analizzare la causa principale a monte e l'impatto a valle. Ogni esecuzione della pipeline produce un grafico della cronologia dei parametri e degli elementi che vengono inseriti nell'esecuzione, materializzati al suo interno e generati dall'esecuzione. I metadati che compongono questo grafico della derivazione vengono memorizzati in Vertex ML Metadata. Questi metadati possono essere sincronizzati anche con Dataplex.
Utilizzare Vertex ML Metadata per monitorare la derivazione degli artefatti della pipeline
Quando esegui una pipeline utilizzando Vertex AI Pipelines, tutti i parametri e i metadati degli elementi consumati e generati dalla pipeline vengono memorizzati in Vertex ML Metadata. Vertex ML Metadata è un'implementazione gestita della libreria ML Metadata in TensorFlow e supporta la registrazione e la scrittura di schemi di metadati personalizzati. Quando crei un'esecuzione della pipeline in Vertex AI Pipelines, i metadati dell'esecuzione della pipeline vengono memorizzati nell'archivio dei metadati predefinito per il progetto e la regione in cui esegui la pipeline.
Utilizzare Dataplex per monitorare la derivazione degli elementi della pipeline
Dataplex è un'data fabric globale e tra progetti integrata con più sistemi all'interno di Google Cloud, come Vertex AI, BigQuery e Cloud Composer. In Dataplex, puoi cercare un elemento della pipeline e visualizzarne il grafico della struttura. Tieni presente che, per evitare conflitti di elementi, qualsiasi risorsa catalogata in Dataplex è identificata con un nome completamente qualificato (FQN).
Per ulteriori informazioni sul monitoraggio della derivazione degli artefatti di ML utilizzando Vertex ML Metadata e Dataplex, consulta Monitorare la derivazione degli artefatti della pipeline.
Per ulteriori informazioni su come visualizzare, analizzare e confrontare le esecuzioni della pipeline, consulta Visualizzare e analizzare i risultati delle pipeline. Per un elenco dei tipi di artefatti proprietari definiti in Google Cloud Pipeline Components, consulta Tipi di artefatti dei metadati ML.
Aggiungere esecuzioni della pipeline agli esperimenti
Vertex AI Experiments ti consente di monitorare e analizzare varie architetture, iperparametri ed ambienti di addestramento dei modelli per trovare il modello migliore per il tuo caso d'uso di ML. Dopo aver creato un'esecuzione della pipeline di ML, puoi associarla con un esperimento o un'esecuzione dell'esperimento. In questo modo, puoi fare esperimenti con diversi insiemi di variabili, come iperparametri, numero di passaggi di addestramento o iterazioni.
Per ulteriori informazioni su come eseguire esperimenti con i flussi di lavoro di ML utilizzando Vertex AI Experiments, consulta Introduzione a Vertex AI Experiments.
Passaggi successivi
Scopri le interfacce che puoi utilizzare per definire ed eseguire pipeline utilizzando Vertex AI Pipelines.
Per iniziare, scopri come definire una pipeline utilizzando l'SDK Kubeflow Pipelines.
Scopri le best practice per l'implementazione di modelli ML addestrati personalizzati su Vertex AI.