MLOps – Governare i Servizi di ML

Approfondimenti

MLOps – Governare i Servizi di Machine Learning

Il Machine Learning (ML), al pari di molti ambiti che scaturiscono da concetti e princìpi innovativi, sta attraversando diverse fasi evolutive: da quella iniziale di sperimentazione a quella più matura di inquadramento in un’ottica di servizio (processo end-to-end), secondo un processo continuo di maturazione della qualità delle proprie attività, metodologia e della loro regolamentazione (Machine Learning Maturity Model).

Dal punto di vista metodologico, oggi vanno considerati tre aspetti del Machine Learning:

  • il Machine Learning è un processo governabile,
  • è da considerare un processo “normato
  • è applicabile in ottica industriale.

Nel panorama attuale tutta la comunità del Machine Learning spinge a regolamentare, soprattutto, la messa in produzione e la gestione del servizio di re-training, mirando quindi a “ridefinire” con maggiore consapevolezza i servizi DevOps applicati al Machine Learning.

In Humanativa Group il nostro team di Data Scientists, grazie anche alla esperienza decennale in processi di ML, conosce profondamente le fasi caratteristiche del processo di “delivery”: che vanno dalla produzione del Modello di ML alla sua pubblicazione e, soprattutto, conosce i correlati sotto-processi di re-training: che vanno dal monitoraggio del modello in esercizio, al feedback dei risultati dalla produzione ed al suo re-training, appunto.

Stante ciò, sono evidentemente da evolvere in ottica MLOps i meccanismi, già consolidati dei servizi Ops dell’IT, che governano i prodotti software: dal Test e Collaudo, al Versioning e Gestione della Configurazione, fino al Monitoraggio in esercizio.

Fatto positivo da sottolineare, così come in ogni ambito dell’IT che ha contemplato passi avanti verso la propria industrializzazione, è che anche questo ambito va in tale direzione. Oggi l’evoluzione dell’IT, in ottica di servizi Cloud, favorisce l’introduzione dei processi di MLOps in quanto i maggiori fornitori di servizi in Cloud (Amazon AWS, GCP di Google e Microsoft Azure) sono predisposti a normare i “processi” Cloud verso gli ambienti di produzione, e questo vale anche per i servizi di Machine Learning.

Definizione di MLOps

Per meglio spiegare diamo di seguito qualche definizione.

  • MLOps: è il processo di automazione del deployment delle applicazioni di Machine Learning e di Monitoraggio delle prestazioni dei suoi modelli in ambiente di produzione.
  • MLOps, oltre all’integrazione continua (CI – Continuous Integration) e al rilascio continuo (CD – Continuous Delivery) necessari per il DevOps, porta il processo di DevOps un passo più avanti includendo il Continuous Monitoring (CM) e il Continuous Training (CT).

MLOps Paradigma

La figura mostra come il ML ed i suoi “artefatti” va ad integrarsi al Data Enginering, e soprattutto al Software Engineering in ottica Ops.

Perché è importante MLOps?

MLOps è certamente la fase più delicata nell’ottica di governo dei Servizi di ML.

A partire dalla esperienza di Humanativa nel campo ML e seguendo l’evoluzione della Data Science in termini di maturità di processo (Maturity Model del ML), possiamo affermare che per Humanativa MLOps significa che:

  • un Modello di ML è un oggetto «dinamico».
    Occorre che anche il Cliente abbia la consapevolezza che un Modello di ML non è un oggetto statico, come può essere un eseguibile di un programma software, ma è un oggetto «dinamico» nel tempo, soggetto quindi a revisioni e adattamenti continui (CM Continuous Monitoring e CT Continuous Training). Se così non fosse, il Modello di ML non potrebbe ri-adattarsi ai mutamenti del dato nel tempo.
  • la robustezza e accuratezza del Modello vanno monitorate nel tempo attraverso la qualità dei risultati in esercizio, che possono andare «sotto soglia» a causa di eventi e di cambiamenti del dato nel tempo.

Per assicurare la robustezza del modello nel tempo occorre che tutto il processo di «delivery» del Modello sia quanto più possibile regolamentato, strutturato e automatizzato, financo agli strumenti di Data Visualization che sono fondamentali per esplorare i risultati e percepire il cambiamento nel tempo.

humanativa ML process workflow

La figura mostra il workflow di Machine Learning di Humanativa estratto dal nostro approccio metodologico HN ML Method

 

In altri termini occorre porre attenzione a rendere efficiente tutto il percorso ed in un ciclo continuo: dalla costruzione del Modello ed i suoi «artefatti», alle attività di Re-Training e Model Performance Validation, Deploy, Configuration Management, Model Registry, Versioning delle pipeline e dei Modelli stessi, nonché alle attività di Inferenza del Modello (le interrogazioni al Modello di ML), di Model Monitoring e di Feedback dei risultati.

Infine, sempre in ciclo continuo, ossia quando il feedback mostra che il modello perde la sua accuratezza nei risultati o mostra cambiamenti nel dominio dei dati nel tempo, occorre:

  • efficientare le attività di Re-Training via pipeline automatiche
  • e, se non basta a migliorare i risultati, riesaminare le attività di learning (Model Review) con refresh dei dati di learning, con nuove informazioni aggiuntive (dataset enrichment) e quindi nuove analisi e versioni aggiornate del Modello da riportare in esercizio.

In conclusione, a partire dalla consapevolezza di doversi dotare di un processo end-to-end di ML regolamentato, la ulteriore sfida verso il Miglioramento Continuo del Machine Learning Maturity Model consiste dei seguenti due punti:

  • Auto-MLOps: su quali punti del processo di MLOps agire per automatizzare le attività e rendere il delivery sempre più veloce in funzione del cambiamento dei dati nel tempo. Ridurre in sostanza la latenza degli aggiornamenti del ML pur garantendo il servizio di ML su adeguati livelli di risposta riducendo al tempo stesso l’intervento umano (il cosiddetto “human-in-the-loop”) dove possibile.
  • Governo dei Costi del Machine Learning: Quanto costa il processo di ML? Come monitorare il processo di ML? Come valutare il Ritorno di Investimento (ROI)? È forse il punto più importante di questa moderna visione di servizio del ML, soprattutto se consideriamo i servizi in Cloud dove il governo dei costi è complesso.