Questo documento descrive un'architettura di riferimento per l'implementazione di MLOps utilizzando Intelligent Products Essentials e Vertex AI. Questi strumenti possono aiutare i produttori a migliorare continuamente i propri prodotti mediante:
- Aggiunta di funzionalità intelligenti per soddisfare in modo più efficace le esigenze dei clienti.
- Monetizzare le nuove caratteristiche del prodotto.
Tenendo a mente questi obiettivi, questo documento è rivolto a data scientist, machine learning engineer (ML) e architetti di soluzioni che vogliono conoscere l'architettura di una soluzione MLOps per prodotti connessi.
MLOps
Come descritto in Il debito tecnico nascosto nei sistemi di ML, il codice ML è solo una piccola parte dei sistemi ML maturi. Oltre al codice ML e ai 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 mettere in funzione il sistema ML in modo rapido, ripetibile e affidabile. MLOps è un'applicazione dei principi DevOps ai sistemi ML. MLOps è una cultura e una pratica di ingegneria che punta a unificare lo sviluppo di sistemi ML (Dev) e le operazioni di sistema ML (Ops). L'obiettivo di MLOps è fornire una serie di processi standardizzati e funzionalità tecnologiche per la creazione, il deployment e l'implementazione di sistemi ML in modo rapido e affidabile.
Le sezioni seguenti spiegano come implementare MLOps conIntelligent Product Essentialss e Vertex AI.
Utenti tipo MLOps
Il diagramma precedente mostra i seguenti componenti e gli utenti principali 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, feature engineering, sviluppo dei modelli, valutazione dei modelli e creazione di una pipeline ML.
- ML engineer: responsabili dell'orchestrazione e dell'hosting del deployment del modello 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 analitiche e di ML avanzate per identificare pattern nei dati e previsioni di output. Poiché i dati sono alla base dell'ML, i data scientist hanno bisogno di un facile accesso ai set di dati e di 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.
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 distribuzione delle caratteristiche di 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 portatili e scalabili basati su container Docker. Dopo che i data scientist hanno prodotto un modello ML, i data scientist possono pacchettizzare le 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 i prodotti intelligenti essenziali, ti consigliamo di usare l'SDK Kubeflow Pipelines. Quando utilizzi l'SDK Kubeflow Pipelines, esistono anche componenti predefiniti, come i componenti della pipeline di Google Cloud, per un deployment semplice e rapido. Per l'elenco completo dei componenti predefiniti, consulta l'elenco dei componenti della pipeline di Google Cloud.
Cloud Source Repositories: sono repository Git privati con funzionalità complete ospitati su Google Cloud. Dopo aver definito la pipeline ML di addestramento continuo, i data scientist possono archiviare la definizione della pipeline 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 li aiuta ad automatizzare il funzionamento dei modelli ML in modo tempestivo e affidabile. I 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 ingegneri ML.
Il diagramma precedente mostra i seguenti componenti MLOps per i tecnici di machine learning:
- Una pipeline CI: crea, testa e pacchettizza i componenti della pipeline ML.
- Una pipeline CD: esegue il deployment della pipeline ML in ambienti appropriati, come ambienti di gestione temporanea o di 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 le anomalie nello schema dei dati e nella distribuzione dei valori dei dati.
- Preparazione dei dati: comporta pulizia, trasformazione dei dati e feature engineering.
- Addestramento del modello: crea modelli addestrati utilizzando i dati di addestramento e altre tecniche ML, come l'ottimizzazione degli iperparametri.
- Valutazione del modello: valuta le prestazioni del modello addestrato (dal passaggio di addestramento del modello precedente) sul set di dati di test.
- Convalida del modello: conferma se il modello addestrato soddisfa il benchmark delle prestazioni predittive 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 di modelli addestrati e i relativi metadati associati.
- Previsione batch: applica 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 i sistemi downstream.
Passaggi successivi
- Scopri di più su Vertex AI.
- Scopri di più sull'inquadratura dei problemi ML.
- Scopri di più sulle pipeline di distribuzione continua e automazione nel machine learning
- Scopri di più sulle MLOps per i professionisti.
- Per altre architetture di riferimento, diagrammi e best practice, esplora il Cloud Architecture Center.