Guida

MLOps, l’evoluzione DevOps per modelli ML: vantaggi, best practices e prospettive

L’automatizzazione, che poteva sembrare un miraggio per tutte quelle aziende impegnate in progetti di machine learning con risultati finora poco convincenti, ora ha una strada per essere raggiunta e si chiama MLOps. Questo nuovo approccio ispirato al DevOps, è unico nel suo genere ed è stato plasmato sulla natura sperimentale, volitiva e interdisciplinare del machine learning per permettere alle aziende di beneficiare appieno dell’apprendimento automatico implementando modelli in modo veloce, agile ed efficace. È una novità che può rappresentare una leva competitiva sia per chi lo adotta sia per chi decide di lanciarsi in questo mercato dal valore stimato di 4 miliardi di dollari, nel 2025.

Pubblicato il 01 Feb 2022

MLops

Ipotizzare un fenomeno simile al green washing per le aziende che affermano di adottare modelli di machine learning sarebbe esagerato e troppo “malizioso”, va però preso atto che tra tutte quelle che hanno intrapreso il percorso poche sono riuscite finora a utilizzarli con disinvoltura e ancora meno hanno ottenuto vantaggi dal punto di vista del business e del miglioramento del processo decisionale. In questo contesto, che ai più tecnologicamente diffidenti può far pensare all’apprendimento automatico come a un fuoco di paglia, spunta un nuovo acronimo che contiene la soluzione: MLOps.

Quella con DevOps non è solo un’assonanza, questo approccio attinge realmente alle sue logiche e sta prendendo piede tra le aziende intenzionate a valorizzare gli investimenti fatti finora con fiducia in progetti di machine learning spesso arenatisi nella complessità delle tante fasi previste, nell’assenza di competenze, nella scarsa scalabilità dei modelli stessi ottenuti o, soprattutto, nella mancanza di automazione dei processi. MLOps rappresenta una svolta da questo punto di vista, apre anche nuove prospettive lavorative e impatta sull’operatività dei team confermando ancora una volta come la contaminazione e l’interdisciplinarietà siano spesso la chiave per sbloccare il potenziale inespresso di tecnologie promettenti ma di non banale applicazione.

MLOps: definizione e componenti chiave

In MLOps si riuniscono una serie di pratiche che mirano a distribuire e mantenere modelli di apprendimento automatico in produzione in modo affidabile ed efficiente, proprio quello che oggi a molte aziende che li sperimentano riesce molto difficile. La strategia perseguita è quella di automatizzare il ciclo di vita degli algoritmi, partendo dall’addestramento iniziale del modello fino all’implementazione al ri-addestramento con nuovi dati.

Se il termine nasce dalla fusione di machine learning e DevOps, come “ingrediente” andrebbe aggiunto anche il Data Engineering, per completezza, perché sono gli esperti in questi tre rami quelli chiamati a collaborare con l’obiettivo di “operazionalizzare” la data science e le soluzioni di machine learning affinché risultino efficaci, veloci e robuste. Lavorano sul codice e sulle best practices, essenziali quanto l’approccio data driven e la cultura della collaborazione, per creare un meccanismo di feedback iterativo tra tutte le diverse figure coinvolte senza il quale MLOps non ha senso di esistere.

Questo approccio innovativo e promettente si basa su alcuni componenti chiave che è importante conoscere prima di esplorarne il funzionamento.

Pipeline di addestramento del modello

Elemento chiave del processo di training continuo che esegue un frequente addestramento e ri-addestramento dei modelli su avvio manuale, programmato, quando ci sono nuovi dati disponibili o se le prestazioni peggiorano pesantemente

Registro dei modelli

Hub centralizzato che cattura tutti i metadati per i modelli pubblicati permettendo al team interdisciplinare di condividerli e collaborare, migliorandone la gestione. Rappresenta un livello di comunicazione tra gli ambienti di ricerca e di produzione, fornendo un modello distribuito con le informazioni di cui ha bisogno in runtime.

Distribuzione del modello

Mentre avviene gli specialisti ML possono avviare i test in produzione e può essere effettuata su un dispositivo IoT edge, incorporato in un’applicazione consumer o all’interno di un servizio web dedicato disponibile tramite API REST o chiamata di procedura remota (RPC). Questa ultima opzione può essere identificata con l’approccio Model-as-a-Service.

Monitoraggio dei modelli

Analisi delle metriche e identificazione di allarmi o anomalie del sistema per rilevare con tempestività quando la precisione diventa inaccettabile e l’algoritmo deve essere riqualificato.

Orchestrazione CI/CD

