MLOps con Intelligent Product Essentials

Last reviewed 2022-06-28 UTC

Questo documento descrive un'architettura di riferimento per implementare MLOps utilizzando Intelligent Products Essentials e Vertex AI. Questi strumenti possono aiutare i produttori a migliorare continuamente i propri prodotti:

  • Aggiunta di funzionalità intelligenti per soddisfare in modo più efficace le esigenze dei clienti.
  • Monetizza nuove funzionalità di prodotto.

Tenendo a mente questi obiettivi, questo documento è destinato a data scientist, ML engineer e architetti di soluzioni che vogliono saperne di più sull'architettura di una soluzione MLOps per i prodotti connessi.

MLOps

Come descritto in Debito tecnico nascosto nei sistemi di ML, il codice ML è solo una piccola parte dei sistemi ML maturi. Oltre al codice ML e a dati di alta qualità, serve un modo per mettere in funzione i processi ML.

MLOps è una pratica che aiuta le aziende a creare, eseguire il deployment e attivare il tuo sistema ML in modo rapido, ripetibile e affidabile. MLOps è un'applicazione dei principi di DevOps ai sistemi ML. MLOps è una pratica e una cultura ingegneristica pensata per unificare lo sviluppo di sistemi ML (Dev) e le operazioni di sistema ML (Ops). L'obiettivo di MLOps è fornire un insieme di processi e funzionalità tecnologiche standardizzati per la creazione, il deployment e l'implementazione dei sistemi ML in modo rapido e affidabile.

Le seguenti sezioni descrivono come MLOps possono essere implementati con Intelligent Product Essentials e Vertex AI.

Utente tipo MLOps

Architettura di alto livello di Intelligent Product Essentials e degli utenti tipo MLOps principali.

Il diagramma precedente mostra i seguenti utenti tipo dei componenti e di base di MLOps:

  • Intelligent Products Essentials: archivia i dati dei clienti e dei dispositivi, la telemetria dei dispositivi e i dati sulla proprietà in BigQuery e Cloud Storage.
  • Data scientist: responsabili dell'analisi dei dati archiviati in Intelligent Product Essentials, del feature engineering, dello sviluppo di modelli, della valutazione dei modelli e della creazione di una pipeline ML.
  • ML engineer: responsabili dell'orchestrazione e dell'hosting del deployment di modelli su larga scala.

Le seguenti sezioni descrivono l'architettura MLOps dal punto di vista di data scientist e ML engineer.

Data scientist

Per qualsiasi problema di ML, l'obiettivo dei data scientist è applicare tecniche avanzate di analisi e ML per identificare pattern nelle previsioni di dati e di output. Poiché i dati sono la base del machine learning, i data scientist devono poter accedere facilmente ai set di dati e un ambiente di sviluppo flessibile per l'analisi dei dati.

Il seguente diagramma mostra l'architettura MLOps di Intelligent Products Essentials dal punto di vista dei data scientist.

Architettura MLOps dettagliata di Intelligent Product Essentials dal punto di vista dei data scientist.

Il diagramma precedente mostra i seguenti componenti MLOps per i data scientist:

  • Vertex AI Workbench: offre un'infrastruttura di computing basata su Jupyter, completamente gestita, scalabile e di livello enterprise per connettersi a tutti i dati Google Cloud dell'organizzazione. I data scientist possono utilizzare questa infrastruttura come ambiente di sviluppo.

  • Vertex AI Feature Store: fornisce un repository centralizzato per l'organizzazione, l'archiviazione e la gestione delle caratteristiche ML. I data scientist possono utilizzare Vertex AI Feature Store per archiviare e condividere caratteristiche all'interno della propria organizzazione.

  • SDK Kubeflow Pipelines: consente ai data scientist di creare ed eseguire il deployment di flussi di lavoro ML scalabili e portatili basati sui container Docker. Dopo che i data scientist hanno prodotto un modello ML, possono pacchettizzare le loro procedure di addestramento in una pipeline ML utilizzando l'SDK Kubeflow Pipelines.

  • Vertex AI Pipelines: fornisce un ambiente di esecuzione per le pipeline ML create utilizzando l'SDK Kubeflow Pipelines o TensorFlow Extended. Per Intelligent Products Essentials, ti consigliamo di usare l'SDK Kubeflow Pipelines. Quando utilizzi l'SDK Kubeflow Pipelines, sono disponibili anche componenti predefiniti come i componenti di Google Cloud Pipeline per un deployment semplice e rapido. Per l'elenco completo dei componenti predefiniti, consulta l'elenco dei componenti di Google Cloud Pipeline.

  • Cloud Source Repositories: repository Git privati con funzionalità complete ospitati su Google Cloud. Dopo che i data scientist hanno definito la propria pipeline ML di addestramento continuo, possono archiviarne la definizione in un repository di codice sorgente, come Cloud Source Repositories. Questo approccio attiva l'esecuzione della pipeline di integrazione continua e deployment continuo (CI/CD).

ML engineer

Intelligent Product Essentials consente agli ingegneri ML di automatizzare il funzionamento dei modelli ML in modo tempestivo e affidabile. Gli ML engineer gestiscono le pipeline CI/CD che supportano il deployment della pipeline ML, del modello e, in alcuni casi, del servizio di previsione.

Il seguente diagramma mostra l'architettura MLOps di Intelligent Products Essentials dal punto di vista degli ML engineer.

Architettura MLOps dettagliata di Intelligent Product Essentials dal punto di vista degli ML engineer.

Il diagramma precedente mostra i seguenti componenti MLOps per gli ingegneri di machine learning:

  • Una pipeline CI: crea, testa e pacchettizza i componenti della pipeline ML.
  • Una pipeline CD: esegue il deployment della pipeline ML negli ambienti appropriati, come gli ambienti di gestione temporanea o produzione.
  • Pipeline ML: prepara i dati di addestramento e addestra i modelli ML. e include i seguenti passaggi:
    • Estrazione dati: estrae set di dati di addestramento da origini dati predefinite.
    • Convalida dei dati: identifica anomalie nello schema dei dati e nella distribuzione dei valori dei dati.
    • Preparazione dei dati: include pulizia, trasformazione dei dati e feature engineering.
    • Addestramento dei modelli: crea modelli addestrati utilizzando dati di addestramento e altre tecniche ML, come l'ottimizzazione degli iperparametri.
    • Valutazione del modello: valuta le prestazioni del modello addestrato (dalla fase di addestramento precedente) sul set di dati di test.
    • Convalida del modello: conferma se il modello addestrato soddisfa il benchmark di prestazioni predittivo per il deployment.
  • Trigger della pipeline ML: eventi pubblicati in Pub/Sub che attivano la pipeline ML per l'addestramento continuo.
  • Vertex AI Model Registry: archivia diverse versioni dei modelli addestrati e dei relativi metadati.
  • Previsione batch: applica le previsioni in batch sui dati di input archiviati in Cloud Storage o BigQuery (disponibile con AutoML Tables). L'operazione di previsione batch può inviare i risultati della previsione a Cloud Storage o BigQuery (disponibile con AutoML Tables) per consentire ai sistemi downstream di utilizzare.

Passaggi successivi