MLOps: best practice per sviluppare sistemi AI affidabili ed efficienti

Come si può garantire l’affidabilità di un sistema di AI? Esiste un insieme di pratiche che possono indirizzarne lo sviluppo e la manutenzione, un insieme di pratiche strettamente legato ai princìpi di sviluppo del DevOps ma specifico del mondo dell’AI [...]
Cosimo Fiorini

Head of Data Science Ammagamma

Immagine che contiene cielo, esterni, giorno Descrizione generata automaticamente
  1. Home
  2. Intelligenza Artificiale
  3. MLOps: best practice per sviluppare sistemi AI affidabili ed efficienti

Un sistema di AI nasce per portare valore a chi lo utilizza: automatizzando un task, fornendo una previsione o ottimizzando un processo complesso. Ma se non possiamo essere sicuri che il livello di affidabilità del sistema sia buono, allora il suo valore è perso completamente e utilizzarlo comporterebbe solo un rischio. Come si può allora garantire l’affidabilità di un sistema di AI? Esiste un insieme di pratiche che possono indirizzarne lo sviluppo e la manutenzione in maniera affidabile ed efficiente, e che hanno il nome di MLOps.

Il machine learning e i parametri di apprendimento

Prima di addentrarci nel tema, partiamo da alcune nozioni fondamentali che possono aiutarci a comprendere l’importanza di questi aspetti: come è noto, il machine learning è quella branca dell’intelligenza artificiale che consiste nello sviluppare modelli in grado di apprendere autonomamente. Su questo apprendimento automatico esistono degli elementi fondamentali da considerare. Il primo: l’obiettivo dell’analisi, ovvero il task che il modello deve apprendere, come ad esempio, prevedere il numero di vendite di un prodotto per il prossimo mese. Il secondo elemento fondamentale è la metrica di valutazione, quel valore che fa sì che il modello capisca se una previsione effettuata è migliore o peggiore di un’altra. Il terzo elemento è l’esperienza, che gli viene fornita per apprendere quel task; questa esperienza è rappresentata dai dati, dati storici che rappresentano il fenomeno e altri fenomeni ad esso correlati nel tempo. Inoltre, questi stessi dati permettono al modello di comprendere il rapporto tra le variabili in esame, per migliorare l’esecuzione del task indicato rispetto alla metrica definita.

Spesso l’accento di chi sviluppa i modelli cade molto sulla robustezza statistica dell’algoritmo e sulla sua capacità di fare previsioni accurate. Tuttavia, per quanto questi elementi siano necessari, non sono sufficienti per poter fare affidamento sul modello sviluppato. Ci sono infatti anche altri aspetti cruciali che richiedono particolare attenzione.

MLOps

MLOps, che cos’è

Per rispondere ai requisiti di affidabilità dei sistemi di AI, negli ultimi anni, è stato sviluppato il cosiddetto MLOps – Machine Learning Develop Operate – un insieme di pratiche strettamente legato ai princìpi di sviluppo del DevOps ma specifico del mondo dell’AI, che ha lo scopo di guidare lo sviluppo dei modelli in modo affidabile ed efficiente. “Develop” sta a indicare: mappare un corretto sviluppo, assicurare la riproducibilità e abilitare un processo di auditing dei dati utilizzati e della tipologia di utilizzo degli stessi; “Operate” invece indica: assicurare una delivery di risultati affidabili e monitorati senza sosta, mediante un processo continuo di feedback sull’operatività del modello. MLOps aiuta inoltre a monitorare se i dati stessi evolvono nel tempo, portando a un necessario aggiornamento del modello. Grazie a queste pratiche, oggi, è molto più semplice riuscire a sviluppare e mantenere sistemi di AI efficienti nel tempo, che siano anche robusti, secondo i requisiti di affidabilità.

I requisiti di affidabilità

INFOGRAFICA
Rendere più efficienti i tempi di attesa in sanità: ecco come fare, grazie al digitale
Intelligenza Artificiale
Sanità

Come prima cosa, un modello ben allenato deve essere in grado di fornire risultati replicabili. Se per ipotesi la macchina in cloud sulla quale risiede l’algoritmo si rompesse, dovrebbe esserci la possibilità di ricostruire esattamente lo stesso modello, in un secondo momento. Ma poniamoci ora nell’eventualità di aver perso il modello. Se i dati di training (allenamento) del modello sono pescati dai sistemi aziendali, è necessario assicurarsi di poter fare una “fotografia” del dataset al momento dell’addestramento, altrimenti questi dati potrebbero cambiare e con loro anche il modello. Inoltre, anche il codice utilizzato, per trasformare il dato e per lanciare la fase di training, deve essere “fotografato” per poter essere riutilizzato esattamente com’era. E infine, è indispensabile che anche il file contenente il modello e le metriche annesse (per la valutazione del modello stesso) sia salvato preventivamente in un posto sicuro.

Tutto ciò apre le porte al vero obiettivo per cui il modello è stato costruito: assumere decisioni efficaci e alla luce di questo, esistono ulteriori elementi sui quali focalizzare l’attenzione.

Monitorare il modello e i suoi dati

Come qualsiasi sistema in produzione, è necessario che il comportamento del modello sia in linea con quanto atteso (obiettivo). Sarà opportuno quindi monitorare le sue performance nel tempo, per identificare potenziali rallentamenti della capacità predittiva, che potrebbero portare a rivedere il modello stesso. Sebbene l’efficacia del sistema risieda proprio nella sua capacità di vedere nei nuovi dati situazioni simili a quelle individuate in precedenza – ovvero nei dati di partenza (l’esperienza da cui ha appreso) – è fondamentale monitorare anche eventuali scostamenti nelle distribuzioni dei dati, i cosiddetti data drift, che possono essere legati ad esempio a cambiamenti nel comportamento di consumo dei clienti, al fine di avere una base dati attendibile nel tempo.

Conclusioni

È dunque fondamentale costruire modelli di AI efficienti e soprattutto affidabili, nel tempo, per riuscire a generare un valore reale e continuativo, attraverso tali sistemi. L’affidabilità, in sé, non può essere quindi considerata un elemento accessorio allo sviluppo, bensì intrinseco ad esso. E proprio per riuscire a costruire modelli robusti ed efficienti, in maniera agile, sono nate delle pratiche molto efficaci, come quelle del MLOps, che supportano gli sviluppatori in tutte le fasi di lavoro sul modello, per aiutarli a rispondere ai requisiti fondamentali di affidabilità nel mondo dell’AI.

 

FacebookTwitterLinkedIn