Unione e automatizzazione dell’intero processo attraverso strumenti CI/CD che possono visualizzare flussi di lavoro complessi e gestire il ciclo di vita dell’applicazione.

MLOps e ciclo di vita del machine learning

Le organizzazioni che hanno implementato il machine learning con soddisfazione, lato business e lato decision making, hanno dovuto investire in una progettazione fortemente accurata del ciclo di vita del machine learning. Senza limitarsi all’idea di applicare una tecnologia innovativa ai propri processi già in atto. Chi non ha imboccato ancora questa strada, può farlo con MLOps in modo più agile ed efficace. E anche meno “faticoso”. Un aspetto importante dato che nel lifecycle del machine learning vanno incluse tutte le fasi ad esso inerenti, anche se non immediatamente ad esso riconducibili. Ecco l’elenco completo.

Architettura Cloud

È un passaggio inevitabile quando si lavora coi dati, nell’era della migrazione in cui siamo immersi. Anche se per molto tempo prevarrà probabilmente un approccio ibrido, nel MLOps serve includere il cloud e le competenze di cloud engineering per costruire progetti di ML ottimizzati ed efficienti, prestando una particolare attenzione al tema della sicurezza

Ingestione e pulizia dei dati

Fase dedicata al controllo della qualità, della sicurezza e dell’integrità dei dati, compiendo operazioni spesso ovvie – trattamento dei valori mancanti, gestione dei duplicati, selezione delle colonne, filtraggio, pulizia del testo, aggregazione ecc – ma che nel loro insieme possono avere un enorme impatto sul tempo di esecuzione del modello

Esplorazione dei dati e sviluppo del modello

Lo scopo di questo passaggio è quello sia di migliorare la comprensione dei trend “nascosti” nei dati che di individuare le distorsioni, se ben eseguito porta alla creazione di modelli più accurati e focalizzati sulle caratteristiche dei dati più rilevanti.

Esposizione degli insights agli stakeholder

Fase fondamentale del MLOps ma spesso dimenticata da chi lavora con i codici e i dati. Eppure è proprio la carenza di comunicazione sulle aspettative legate ai progetti AI verso il business che li fa naufragare. È necessario combinare l’esperienza dei data scientist con la comprensione del business degli stakeholder per sviluppare strategie e soluzioni AI innovative basate su modelli sempre spiegabili. Questo aiuta a ottenere la fiducia dei decision makers.

Visualizzazione

Fase in cui, ottenuti insights e previsioni dal modello di machine learning, li si deve riuscire a trasformare in un formato adatto agli utenti finali. Anche con MLOps si mettono da parte i fogli di calcolo guardando a dashboard interattive e il più possibile personalizzabili. Ciò perché dei risultati del modello ML devono beneficiare le figure più disparate, dal marketing alle vendite, dall’HR al finance.

Deployment

Fase finale ma che lascia dei “to do” in sospeso nel caso dei modelli di machine learning per via della loro volubilità. Anche quando sono pronti per essere resi disponibili agli utenti finali restano da sostenere attività come l’implementazione e la convalida del modello, la creazione di artefatti e il monitoraggio per garantire un funzionamento regolare del ciclo di vita del ML e arrivare a creare ambienti di auto-sistemazione in cui i modelli possono ri-addestrarsi quando necessario senza intervento umano.

MLOps vs DevOps: differenze

Chiunque ha avuto a che fare con l’implementazione di modelli di machine learning o ne conosce la natura, sa bene che per automatizzarli e far sì che diventino semplici da sviluppare e utilizzare per le aziende non basta riesumare l’approccio DevOps. La logica e molti dei suoi principi possono essere mantenuti validi ma è necessario passare a MLOps, un approccio con delle specificità che lo rendono l’unico adatto a raggiungere l’obiettivo.

DevOps è una metodologia basata sui principi di Continuous Integration e Continuous Delivery che rende più efficiente e veloce lo sviluppo di software effettuando cicli frequenti di testing, integrazione e rilascio, tutte pratiche necessarie ma non sufficienti per lo sviluppo di un software basato su algoritmi di machine learning. Nel MLOps, infatti, al contrario rispetto al DevOps, si tiene conto del fatto che i sistemi di ML sono di natura sperimentale. E hanno più componenti che sono significativamente molto complesse da costruire e gestire.

DataOps e AIOps alternative (im)possibili al MLOps?

