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 pipeline ML per orchestrare i tuoi flussi di lavoro ML. Puoi eseguire in batch pipeline ML definite utilizzando le pipeline Kubeflow (Kubeflow Pipelines) o il framework TensorFlow Extended (TFX). Per scoprire come scegliere un framework per definire la pipeline 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 portabile ed estensibile di un flusso di lavoro MLOps come una serie di passaggi chiamati attività di pipeline. Ogni attività esegue un passaggio specifico 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 pratica ML. Ad esempio, puoi riutilizzare la definizione di una pipeline per riaddestrare continuamente un modello sui 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 interconnesse tramite dipendenze di 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à pipeline è un'istanza di un componente pipeline con input specifici. Durante la definizione della pipeline ML, puoi interconnettere più attività per formare un DAG, instradando gli output di un'attività della pipeline agli input per l'attività della pipeline 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 autonomo di codice che esegue una fase specifica di un flusso di lavoro ML, come pre-elaborazione dei dati, addestramento del modello o deployment del modello. Un componente è generalmente costituito dai seguenti elementi:

  • 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 della definizione delle attività in una pipeline ML. Per definire le attività della pipeline, puoi utilizzare i componenti di Google Cloud Pipeline predefiniti o creare componenti personalizzati.

Componenti predefiniti

Utilizza i componenti predefiniti di Google Cloud Pipeline se vuoi usare le funzionalità di Vertex AI, come AutoML, nella tua pipeline. Per informazioni su come utilizzare i componenti di Google Cloud Pipeline per definire una pipeline, consulta Creazione di una pipeline.

Componenti personalizzati

Puoi creare componenti personalizzati da utilizzare nella tua pipeline ML. Per saperne di più sulla creazione di componenti personalizzati, consulta Creare i tuoi componenti della pipeline.

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

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à di pipeline ML utilizzando Python o 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 oppure 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 include le seguenti fasi di alto livello:

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

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

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

  2. Compilazione: in questa fase devi eseguire queste operazioni:

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

    2. (Facoltativo) Puoi caricare il file YAML compilato come modello di pipeline in un repository e utilizzarlo 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 è chiamata esecuzione della pipeline.

    Puoi creare un'occorrenza una tantum di un'esecuzione di pipeline o utilizzare Vertex AI Scheduler per creare esecuzioni di pipeline ricorrenti dalla stessa definizione della pipeline ML. Puoi anche clonare un'esecuzione di pipeline esistente. Per scoprire come scegliere un'interfaccia per l'esecuzione di una pipeline ML, consulta Interfacce per l'esecuzione di una pipeline. Per ulteriori informazioni 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 seguire questi passaggi per monitorare le prestazioni, lo stato e i costi delle esecuzioni della pipeline:

  5. (Facoltativo) Arresta o elimina le esecuzioni delle pipeline: non esistono limitazioni sul tempo per mantenere attiva l'esecuzione di una pipeline. Se vuoi, puoi effettuare le seguenti operazioni:

    • Arresta l'esecuzione di una pipeline.

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

    • Elimina un modello di pipeline, l'esecuzione della pipeline o la pianificazione di esecuzione della pipeline esistente.

Che cos'è l'esecuzione di una pipeline?

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

  • Usa la definizione YAML compilata di una pipeline

  • Utilizza 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 un'esecuzione della pipeline da un modello di pipeline, consulta Creare, caricare e utilizzare un modello di pipeline.

Per informazioni sul monitoraggio e sull'archiviazione degli artefatti di esecuzione della pipeline e dei metadati utilizzando Vertex ML Metadata, consulta Utilizzare Vertex ML Metadata per tracciare la derivazione degli artefatti ML.

Per informazioni sull'utilizzo delle esecuzioni della pipeline per sperimentare il flusso di lavoro ML mediante Vertex AI Experiments, consulta Aggiungere le esecuzioni della pipeline agli esperimenti.

utilizza Vertex ML Metadata per tracciare la derivazione degli artefatti ML

Un'esecuzione di una pipeline contiene diversi artefatti e parametri, inclusi i metadati della pipeline. Per comprendere i cambiamenti 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 agli artefatti e ai metadati che ne derivano.

Per gestire e analizzare i metadati in modo efficiente, puoi usare Dataplex o Vertex ML Metadata.

  • Utilizza Dataplex per monitorare la derivazione degli artefatti della pipeline (anteprima)

    Dataplex è un data fabric globale e tra progetti integrato con più sistemi in Google Cloud, come Vertex AI, BigQuery e Cloud Composer. Con Dataplex, puoi scoprire le risorse Google Cloud, inclusi artefatti e processi della pipeline. In Dataplex puoi cercare un artefatto della pipeline e visualizzarne il grafico di derivazione. Per evitare conflitti di artefatti, ogni risorsa catalogata in Dataplex viene identificata con un nome completo (FQN).

    Scopri di più sui costi di utilizzo di Dataplex.

  • Utilizza Vertex ML Metadata per monitorare la derivazione degli artefatti della pipeline

    Quando esegui una pipeline utilizzando Vertex AI Pipelines, tutti gli artefatti e i metadati generati da quella pipeline vengono archiviati in Vertex ML Metadata. Quando usi Vertex ML Metadata, puoi effettuare scritture arbitrarie di metadati. Tieni presente che Vertex ML Metadata è integrato solo con Vertex AI Pipelines e non integra altri prodotti e risorse di Google Cloud. Ti consente inoltre di analizzare i metadati in base a un progetto e una regione specificati.

Per ulteriori informazioni sul monitoraggio della derivazione degli artefatti ML utilizzando 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 delle pipeline, consulta Visualizzare e analizzare i risultati della pipeline. Per un elenco dei tipi di artefatti proprietari definiti nei componenti di pipeline di Google Cloud, consulta Tipi di artefatti per metadati ML.

Aggiungi esecuzioni pipeline agli esperimenti

Vertex AI Experiments consente di monitorare e analizzare varie architetture di modelli, iperparametri e ambienti di addestramento 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 esperimento o a un esperimento. In questo modo, puoi sperimentare con diversi insiemi di variabili, ad esempio iperparametri, numero di passaggi di addestramento o iterazioni.

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

Passaggi successivi