Introduzione ad AI Platform Pipelines

I flussi di lavoro di machine learning (ML) includono passaggi per preparare e analizzare dati, addestrare e valutare modelli, eseguire il deployment di modelli addestrati in produzione, monitorare gli artefatti ML, comprendere le loro dipendenze e così via. Gestire questi passaggi in modo ad hoc può essere difficile e dispendioso in termini di tempo.

MLOps è la pratica di applicare pratiche DevOps per automatizzare, gestire e controllare i flussi di lavoro ML. AI Platform Pipelines ti aiuta a implementare MLOps fornendo una piattaforma in cui puoi orchestrare i passaggi del tuo flusso di lavoro come una pipeline. Le pipeline ML sono definizioni portabili e riproducibili dei flussi di lavoro ML.

AI Platform Pipelines semplifica l'adozione di MLOps risparmiando la difficoltà di configurare Kubeflow Pipelines con TensorFlow Extended (TFX). Kubeflow Pipelines è una piattaforma open source per l'esecuzione, il monitoraggio, il controllo e la gestione di pipeline ML su Kubernetes. TFX è un progetto open source per la creazione di pipeline ML che orchestrano flussi di lavoro ML end-to-end.

Informazioni su Kubeflow e sulla piattaforma Kubeflow Pipelines

Kubeflow è un toolkit open source per l'esecuzione di carichi di lavoro ML su Kubernetes. Kubeflow Pipelines è un componente di Kubeflow che fornisce una piattaforma per la creazione e il deployment di flussi di lavoro ML, chiamati pipeline.

Informazioni su TensorFlow Extended

TFX è un progetto open source che consente di definire i flussi di lavoro ML basati su TensorFlow come pipeline. TFX fornisce componenti che puoi riutilizzare per importare e trasformare dati, addestrare e valutare un modello, eseguire il deployment di un modello addestrato per l'inferenza e così via. Riutilizzando i componenti TFX, puoi orchestrare il processo di ML senza la necessità di creare componenti personalizzati per ogni passaggio.

Informazioni su AI Platform Pipelines

AI Platform Pipelines ti evita la difficoltà di:

Con AI Platform Pipelines, puoi configurare un cluster Kubeflow Pipelines in 15 minuti, così puoi iniziare rapidamente con le pipeline ML. AI Platform Pipelines crea inoltre un bucket Cloud Storage per semplificare l'esecuzione dei tutorial sulle pipeline e iniziare a utilizzare i modelli di pipeline TFX.

Informazioni sulle pipeline ML

Le pipeline ML sono flussi di lavoro ML portatili e scalabili, basati su container. Le pipeline ML sono composte da un insieme di parametri di input e da un elenco di attività. Ogni attività è un'istanza di un componente della pipeline.

Puoi utilizzare le pipeline ML per:

  • Applicare strategie MLOps per automatizzare processi ripetibili.
  • Sperimenta eseguendo un flusso di lavoro ML con insiemi diversi di iperparametri, numero di passaggi o iterazioni di addestramento e così via
  • Riutilizza il flusso di lavoro di una pipeline per addestrare un nuovo modello.

Per creare le pipeline, puoi utilizzare i modelli di pipeline estesi di TensorFlow o l'SDK Kubeflow Pipelines.

Informazioni sui componenti della pipeline

I componenti della pipeline sono insiemi autonomi di codice che eseguono un singolo passaggio del flusso di lavoro di una pipeline, come la pre-elaborazione dei dati, la trasformazione dei dati, l'addestramento del modello e così via.

I componenti sono composti da un insieme di parametri di input, da un insieme di output e dalla posizione di un'immagine container. L'immagine container di un componente è un pacchetto che include il codice eseguibile del componente e una definizione dell'ambiente in cui viene eseguito il codice.

Informazioni sul flusso di lavoro della pipeline

Ogni attività di una pipeline esegue un passaggio nel flusso di lavoro della pipeline. Poiché le attività sono istanze dei componenti della pipeline, hanno parametri di input, output e un'immagine container. I parametri di input dell'attività possono essere impostati dai parametri di input della pipeline o impostati in modo da dipendere dall'output di altre attività all'interno di questa pipeline. Kubeflow Pipelines utilizza queste dipendenze per definire il flusso di lavoro della pipeline come un grafo diretto aciclico.

Ad esempio, considera una pipeline con le seguenti attività:

  • Pre-elaborazione:questa attività prepara i dati di addestramento.
  • Addestramento: questa attività utilizza i dati di addestramento pre-elaborati per addestrare il modello.
  • Previsione: questa attività esegue il deployment del modello addestrato come servizio ML e genera previsioni per il set di dati di test.
  • Matrice di confusione: questa attività utilizza l'output dell'attività di previsione per creare una matrice di confusione.
  • ROC: questa attività utilizza l'output dell'attività di previsione per eseguire l'analisi delle curve delle caratteristiche operative del ricevitore (ROC).

Per creare il grafico del flusso di lavoro, l'SDK Kubeflow Pipelines analizza le dipendenze delle attività.

  • L'attività di pre-elaborazione non dipende da altre attività, perciò può essere la prima attività del flusso di lavoro oppure può essere eseguita contemporaneamente ad altre attività.
  • L'attività di addestramento si basa sui dati prodotti dall'attività di pre-elaborazione, quindi l'addestramento deve avvenire dopo la pre-elaborazione.
  • L'attività di previsione si basa sul modello addestrato prodotto dall'attività di addestramento, quindi la previsione deve avvenire dopo l'addestramento.
  • La creazione della matrice di confusione e l'esecuzione dell'analisi ROC si basano entrambi sull'output dell'attività di previsione, quindi devono avvenire al termine della previsione. La creazione della matrice di confusione e l'esecuzione dell'analisi ROC possono verificarsi contemporaneamente, poiché entrambe dipendono dall'output dell'attività di previsione.

In base a questa analisi, il sistema Kubeflow Pipelines esegue le attività di pre-elaborazione, addestramento e previsione in sequenza, quindi esegue contemporaneamente la matrice di confusione e le attività ROC.

Passaggi successivi