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 flussi di lavoro ML. Puoi eseguire in batch le pipeline 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 nel 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 i processi ripetibili nella tua pratica ML. Ad esempio, puoi riutilizzare una definizione di pipeline per riaddestrare continuamente un modello sui 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à 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 un DAG utilizzando l'SDK Kubeflow Pipelines o l'SDK TFX, compilarla in 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à della pipeline, consulta Attività della pipeline. Per saperne di più sul flusso di lavoro per definire, compilare ed eseguire la 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. Quando definisci la 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 un passaggio specifico di un flusso di lavoro ML, come la 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 di output o artefatti.
Logica: questo è 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 la definizione delle attività in una pipeline ML. Per definire le attività della pipeline, puoi utilizzare i componenti della pipeline predefiniti Google Cloud o creare i tuoi componenti personalizzati.
Componenti predefiniti
Utilizza i componenti della pipeline predefiniti Google Cloud se vuoi utilizzare le funzionalità di Vertex AI, come AutoML, nella tua pipeline. Per scoprire come utilizzare i componenti della pipeline Google Cloud per definire una pipeline, consulta Creare una pipeline.
Componenti personalizzati
Puoi creare i tuoi componenti personalizzati da utilizzare nella pipeline ML. Per saperne di più sulla creazione di componenti personalizzati, consulta Creare componenti della pipeline personalizzati.
Per scoprire come creare componenti Kubeflow Pipelines personalizzati, consulta il "Pipelines with lightweight components based on Python functions" tutorial notebook su GitHub. Per scoprire come creare componenti TFX personalizzati, consulta il tutorial sui componenti delle funzioni Python di TFX nei tutorial di TensorFlow Extended in Production.
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 carico di lavoro a un altro motore di esecuzione, come BigQuery, Dataflow o Managed Service for Apache Spark.
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:
Definisci: 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 creare la pipeline, consulta Interfacce per definire una pipeline.
Definisci le attività della pipeline e configura la pipeline: per saperne di più, consulta Creare una pipeline.
Compila: in questa fase, devi eseguire i seguenti passaggi:
Genera la definizione della pipeline ML in un file YAML compilato per la rappresentazione intermedia, che puoi utilizzare per eseguire la pipeline ML.
(Facoltativo) Puoi caricare il file YAML compilato come un modello di pipeline in un repository e riutilizzarlo per creare esecuzioni di pipeline 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 pipeline definizione è chiamata esecuzione della pipeline.
Puoi creare un'occorrenza una tantum di un'esecuzione della pipeline o utilizzare l' API Scheduler per creare esecuzioni di pipeline ricorrenti 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.
Monitora, visualizza e analizza le esecuzioni: dopo aver creato un'esecuzione della pipeline, puoi eseguire le seguenti operazioni per monitorare le prestazioni, lo stato e i costi delle esecuzioni della pipeline:
Configura le notifiche via email per gli errori della pipeline. Per saperne di più, consulta Configurare le notifiche via email.
Utilizza Cloud Logging per creare voci di log per gli eventi di monitoraggio. Per saperne di più, 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 Comprendere i costi di esecuzione della pipeline.
(Facoltativo) Interrompi o elimina le esecuzioni della pipeline: non esistono limitazioni alla durata di attivazione di un'esecuzione della pipeline. In via facoltativa, puoi:
Interrompere un'esecuzione della pipeline.
Mettere in pausa o riprendere una pianificazione di esecuzione della pipeline.
Eliminare un modello di pipeline, un'esecuzione della pipeline o una pianificazione di esecuzione della 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 un'esecuzione della pipeline ML nei seguenti modi:
Utilizza la definizione YAML compilata di una pipeline
Utilizza un modello di pipeline dalla Galleria di modelli
Per saperne di più su come creare un'esecuzione della pipeline, consulta Eseguire una pipeline. Per saperne di più 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 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.
Monitorare 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 ai metadati e ai riferimenti agli artefatti derivati.
I grafici di derivazione ti aiutano ad analizzare la causa principale upstream e l'impatto downstream. Ogni esecuzione della pipeline produce un grafico di derivazione dei parametri e degli artefatti che vengono inseriti nell'esecuzione, materializzati all'interno dell'esecuzione e generati dall'esecuzione. I metadati che compongono questo grafico di derivazione vengono archiviati in Vertex ML Metadata. Questi metadati possono anche essere sincronizzati con Knowledge 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 utilizzati 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 archiviati nell'archivio di metadati predefinito per il progetto e la regione in cui esegui la pipeline.
Utilizzare Knowledge Catalog per monitorare la derivazione degli artefatti della pipeline
Knowledge Catalog è un data fabric globale e cross-project integrato con più sistemi, come Google Cloud Vertex AI, BigQuery e Managed Service for Apache Airflow. In Knowledge 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 Knowledge Catalog viene identificata con un nome completo (FQN).
Per saperne di più sul monitoraggio della derivazione degli artefatti ML utilizzando Vertex ML Metadata e Knowledge Catalog, consulta Monitorare la derivazione degli artefatti della pipeline artifacts.
Per saperne di più sulla visualizzazione, l'analisi e il confronto delle esecuzioni della pipeline, consulta Visualizzare e analizzare i risultati delle pipeline. Per un elenco dei tipi di artefatti di terze parti 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 ML. Dopo aver creato un'esecuzione della pipeline 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 saperne di più sulla sperimentazione con i 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 le pipeline utilizzando Vertex AI Pipelines.
Inizia imparando a definire una pipeline utilizzando l'SDK Kubeflow Pipelines.
Scopri le best practice per l'implementazione di modelli ML con addestramento personalizzato su Vertex AI.