C’è chi ha provato ad utilizzare DataOps per approcciare i modelli di machine learning. Nato quasi in contemporanea con MLOps, questo approccio ha la sua sfera di applicazione principale nell’analisi dei dati. Ne copre tutte le fasi del ciclo di vita migliorando la qualità dei risultati e velocizzandola. Può senza dubbio facilitare i progetti di ML. Ma non arriva a fornire soluzioni per gestire il ciclo di vita di un modello, supporto che le aziende cercano e trovano applicando MLOps. Tentativo ancora più di vano quello che coinvolge AIOps, Esso, spesso usato in modo intercambiabile con MLOps, per definizione combina big data e machine learning per automatizzare i processi operativi IT e individuare automaticamente i problemi quotidiani, reagendo proattivamente con l’AI.

Le 5 unicità

Dopo aver verificato che la creazione di MLOps era necessaria e non si tratta di una sovrapposizione di termini o di intenti, possiamo approfondire quelle 5 specificità che esso prevede, strettamente legate alla natura del machine learning.

  1. Oltre al versioning del codice, MLOps fornisce anche un posto per salvare i dati e le versioni dei modelli di ML perché possano essere riutilizzati o riqualificati. Questo perché l’apprendimento automatico è fortemente basato sulla sperimentazione. E utilizza vari set di dati ottenendo diversi output.
  2. Il monitoraggio in MLOps avviene in modo continuo. A differenza del codice con cui si trova a trattare DevOps, i modelli di machine learning si degradano nel tempo. Ed è necessario controllare quando le prestazioni calano.
  3. Se in DevOps sono previsti test continui, nel caso di MLOps devono essere effettuati dei veri e propri processi di allenamento e convalida dei modelli. E questo al fine di mantenere o ristabilire sempre un livello di prestazioni soddisfacente.
  4. La Continuous Integration non può più riguardare solamente i componenti software, ma deve prevedere test di convalida di dati, schemi di dati e modelli. La Continuous Delivery non può più riguardare un solo pacchetto software o servizio, ma l’intera pipeline di addestramento del modello. A questi due processi in continuo ne va poi aggiunto un terzo. Esso si rivela essere quello chiave per MLOps, il Continuous Training, per automatizzare il riaddestramento del modello, la sua riqualificazione e la sua distribuzione
  5. Anche il team, e le competenze, necessarie per MLOps non possono essere gli stessi di DevOps. Per costruire e distribuire i modelli in produzione oltre ad ingegneri del software sono necessari data scientist o esperti di ML.

MLOps: principali vantaggi

L’adozione di MLOps, date le sue numerose e raffinate unicità, richiede ad un’azienda un importante impegno, anche se ha già compiuto il passo DevOps. Dal punto di vista organizzativo, operativo, culturale e di competenze, se non anche attraverso eventuali investimenti. Si tratta di una scommessa su quella che ad oggi appare ancora come una novità sul mercato. Chi prima mostra di crederci godrà di un vantaggio competitivo nel medio lungo termine mentre nel breve già di altri benefici tangibili.

  • Aumento della qualità dei modelli di machine learning.
  • Semplificazione del loro processo di gestione.
  • Automatizzazione della distribuzione di modelli di Machine Learning e Deep Learning in ambienti di produzione su larga scala.
  • Semplificazione dell’allineamento dei modelli alle esigenze del business e ai requisiti normativi.
  • Abbattimento dei tempi di go-to-market.
  • Riduzione dei costi operativi.
  • Più tempo per lo sviluppo di nuovi modelli.
  • Aggiornamenti tempestivi per ottimizzare UX.
  • Maggiore qualità delle previsioni e assenza di falsi insights.
  • Decision making più fluido, agile e strategico.

Le best practices di MLOps e i suggerimenti per aree

Per riuscire ad ottenere questi vantaggi in tempi ragionevoli, mostrando così agli stakeholders anche più diffidenti che MLOps è stata la scelta giusta, si può tener conto di una serie di best practices. Esse spaziano su tutti gli aspetti di questo frastagliato approccio. Nel leggerle e implementarle, senza scoraggiarsi, va tenuto conto della farcita e interdisciplinare squadra su cui si può contare in questo contesto. Più ancora che in quello DevOps.

Ecco alcuni suggerimenti, divisi per aree.

Team

Utilizzare una piattaforma di sviluppo collaborativo che permetta di lavorare su un backlog condiviso e di comunicare e allineare tutti i membri in modo continuo.

Dati

Effettuare controlli di integrità per tutte le fonti di dati esterne. Tracciare, identificare e dichiarare ogni cambiamento nelle fonti di dati rendendoli disponibili su un’infrastruttura condivisa.

Obiettivi

