Introduzione ad AI Platform Pipelines

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

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

AI Platform Pipelines semplifica l'avvio delle MLOps evitandoti la difficoltà di configurare Kubeflow Pipelines con TensorFlow Extended (TFX). Kubeflow Pipelines è una piattaforma open source per l'esecuzione, il monitoraggio, la verifica e la gestione delle pipeline di ML su Kubernetes. TFX è un progetto open source per la creazione di pipeline ML che orchestrano i 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 creare ed eseguire il deployment di flussi di lavoro di ML, chiamati pipeline.

Informazioni su TensorFlow Extended

TFX è un progetto open source che puoi utilizzare per definire i tuoi flussi di lavoro di ML basati su TensorFlow come una pipeline. TFX fornisce componenti che puoi riutilizzare per importare e trasformare i 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 dover creare componenti personalizzati per ogni passaggio.

Informazioni su AI Platform Pipelines

AI Platform Pipelines ti evita di dover:

Con AI Platform Pipelines, puoi configurare un cluster Kubeflow Pipelines in 15 minuti, in modo da iniziare rapidamente a utilizzare le pipeline di ML. AI Platform Pipelines crea anche un bucket Cloud Storage per semplificare l'esecuzione di 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:

  • Applica le strategie MLOps per automatizzare i processi ripetibili.
  • Fai esperimenti eseguendo un flusso di lavoro ML con diversi set 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.

Puoi utilizzare i modelli di pipeline di TensorFlow Extended o l'SDK Kubeflow Pipelines per creare pipeline.

Informazioni sui componenti della pipeline

I componenti della pipeline sono insiemi di codice autonomi che eseguono un passaggio nel flusso di lavoro di una pipeline, ad esempio 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, un insieme di output e la posizione di un'immagine container. L'immagine del 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à in una pipeline esegue un passaggio nel flusso di lavoro della pipeline. Poiché le attività sono istanze di componenti della pipeline, hanno parametri di input, output e un'immagine container. I parametri di input delle 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 grafo diretto aciclico.

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

  • Preelaborazione:questa attività prepara i dati di addestramento.
  • Addestramento: questa attività utilizza i dati di addestramento pre-elaborati per addestrare il modello.
  • Predizione: questa attività esegue il deployment del modello addestrato come servizio ML e ottiene le 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 della curva della caratteristica operativa del ricevitore (ROC).

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

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

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

Passaggi successivi