Cosa sono le metodologie 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).

Ispirate ai principi DevOpsGitOps, le MLOps puntano 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.

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.

Come funziona l'IA in ambito aziendale?

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 e deployment continui (CI/CD): i framework MLOps si integrano con le pipeline CI/CD, consentendo test, convalida e deployment automatizzati. 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.

Risparmio sui 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, aumentando il time to value e snellendo il processo di deployment.

Cos'è Models-as-a-Service?

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.

Cos'è la sicurezza dell'IA?

Dal blog: Splunk e Red Hat collaborano per automatizzare la risposta agli avvisi di osservabilità e migliorare gli AIOps

Risorse da Red Hat

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.

Rendere operativa l'IA con Red Hat AI

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. Tuttavia, la creazione e l'esecuzione delle applicazioni prevede un ciclo di vita di 5 fasi principali. 

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

Fase 1: raccolta/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). Tecnologie come vLLM possono essere utilizzate per ottimizzare l'utilizzo della GPU durante l'inferenza nella fase di deployment.

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. 

Scopri di più sull'IA di Red Hat

Dal blog: Zero Trust MLOps con OpenShift Platform Plus

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. 

Scopri come scegliere una piattaforma per l'IA e MLOps

Red Hat® AI offre un portafoglio di prodotti di IA sviluppati a partire dalle soluzioni che i nostri clienti già conoscono. Questa base è garanzia di affidabilità, flessibilità e scalabilità per i nostri prodotti.

Grazie alle soluzioni per l'IA di Red Hat, le organizzazioni traggono svariati vantaggi, tra cui:

  • Adottare l'IA rapidamente per promuovere l'innovazione.
  • Semplificare l'erogazione di soluzioni di intelligenza artificiale.
  • Eseguire il deployment in tutti gli ambienti.

Scopri le soluzioni Red Hat AI 

Un'unica piattaforma MLOps integrata

Red Hat AI include Red Hat® OpenShift® AI, una piattaforma di IA per la gestione dei cicli di vita di AI/ML negli ambienti di cloud ibrido e all'edge.

Questa piattaforma offre supporto per:

  • Flussi di lavoro collaborativi.
  • Monitoraggio.
  • Applicazioni di cloud ibrido.

Per coloro che sono pronti a eseguire modelli di IA predittiva e generativa in modo scalabile, Red Hat OpenShift AI può aiutare i team a organizzare e ottimizzare i carichi di lavoro critici senza intoppi.

Scopri di più su Red Hat OpenShift AI  

Flessibilità nei partner 

Il nostro ecosistema di partner per l'IA è in crescita. Molti partner tecnologici collaborano con Red Hat per certificare la compatibilità dei propri prodotti con Red Hat AI, dando così maggiore possibilità di scelta ai clienti.

Scopri di più sui nostri partner 

Blog post

A che punto è la tua strategia di sovranità digitale? Introduzione al Red Hat Sovereignty Readiness Assessment Tool

Il Red Hat Sovereignty Readiness Assessment Tool è uno strumento per l’autovalutazione accessibile dal web, che fornisce una base di riferimento chiara e obiettiva del controllo digitale della tua organizzazione in sette ambiti fondamentali.

Tutte le versioni di prova dei prodotti Red Hat

Grazie alle versioni di prova gratuite dei prodotti Red Hat potrai acquisire esperienza pratica, prepararti per le certificazioni o capire se il prodotto che hai scelto è giusto per le esigenze della tua organizzazione.

Continua a leggere

SLM e LLM a confronto: cosa sono i modelli linguistici di piccole dimensioni?

Un modello linguistico di piccole dimensioni (SLM) è una versione ridotta di un modello linguistico di grandi dimensioni (LLM) che dispone di conoscenze più specializzate, è più veloce da personalizzare e più efficiente da eseguire.

Cosa sono gli agenti di IA (o agentic AI)?

L'Agentic AI è un software progettato per interagire con dati e strumenti in modo tale da richiedere il minimo intervento da parte dell'utente.

LoRA e QLoRA a confronto

LoRA (Low-Rank Adaptation) e QLoRA (Quantized Low-Rank Adaptation) sono due tecniche di addestramento dei modelli di IA.

AI/ML: risorse consigliate

Articoli correlati