Vai al paragrafo

Cos'è MLOps?

Copia URL

Con MLOps (Machine Learning Operations per esteso) si intende un insieme di metodologie per i flussi di lavoro progettato per semplificare il processo di distribuzione e gestione dei modelli di machine learning (ML). 

Ispirato ai principi DevOps e GitOps, MLOps punta a creare una serie di passaggi in continua evoluzione per l'integrazione dei modelli di ML nei processi di sviluppo software. Adottando un approccio MLOps, data scientist, ingegneri e team IT lavorano in sinergia per garantire che i modelli di machine learning siano sempre accurati e aggiornati con una semplificazione del ciclo di addestramento iterativo. Ciò prevede di applicare pratiche di monitoraggio, riaddestramento e deployment continui in modo da riuscire ad adattare i modelli all'evoluzione dei dati e garantire quindi prestazioni elevate nel tempo.

 

Leggi l'infografica su MLOps

I modelli di machine learning individuano degli schemi nei dati e li utilizzano per eseguire analisi predittive. Quando il modello si evolve e riceve nuovi dati su cui non è stato addestrato, insorge un problema chiamato "data drift" (deviazione dei dati). Il fenomeno del data drift si verifica naturalmente nel corso del tempo, quando le proprietà statistiche utilizzate per addestrare un modello di ML diventano obsolete, e può avere un impatto negativo sulle aziende se non viene affrontato e corretto.

Per evitarlo, è importante che le organizzazioni monitorino i propri modelli e mantengano la massima precisione predittiva. L'applicazione di metodologie MLOps va a vantaggio dei team in quanto migliora la qualità e l'accuratezza dei modelli predittivi e al contempo semplifica il processo di gestione, esclude il rischio del data drift e ottimizza l'efficienza dei data scientist.

Di seguito vengono illustrati alcuni vantaggi che MLOps può offrire in contesti aziendali:

Riproducibilità: le organizzazioni possono contare sulla coerenza degli esperimenti di ML, poiché un framework MLOps aiuta a monitorare e gestire le modifiche al codice, ai dati e ai file di configurazione associati ai diversi modelli. 

Integrazione continua e deployment continuo (CI/CD): i framework MLOps si integrano con le pipeline CI/CD e consentono l'automazione di test, convalida e distribuzione. In questo modo si accelerano i cicli di sviluppo e di distribuzione e si promuove una cultura del miglioramento continuo.

Maggiore collaborazione e tempistiche ridotte: MLOps favorisce la collaborazione efficace fra i team, elimina gli ostacoli e aumenta la produttività. Inoltre, l'automazione delle attività manuali consente alle organizzazioni di distribuire più modelli più velocemente e iterarli con maggiore frequenza per garantire la massima accuratezza.

Riduzione dei costi: applicare le modifiche e i miglioramenti necessari per garantire l'accuratezza del modello di ML è un'attività molto ripetitiva, soprattutto se eseguita manualmente. L'automazione introdotta con l'approccio MLOps aiuta le organizzazioni a risparmiare sulle risorse che potrebbero essere impiegate diversamente. Riduce anche il rischio di errori manuali e aumenta i benefici, generando più valore in meno tempo e snellendo il processo di deployment.

Miglioramento della governance e della conformità: le metodologie MLOps consentono alle organizzazioni di applicare le misure di sicurezza e di garantire la conformità alle normative sulla privacy dei dati. Il monitoraggio di prestazioni e accuratezza permette inoltre di individuare eventuali problemi di data drift nel modello dopo l'integrazione di nuovi dati e di adottare misure proattive per mantenere un elevato livello di accuratezza nel tempo.

L'adozione di un approccio MLOps permette di automatizzare le lunghe attività manuali necessarie per la manutenzione di un modello di machine learning e garantisce prestazioni e affidabilità continue. Migliorando la collaborazione fra i team, MLOps promuove lo sviluppo agile e i processi decisionali basati sui dati. 

MLOps, che consente di automatizzare e snellire il processo di sviluppo di modelli di ML, può apportare notevoli vantaggi in molti settori: Di seguito alcuni scenari di utilizzo di MLOps:

Manutenzione predittiva: previsione dei guasti e programmazione della manutenzione in maniera proattiva.

Rilevamento delle frodi: creazione e distribuzione di modelli che monitorano in continuo le transazioni alla ricerca di attività sospette.

Elaborazione del linguaggio naturale (NLP): verifica del funzionamento efficace e affidabile di applicazioni come chatbot, traduttori e altri modelli linguistici di grandi dimensioni (LLM).

Visione artificiale: supporto di attività quali analisi di immagini mediche, rilevamento di oggetti e guida autonoma. 

Rilevamento delle anomalie: individuazione dei discostamenti da una norma. I contesti di applicazione in questo caso sono svariati: sicurezza delle reti, processi industriali, dispositivi IoT, ecc.

Sanità: distribuzione di modelli capaci di elaborare diagnosi, definizione di previsioni sull'esito di una cura o analisi automatica di immagini mediche. 

Vendita al dettaglio: gestione degli inventari, elaborazione di previsioni della domanda, ottimizzazione dei prezzi e miglioramento dell'esperienza di acquisto dei clienti.

MLOps è un'evoluzione dell'approccio DevOps e si basa sugli stessi principi fondamentali di collaborazione, automazione e miglioramento continuo, applicati però allo sviluppo di modelli di ML. Sia MLOps che DevOps puntano a migliorare la collaborazione con il team operativo IT: un rapporto indispensabile per poter gestire in maniera ottimale un software o un modello di ML durante tutto il suo ciclo di vita. 

Mentre DevOps si concentra sull'automazione delle attività operative di routine e sulla standardizzazione degli ambienti per lo sviluppo e il deployment, MLOps ha una natura più sperimentale ed è dedicato principalmente alla ricerca di strategie per la gestione delle pipeline di dati. I dati utilizzati dai modelli di ML sono in continua evoluzione e il modello deve mutare di conseguenza, ma questo richiede un lavoro costante di adattamento e una messa a punto. 

Test, deployment e produzione sono diversi per MLOps rispetto a DevOps. Per questo motivo, in un progetto di ML i team spesso comprendono anche data scientist che non lavorano sugli aspetti più propriamente di ingegneria del software, ma che si concentrano sull'analisi esplorativa dei dati e sullo sviluppo e sperimentazione dei modelli. Alcune attività previste dall'approccio MLOps che in genere non vengono prese in considerazione dalle metodologie DevOps sono:

  • Svolgere test per la convalida dei dati, valutare la qualità del modello addestrato, convalidare il modello.
  • Creare una pipeline in più fasi che permetta di automatizzare il riaddestramento e la ridistribuzione del modello di ML quando si acquisiscono nuovi dati.
  • Tenere traccia delle statistiche dei dati e monitorare le prestazioni online del modello per osservare quando i valori si discostano dalle aspettative.

Infine, quando si parla di integrazione continua e deployment continuo (CI/CD) nell'approccio MLOps, CI non riguarda più solo il test e la convalida del codice e dei componenti (come nel caso di DevOps), ma prevede anche di testare e convalidare i dati, gli schemi dei dati e i modelli. CD invece non è più legato solo alla distribuzione di un singolo pacchetto software o un servizio, ma si concentra sul deployment di un sistema (una pipeline di addestramento di ML) che dovrebbe distribuire automaticamente un altro servizio (servizio di previsione del modello).

Non esiste un unico modo per creare e rendere operativi i modelli di ML, ma c'è sempre bisogno di raccogliere e preparare i dati, sviluppare i modelli, convertirli in applicazioni basate su intelligenza artificiale e trarre profitto da tali applicazioni.

Red Hat® OpenShift® include funzionalità chiave per adottare le metodologie MLOps in modo coerente in datacenter, cloud computing pubblico ed edge computing. Il suo approccio è suddiviso in 5 fasi:

Fase 1: raccolta e preparazione dei dati
Si raccolgono, si puliscono e si etichettano i dati strutturati o non strutturati in un formato adatto all'addestramento e al test dei modelli di ML.

Fase 2: addestramento dei modelli

I modelli di ML vengono addestrati tramite notebook Jupyter su Red Hat OpenShift.

Fase 3: automazione

Red Hat OpenShift Pipelines è una funzionalità di integrazione continua guidata dagli eventi che consente di creare pacchetti dei modelli di ML come immagini container.

Fase 4: deployment

Red Hat OpenShift GitOps automatizza il deployment dei modelli di ML in modo scalabile e in qualunque ambiente (cloud pubblico, privato, ibrido o all'edge).

Fase 5: monitoraggio

Grazie agli strumenti messi a disposizione dal nostro ecosistema di partner, le aziende possono monitorare i modelli e riaddestrarli e ridistribuirli se necessario, per mantenerli sempre aggiornati. Ogni volta che si acquisiscono nuovi dati, il ciclo ricomincia. 

Che si tratti di organizzazioni che stanno ancora valutando la possibilità di introdurre il machine learning in azienda o di realtà più avanzate che già lavorano con pipeline di ML, è utile comprendere come i flussi di lavoro e i processi aziendali si inseriscono nell'ambito dell'approccio MLOps. La maturità di un processo di machine learning si valuta in tre livelli in base al grado di automazione presente nel flusso di lavoro. 

Livello 0 di MLOps: si esegue tutto manualmente

In genere, i team che iniziano ad approcciarsi al machine learning utilizzano flussi di lavoro completamente manuali. In questa fase i data scientist che creano il modello sono sconnessi dagli ingegneri che operano sul modello e tutte le fasi del processo (preparazione dei dati, addestramento dei modelli, automazione, deployment e monitoraggio) sono svolte senza automazione. Non sono presenti né integrazione continua (CI), né deployment continuo (CD). Il controllo delle versioni per il nuovo modello viene adottato raramente e quando si distribuisce un nuovo modello la probabilità che questo non riesca ad adattarsi ai cambiamenti è molto elevata. 

Livello 1 di MLOps: pipeline di ML automatizzata

Introdurre l'automazione nel flusso di lavoro è utile se il modello deve adattarsi in modo proattivo a nuovi fattori. Con una pipeline automatizzata, i nuovi dati vengono inseriti nel ciclo per l'addestramento continuo (CT). In questo modo il modello può accedere alle informazioni più rilevanti per i servizi di previsione. 

Livello 2 di MLOps: sistema CI/CD automatizzato

In questa fase gli aggiornamenti al modello di ML sono rapidi e affidabili. Il modello viene riaddestrato con nuovi dati ogni giorno, se non ogni ora, e gli aggiornamenti vengono distribuiti su migliaia di server contemporaneamente. Questo sistema consente ai data scientist e agli ingegneri di operare in armonia in un ambiente unico e collaborativo. 

Meglio creare da zero o acquistare?

Le risorse e le tempistiche sono due aspetti da tenere in considerazione quando si decide se acquistare una piattaforma MLOps o crearla da zero. Realizzare ex novo un'infrastruttura di ML funzionante può richiedere oltre un anno e può volerci ancora più tempo per creare una pipeline che produca effettivamente valore per l'organizzazione. Inoltre, occorre ricordare che un'infrastruttura richiede anche un team dedicato che si occupi della gestione del ciclo di vita. Se il team interno non dispone delle competenze e non ha la possibilità di acquisirle, investire su una piattaforma MLOps end to end è la soluzione giusta. 

Red Hat OpenShift AI coniuga le comprovate funzionalità di Red Hat OpenShift e di Red Hat OpenShift Data Science. Si tratta di una piattaforma applicativa coerente e adatta ai contesti enterprise che favorisce la collaborazione tra i data scientist e gli sviluppatori software e permette di integrare l'intelligenza artificiale nelle applicazioni in maniera sicura, uniforme e scalabile.

Red Hat OpenShift AI include funzionalità chiave per adottare le metodologie MLOps in modo coerente in datacenter, cloud computing pubblico ed edge computing. 

Kubeflow è un framework Kubernetes native e open source per lo sviluppo, la gestione e l'esecuzione dei carichi di lavoro di machine learning. Kubeflow eseguito su OpenShift facilita la standardizzazione di MLOps perché aiuta a gestire i progetti e permette di sfruttare tutti i vantaggi del cloud computing. Alcuni degli scenari di utilizzo principali di Kubeflow includono la preparazione dei dati, l'addestramento, la valutazione, l'ottimizzazione e il deployment dei modelli.

Approfondisci

Articolo

Cos'è l'IA generativa?

L'IA generativa crea nuovi contenuti usando i modelli di deep learning il cui training è stato eseguito su set di dati enormi.

Articolo

Cos'è il machine learning?

Il machine learning è una tecnica che permette di addestrare i computer a individuare schemi, a eseguire analisi predittive e a imparare dall'esperienza, senza alcuna programmazione esplicita.

Articolo

Cosa sono i modelli di base?

Un modello di base è una particolare tipologia di modello di machine learning (ML) che viene addestrato per eseguire una specifica gamma di attività. 

Maggiori informazioni su AI/ML

Prodotti

Il portfolio di soluzioni incentrate sull'AI è una gamma di strumenti basati sull'intelligenza artificiale che permettono di addestrare, ottimizzare, impiegare, monitorare e gestire iniziative e modelli di AI/ML su Red Hat OpenShift.

Una piattaforma applicativa di livello enterprise che grazie a servizi verificati consente la distribuzione delle app su un'ampia gamma di infrastrutture. 

Red Hat Ansible Lightspeed with IBM watsonx Code Assistant è un servizio di IA generativa progettato da e per gli sviluppatori, gli operatori e gli autori dell'automazione Ansible. 

Risorse

ebook

Considerazioni essenziali per la creazione di un ambiente di AI e ML production ready

Resoconto analitico

The Total Economic Impact™ Of Red Hat Hybrid Cloud Platform For MLOps

Webinar

Getting the most out of AI with open source and Kubernetes