Introduzione a Gemini Enterprise Agent Platform Pipelines

Agent Platform 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 workflow 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:

Scegliere l'orchestratore giusto per i workload di ML

  • Scegli Agent Platform Pipelines se sei un machine learning engineer che crea workflow ML specializzati e container-native utilizzando Kubeflow Pipelines o TFX e la tua pipeline viene eseguita interamente all'interno di Agent Platform e dell'ecosistema Cloud de Confiance.

  • Scegli Managed Service for Apache Airflow se stai creando un processo MLOps end-to-end che richiede l'unificazione di data engineering e machine learning. Managed Airflow include Orchestration Pipelines, un framework YAML dichiarativo che consente ai data scientist di orchestrare il feature engineering (ad esempio, pipeline Dataform o dbt) e l'elaborazione ML distribuita (ad esempio, PySpark su Managed Service for Apache Spark) senza scrivere DAG Python complessi.

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 workflow 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 sugli ultimi dati di produzione. Per saperne di più su MLOps in Gemini Enterprise, consulta MLOps sull'API Gemini Enterprise.

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 in YAML per la rappresentazione intermedia ed 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 la definizione, la compilazione e l'esecuzione della pipeline, consulta Ciclo di vita di una pipeline ML.

Attività e componenti della pipeline

Un task 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 dell'attività successiva nel workflow ML. Puoi anche utilizzare gli input della 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 workflow ML, ad esempio la pre-elaborazione dei dati, l'addestramento del modello o il deployment del modello. Un componente è in genere 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 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 pipelineCloud de Confiance by S3NS predefiniti o creare i tuoi componenti personalizzati.

Componenti predefiniti

Utilizza i componenti della pipeline Cloud de Confiance by S3NS predefiniti se vuoi utilizzare le funzionalità dell'API Gemini Enterprise, come AutoML, nella tua pipeline. Per scoprire come utilizzare i componenti della pipeline Cloud de Confiance by S3NS per definire una pipeline, consulta Crea 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 Crea i tuoi componenti della pipeline.

Per scoprire come creare componenti Kubeflow Pipelines personalizzati, 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 sui componenti delle funzioni Python TFX nei tutorial su TensorFlow Extended in produzione.

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 computing on demand di Gemini Enterprise Agent Platform con Kubernetes per eseguire il codice in modo scalabile o delegare il workload 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:

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

    1. Scegli un framework ML: Agent Platform 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 saperne di più, consulta Crea una pipeline.

  2. Compilazione: in questa fase, devi eseguire 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 ML.

  3. Esecuzione: crea un'istanza di esecuzione della pipeline ML utilizzando il file YAML compilato o un template di pipeline. L'istanza di esecuzione di una definizione di pipeline è chiamata esecuzione della pipeline.

    Puoi creare un'esecuzione della pipeline una tantum o utilizzare l'API Scheduler per creare esecuzioni della pipeline ricorrenti dalla stessa definizione della pipeline ML. Puoi anche clonare un'esecuzione di 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 Esegui una pipeline.

  4. 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:

  5. (Facoltativo) Interrompi o elimina le esecuzioni della pipeline: non esiste alcuna restrizione sulla durata di un'esecuzione della pipeline. Se vuoi, puoi procedere come segue:

    • Arresta l'esecuzione di una pipeline.

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

    • Eliminare un modello di pipeline, un'esecuzione di pipeline o una pianificazione di esecuzione di 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. Utilizzando Agent Platform Pipelines, puoi creare un'esecuzione di pipeline ML nei seguenti modi:

  • Utilizza la definizione YAML compilata di una pipeline

  • Utilizza un template di pipeline dalla Galleria di template

Per saperne di più su come creare un'esecuzione della pipeline, consulta Esegui una pipeline. Per saperne di più su come creare un'esecuzione di pipeline da un template di pipeline, consulta Crea, carica e utilizza un template di pipeline.

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

Per informazioni sull'utilizzo delle esecuzioni della pipeline per sperimentare il tuo workflow ML utilizzando gli esperimenti di Gemini Enterprise Agent Platform, consulta Aggiungi 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 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 al suo interno e generati dall'esecuzione. I metadati che compongono questo grafico di derivazione sono archiviati in Agent Platform ML Metadata. Questi metadati possono anche essere sincronizzati con Knowledge Catalog.

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

    Quando esegui una pipeline utilizzando Agent Platform Pipelines, tutti i parametri e i metadati degli artefatti utilizzati e generati dalla pipeline vengono archiviati in Agent Platform ML Metadata. Agent Platform 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 Agent Platform Pipelines, i metadati dell'esecuzione della pipeline vengono archiviati nell'archivio dei metadati predefinito per il progetto e la regione in cui esegui la pipeline.

  • Utilizza Knowledge Catalog per monitorare la derivazione degli artefatti della pipeline

    Knowledge Catalog è un data fabric globale e interprogetto integrato con più sistemi all'interno di Cloud de Confiance by S3NS, come Agent Platform, BigQuery e Managed Service for Apache Airflow. In Knowledge Catalog, puoi cercare un artefatto della pipeline e visualizzare il relativo grafico di derivazione. Tieni presente che, per evitare conflitti tra gli artefatti, qualsiasi risorsa catalogata in Knowledge Catalog viene identificata con un nome completo (FQN).

    Scopri di più sui costi di utilizzo di Knowledge Catalog.

Per saperne di più sul monitoraggio della derivazione degli artefatti ML utilizzando Agent Platform ML Metadata e Knowledge Catalog, consulta Monitora la derivazione degli artefatti della pipeline.

Per saperne di più sulla visualizzazione, l'analisi e il confronto delle esecuzioni delle pipeline, consulta Visualizza e analizza i risultati della pipeline. Per un elenco dei tipi di artefatti proprietari definiti nei componenti della pipeline Cloud de Confiance by S3NS , consulta Tipi di artefatti ML Metadata.

Aggiungi esecuzioni di pipeline agli esperimenti

Gli esperimenti di Agent Platform ti consentono 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 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 workflow di ML utilizzando Agent Platform Experiments, consulta Introduzione ad Agent Platform Experiments.

Passaggi successivi