Iniziare tracciando più metriche per poi scegliere quella più semplice, osservabile e, parallelamente, impostare gli obiettivi di governance con forte attenzione alla privacy

Modello

Partire con un modello semplice per arrivare alla definizione l’infrastruttura giusta, che sia facilmente interpretabile per agevolare il debugging.

Training

Identificare una metrica facile da misurare e da comprendere per valutare il successo di una sessione di apprendimento, ottimizzare i tempi effettuando esperimenti di addestramento in parallelo e misurando continuamente la qualità e le prestazioni del modello.

Codice

Effettuare test di regressione automatizzati e sfruttare l’integrazione continua

Deployment

Automatizzare questa fase monitorando continuamente il comportamento dei modelli distribuiti. E questo in modo che, quando le prestazioni si stabilizzano, si possano cercare fonti di informazioni qualitativamente nuove da aggiungere oppure raffinare i segnali esistenti.

Come e quando implementarlo

Di fronte a questa folta lista di istruzioni alcune aziende non troppo ferrate ma comunque propense a puntare sui modelli di machine learning potrebbero sentirsi in qualche modo inadeguate a MLOps. Ma questo approccio ha il vantaggio di non richiedere per forza un’adozione immediata e a tutto campo. Esistono almeno tre livelli di MLOps tra cui scegliere valutando competenze e risorse, le proprie dimensioni ma anche il numero di algoritmi di apprendimento automatico che devono essere eseguiti.

Livello 0

Il livello 0 di MLOps è per aziende non tecnologiche come banche o assicurazioni che aggiornano i loro modelli una volta all’anno. O quando si verifica un episodio imprevisto che impatta fortemente su dati e contesto come ad esempio una crisi finanziaria. In questo caso i data scientist consegnano modelli addestrati agli ingegneri. E generalmente sono modelli che non cambiano frequentemente quindi non si rende necessaria alcuna integrazione continua (CI) e nemmeno il continuous deployment (CD). Anche il monitoraggio attivo delle prestazioni è un passaggio trascurabile.

Livello 1

Con il livello 1 di MLOps si introduce una pipeline per training continuo. Ciò significa che dati e modelli vengono convalidati automaticamente. E ogni volta che le prestazioni degradano si attiva la riqualificazione. Questa strada è adatta a chi opera in un ambiente in costante cambiamento. Inoltre, ha bisogno di affrontare in modo proattivo le variazioni di comportamento dei clienti, i tassi di prezzo e altri indicatori.

Livello 2

Con un eventuale ulteriore passaggio al livello 2 di MLOps si automatizza anche la distribuzione di modelli ML e delle componenti di pipeline di training ML in produzione. Questo è un aspetto che si rivela fondamentale solo per quelle aziende tecnologiche che devono riallenare i loro modelli ogni giorno. Se non ogni ora, devono aggiornarli in pochi minuti. E distribuirli su migliaia di server contemporaneamente.

Quale futuro

È nato come un modo per riunire best practices che aiutassero le aziende a sviluppare e implementare modelli di machine learning efficaci, veloci e sicuri. MLOps è diventato un approccio indipendente e sempre più apprezzato per la gestione dell’intero ciclo di vita di ML. Questo lo si nota anche solo osservando i suoi tre livelli di adozione. Oltre all’aumento di investimenti in sistemi di intelligenza artificiale registrato anche durante la pandemia – +34% nel 2021 rispetto al 2020 – per chi punta su MLOps ciò che salta all’occhio nel recente rapporto di Appen è la percentuale di aziende che nel corso del 2021 ha previsto di aggiornare i modelli di machine learning almeno ogni trimestre: l’87%, contro un 80% già interessante del 2020. I segnali positivi proseguono con il 57% di organizzazioni che li vorrebbe aggiornare più spesso, almeno una volta al mese (nel 2020 erano il 45%).

Pur trattandosi di dichiarazione di intenti, è chiara la presenza di interesse e, prima ancora, di consapevolezza del valore di MLOps. Questo èconfermato anche nelle stime di Cognilytica che dai 350 milioni di dollari del 2019 prevede un balzo del mercato globale MLOps a 4 miliardi di dollari entro il 2025.

Secondo questa società di analisi focalizzata su AI e ML arriveranno anche nuovi ingressi sia di aziende emergenti che di affermati operatori storici. Attori che popoleranno il mercato con soluzioni sviluppo-centriche, mercato-centriche o a ciclo completo sia per lo sviluppo che per la gestione dei modelli. Si offriranno così opzioni valide per tutta l’ampia e diversificata gamma di aziende interessate all’innovazione insita in MLOps.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati