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 le pipeline di ML definite utilizzando il framework Kubeflow Pipelines o 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 portatile ed estensibile di un flusso di lavoro MLOps come una serie di passaggi chiamati attività della pipeline. Ogni attività esegue un passaggio specifico del flusso di lavoro per addestrare ed eseguire il deployment di un modello ML.

Con le pipeline ML, puoi applicare strategie MLOps per automatizzare e monitorare processi ripetibili nella tua pratica di ML. Ad esempio, puoi riutilizzare una definizione di pipeline per riaddestrare continuamente un modello con i dati di produzione più recenti. Per saperne di più 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 di input/output. Puoi creare ogni attività in Python o come immagini container predefinite.

Puoi definire la pipeline come un DAG utilizzando l'SDK Kubeflow Pipelines o l'SDK TFX, compilarla nel relativo YAML per la rappresentazione intermedia e poi eseguirla. 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à pipeline, consulta Attività pipeline. Per ulteriori informazioni sul flusso di lavoro per definire, compilare ed eseguire la pipeline, consulta Ciclo di vita di una pipeline ML.

Componenti e attività della pipeline

Un task della pipeline è l'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 dell'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 di codice autonomo che esegue un passaggio specifico di un flusso di lavoro ML, ad esempio il pre-elaborazione dei dati, l'addestramento del modello o il deployment del modello. Un componente è in genere costituito da:

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

  • 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 dell'immagine 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 Google Cloud componenti della pipeline predefiniti o creare componenti personalizzati.

Componenti predefiniti

Utilizza i componenti della pipeline predefiniti se vuoi utilizzare le funzionalità di Vertex AI, come AutoML, nella tua pipeline. Google Cloud Per scoprire come utilizzare i componenti pipeline per definire una pipeline, consulta Creare una pipeline. Google Cloud

Componenti personalizzati

Puoi creare componenti personalizzati da utilizzare nella pipeline ML. Per ulteriori informazioni sulla creazione di componenti personalizzati, vedi Crea i tuoi componenti della pipeline.

Per scoprire come creare componenti personalizzati di Kubeflow Pipelines, consulta il notebook del tutorial "Pipelines with lightweight components based on Python functions" su GitHub. Per scoprire come creare componenti TFX personalizzati, consulta il tutorial sul componente funzione Python 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 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 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. Definisci: il processo di definizione di una pipeline ML e della relativa attività è anche chiamato creazione di una pipeline. In questa fase, devi eseguire i seguenti passaggi:

    1. 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.

    2. Definisci le attività della pipeline e configura la pipeline: per ulteriori informazioni, consulta Creare una pipeline.

  2. Compilazione: in questa fase, devi svolgere i seguenti passaggi:

    1. Genera la definizione della 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 riutilizzarlo per creare esecuzioni di pipeline di 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 è detta esecuzione della pipeline.

    Puoi creare un'esecuzione della pipeline una tantum o utilizzare l'API Scheduler per creare esecuzioni ricorrenti della pipeline dalla stessa definizione di pipeline ML. Puoi anche clonare un'esecuzione della 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. Monitora, visualizza e analizza le esecuzioni: dopo aver creato un'esecuzione della pipeline, puoi eseguire le seguenti operazioni per monitorare il rendimento, lo stato e i costi delle esecuzioni della pipeline:

  5. (Facoltativo) Interrompere o eliminare le esecuzioni della pipeline: non esistono restrizioni sulla durata di attivazione di un'esecuzione della pipeline. In via facoltativa, puoi:

    • Interrompi un'esecuzione della pipeline.

    • Mettere in pausa o riprendere una pianificazione di esecuzione della pipeline.

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

Che cos'è un'esecuzione della 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. Utilizzando Vertex AI Pipelines, puoi creare l'esecuzione di una pipeline ML nei seguenti modi:

  • Utilizzare la definizione YAML compilata di una pipeline

  • Utilizzare un modello di pipeline della galleria dei modelli

Per ulteriori informazioni su come creare un'esecuzione della pipeline, vedi Eseguire una pipeline. Per ulteriori informazioni su come creare un'esecuzione della pipeline da un modello di pipeline, vedi Creare, caricare e utilizzare un modello di pipeline.

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

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

Monitoraggio della derivazione degli artefatti ML

L'esecuzione di una 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, insieme ai metadati e ai riferimenti agli artefatti che ne derivano.

I grafici di derivazione ti aiutano ad analizzare la causa principale upstream e l'impatto downstream. Ogni esecuzione della pipeline produce un grafico della genealogia di parametri e artefatti che vengono inseriti nell'esecuzione, materializzati al suo interno e restituiti dall'esecuzione. I metadati che compongono questo grafico di derivazione vengono archiviati in Vertex ML Metadata. Questi metadati possono anche essere sincronizzati con Dataplex Universal Catalog.

  • 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 artefatti consumati e generati dalla pipeline vengono archiviati 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.

  • Utilizza il Catalogo universale Dataplex per monitorare la derivazione degli artefatti della pipeline

    Il Catalogo universale Dataplex è un data fabric globale e multiprogetto integrato con più sistemi all'interno di Google Cloud, come Vertex AI, BigQuery e Cloud Composer. In Dataplex Universal Catalog, puoi cercare un artefatto della pipeline e visualizzarne il grafico di derivazione. Tieni presente che, per evitare conflitti tra artefatti, qualsiasi risorsa catalogata in Dataplex Universal Catalog viene identificata con un nome completo (FQN).

    Scopri di più sui costi di utilizzo di Dataplex Universal Catalog.

Per saperne di più sul monitoraggio della derivazione degli artefatti ML utilizzando Vertex ML Metadata e Dataplex Universal Catalog, 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 delle pipeline. Per un elenco dei tipi di artefatti proprietari definiti nei Google Cloud componenti della pipeline, consulta Tipi di artefatti dei metadati ML.

Aggiungere esecuzioni di pipeline agli esperimenti

Vertex AI Experiments ti 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 di ML. Dopo aver creato un'esecuzione della pipeline di ML, puoi associarla a un esperimento o a un'esecuzione dell'esperimento. In questo modo, puoi sperimentare 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