Introduzione a Vertex AI Pipelines

Vertex AI Pipelines ti consente di automatizzare, monitorare e gestire i tuoi sistemi di machine learning (ML) in modo serverless utilizzando le pipeline ML per orchestrare i tuoi flussi di lavoro ML. Puoi eseguire in batch pipeline ML definite utilizzando le pipeline Kubeflow o il framework TensorFlow Extended (TFX). Per scoprire come scegliere un framework per definire la pipeline 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 portabile ed estensibile di un flusso di lavoro MLOps come una serie di passaggi chiamati attività della pipeline. Ogni attività esegue una fase specifica del flusso di lavoro per addestrare e/o eseguire il deployment di un modello ML.

Con le pipeline ML, puoi applicare strategie MLOps per automatizzare e monitorare i processi ripetibili nella pratica di ML. Ad esempio, puoi riutilizzare la definizione di una pipeline per riaddestrare continuamente un modello con i 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à di pipeline containerizzate interconnesse tramite dipendenze input-output. Puoi creare ogni attività in Python o come immagini container predefinite.

Puoi definire la pipeline come DAG utilizzando l'SDK Kubeflow Pipelines o l'SDK TFX, compilarla nel relativo codice YAML per una 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 saperne di più sulle attività della pipeline, consulta Attività di 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 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, indirizzando gli output di un'attività della pipeline agli input per l'attività successiva della pipeline 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 una fase specifica di un flusso di lavoro ML, come la pre-elaborazione dei dati, l'addestramento o il deployment del modello. Solitamente, un componente è costituito da:

  • Input: un componente potrebbe avere uno o più parametri e artefatti di input.

  • Output: ogni componente ha uno o più parametri o artefatti di output.

  • Logica: è il codice eseguibile del componente. Per i componenti containerizzati, la logica contiene anche la definizione dell'ambiente, o immagine del container, 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 predefiniti della pipeline di Google Cloud se vuoi utilizzare funzionalità di Vertex AI, come AutoML, nella tua pipeline. Per informazioni su come utilizzare i componenti della pipeline di Google Cloud per definire una pipeline, consulta Creazione di una pipeline.

Componenti personalizzati

Puoi creare componenti personalizzati da utilizzare nella pipeline ML. Per ulteriori informazioni sulla creazione di componenti personalizzati, consulta Creare componenti della pipeline.

Per scoprire come creare componenti personalizzati di Kubeflow Pipelines, consulta il blocco note Jupyter su "Pipelines con componenti leggeri basati su funzioni Python". Per scoprire come creare componenti TFX personalizzati, consulta il tutorial sul componente della funzione Python TFX nei tutorial su TensorFlow Extended in Production.

Attività pipeline

Un'attività della pipeline è la creazione di un'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 immagini container predefinite.

All'interno di un'attività, puoi creare le funzionalità di calcolo on demand di Vertex AI con Kubernetes per eseguire in modo scalabile il tuo codice o delegare il 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 ML comprende le seguenti fasi di alto livello:

  1. Definizione: il processo di definizione di una pipeline ML e la sua attività è anche chiamato creazione di una pipeline. In questa fase, devi eseguire questi passaggi:

    1. Scegli un framework ML: Vertex AI Pipelines supporta pipeline ML definite utilizzando il framework TFX o Kubeflow Pipelines. Per scoprire come scegliere un framework per creare la pipeline, consulta Interfacce per definire una pipeline.

    2. Definisci le attività della pipeline e configura la pipeline: per saperne di più, consulta Creare una pipeline.

  2. Compilazione: in questa fase, devi seguire questi passaggi:

    1. Generare la definizione della tua pipeline ML in un file YAML compilato per una rappresentazione intermedia, che puoi utilizzare per eseguire la tua pipeline ML.

    2. (Facoltativo) Puoi caricare il file YAML compilato come modello di pipeline in un repository e riutilizzarlo per creare esecuzioni di pipeline ML.

  3. 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 di pipeline è denominata esecuzione della pipeline.

    Puoi creare un'occorrenza unica di esecuzione di una pipeline o utilizzare l'API scheduler per creare esecuzioni di pipeline ricorrenti dalla stessa definizione della pipeline ML. Puoi anche clonare l'esecuzione di una pipeline esistente. Per scoprire come scegliere un'interfaccia per eseguire una pipeline ML, consulta Interfacce per eseguire una pipeline. Per saperne di più su come creare un'esecuzione della pipeline, consulta Eseguire una pipeline.

  4. Monitorare, visualizzare e analizzare le esecuzioni: dopo aver creato un'esecuzione della pipeline, puoi fare quanto segue per monitorare le prestazioni, lo stato e i costi delle esecuzioni della pipeline:

  5. Facoltativo: arresta o elimina le esecuzioni della pipeline: non esistono limitazioni per quanto tempo puoi mantenere attiva l'esecuzione di una pipeline. Facoltativamente, puoi effettuare le seguenti operazioni:

    • Arresta l'esecuzione di una pipeline.

    • Metti in pausa o riprendi la pianificazione dell'esecuzione di una pipeline.

    • Elimina un modello di pipeline, un'esecuzione pipeline o una pianificazione di esecuzione pipeline esistente.

