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.
In questa pagina viene fornita 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 pipeline per riaddestrare continuamente un modello sulla base e i dati di produzione. 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à di pipeline containerizzate che sono interconnesse tramite dipendenze input-output. Puoi scrivere ogni attività in Python o come immagini container precompilate.
Puoi definire la pipeline come DAG utilizzando le pipeline Kubeflow o l'SDK TFX, compilalo nel relativo codice YAML per ed eseguire la pipeline. Per impostazione predefinita, le attività della pipeline vengono eseguite 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 consulta Ciclo di vita di una pipeline ML.
Attività e componenti della pipeline
Un'attività di pipeline è un'istanza di una componente 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 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.
Logica: 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 per le attività della pipeline, puoi utilizzare i componenti della pipeline di Google Cloud predefiniti o creare componenti.
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 componenti personalizzati da utilizzare nella pipeline ML. Per maggiori informazioni informazioni sulla creazione di componenti personalizzati, consulta Creare la tua pipeline componenti.
Per scoprire come creare componenti personalizzati di Kubeflow Pipelines, consulta la sezione "Pipelines con componenti leggeri basati sulle funzioni Python" blocco note Jupyter 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à 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 in 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 carico di lavoro a un altro come BigQuery, Dataflow 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:
Scegliere un framework ML: Vertex AI Pipelines supporta il ML pipeline definite utilizzando le pipeline TFX o Kubeflow il modello di machine learning. Per scoprire come scegliere un framework per la creazione della pipeline, consulta Interfacce per definire una pipeline.
Definisci le attività della pipeline e configura la pipeline: per saperne di più, consulta Creare una pipeline.
Compilazione: in questa fase, devi seguire questi 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 lo strumento YAML o un modello di pipeline. L'istanza di esecuzione di una pipeline definizione è 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 l'esecuzione di una pipeline esistente. Per apprendere su come scegliere un'interfaccia per eseguire una pipeline ML, consulta Interfacce per eseguire una pipeline di controllo. Per ulteriori informazioni su come per creare un'esecuzione 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 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) arresta o elimina le esecuzioni della pipeline: non esistono limitazioni relative al modo in cui puoi mantenere attiva l'esecuzione di una pipeline. Se vuoi, puoi procedere nel seguente modo:
Arresta l'esecuzione di una 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
Usa un modello di pipeline dalla Galleria modelli
Per saperne di più su come creare un'esecuzione della pipeline, consulta Eseguire pipeline di controllo. 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 sull'acquisizione e sull'archiviazione dei metadati di esecuzione della pipeline utilizzando Vertex ML Metadata, consulta Utilizzare Vertex ML Metadata per tenere traccia la derivazione degli artefatti ML.
Per informazioni sull'utilizzo delle esecuzioni di pipeline per eseguire esperimenti sul flusso di lavoro di ML utilizzando Vertex AI Experiments, consulta Aggiungere le esecuzioni di pipeline agli esperimenti.
Traccia la 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 ML include tutti i fattori che hanno contribuito alla sua creazione, insieme a metadati e riferimenti agli artefatti che ne deriva.
I grafici della struttura aiutano ad analizzare la causa principale a monte e l'impatto a valle. Ogni esecuzione della pipeline produce un grafico di derivazione di parametri e artefatti l'input nell'esecuzione, materializzato nella fase di esecuzione e l'output dall'esecuzione. I metadati che compongono questo grafico della derivazione vengono memorizzati in Vertex ML Metadata. Questi metadati possono anche essere sincronizzati con Dataplex.
Usa Vertex ML Metadata per tenere traccia della derivazione degli artefatti della pipeline
Quando esegui una pipeline utilizzando Vertex AI Pipelines, e i metadati degli artefatti utilizzati e generati dalla pipeline vengono archiviati 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'infrastruttura dati 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 artefatto della pipeline visualizzare il grafico della derivazione. 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 ML utilizzando Vertex ML Metadata e Dataplex, consulta Tracciare la derivazione della pipeline artefatto.
Per ulteriori informazioni su come visualizzare, analizzare e confrontare le esecuzioni della pipeline, consulta Visualizzare e analizzare i risultati della 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 sperimentare set di variabili come iperparametri, numero di passaggi di addestramento o iterazioni.
Per saperne di più sulla sperimentazione dei flussi di lavoro 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.