Che cos'è l'esecuzione di una pipeline?

Un'esecuzione pipeline è un'istanza di esecuzione della definizione della tua pipeline ML. Ogni esecuzione della pipeline è identificata da un nome di esecuzione univoco. Utilizzando Vertex AI Pipelines, puoi creare una pipeline ML eseguita nei seguenti modi:

  • Usa la definizione YAML compilata di una pipeline

  • Usa un modello di pipeline dalla Galleria modelli

Per ulteriori informazioni su come creare un'esecuzione della pipeline, consulta Eseguire una pipeline. Per ulteriori informazioni su come creare una pipeline eseguita 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 della derivazione degli artefatti ML.

Per informazioni sull'utilizzo delle esecuzioni della pipeline per sperimentare sul flusso di lavoro ML mediante Vertex AI Experiments, consulta Aggiungere le esecuzioni della 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 da esso derivati.

I grafici di derivazione consentono di analizzare la causa principale a monte e l'impatto a valle. Ogni esecuzione della pipeline produce un grafico di derivazione di parametri e artefatti che vengono input nell'esecuzione, materializzati nell'esecuzione e output dall'esecuzione. I metadati che compongono questo grafico di derivazione sono archiviati 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, tutti i parametri e i metadati degli artefatti utilizzati e generati dalla pipeline vengono archiviati in Vertex ML Metadata. Vertex ML Metadata è un'implementazione gestita della libreria di metadati ML in TensorFlow e supporta la registrazione e la scrittura di schemi di metadati personalizzati. Quando crei un'esecuzione pipeline in Vertex AI Pipelines, i metadati dell'esecuzione della pipeline vengono archiviati nell'archivio di metadati predefinito per il progetto e la regione in cui esegui la pipeline.

  • Usa Dataplex per tenere traccia della derivazione degli artefatti della pipeline (anteprima)

    Dataplex è un data fabric globale e multiprogetto integrato con più sistemi in Google Cloud, come Vertex AI, BigQuery e Cloud Composer. In Dataplex, puoi cercare un artefatto della pipeline e visualizzare il relativo grafico di derivazione. Tieni presente che, per evitare conflitti tra gli artefatti, tutte le risorse catalogate in Dataplex vengono identificate con un nome completo (FQN).

    Scopri di più sui costi di utilizzo di Dataplex.

Per ulteriori informazioni sul monitoraggio della derivazione degli artefatti ML tramite Vertex ML Metadata e Dataplex, consulta Monitorare la derivazione degli artefatti della pipeline.

Per saperne di più 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 nei componenti della pipeline di Google Cloud, consulta Tipi di artefatti dei metadati ML.

Aggiungi esecuzioni pipeline agli esperimenti

Vertex AI Experiments consente di monitorare e analizzare varie architetture, iperparametri e ambienti di addestramento dei modelli per trovare il modello migliore per il tuo caso d'uso ML. Dopo aver creato l'esecuzione di una pipeline ML, puoi associarla a un'esecuzione di un esperimento o di un esperimento. In questo modo, puoi sperimentare con diversi insiemi di variabili, come iperparametri, numero di passaggi di addestramento o iterazioni.

Per ulteriori informazioni sulla sperimentazione dei flussi di lavoro ML utilizzando Vertex AI Experiments, consulta Introduzione a Vertex AI Experiments.

Passaggi successivi