MLops e l’ascesa delle operazioni di machine learning
Per quanto sia difficile per i data scientist etichettare i dati e sviluppare modelli di machine learning accurati, la gestione dei modelli in produzione può essere ancora più scoraggiante. Riqualificare i modelli con l’aggiornamento dei set di dati, migliorare le prestazioni e mantenere le piattaforme tecnologiche sottostanti sono tutte pratiche importanti per la data science. Senza queste discipline, i modelli possono produrre risultati errati che hanno un impatto significativo (e in negativo) sul business.
Sviluppare modelli pronti per la produzione non è un’impresa facile. Secondo uno studio sul machine learning, il 55% delle aziende non aveva implementato modelli in produzione e il 40% o più richiedeva più di 30 giorni per implementare un modello. Il successo comporta nuove sfide e il 41% degli intervistati riconosce la difficoltà del controllo delle versioni dei modelli di machine learning e della riproducibilità.
La gestione e le operazioni dei modelli hanno rappresentato vere e proprie sfide per i team di data science più avanzati. Ora le attività includono il monitoraggio dei modelli di machine learning di produzione, l’automazione della riqualificazione dei modelli e il riconoscimento di quando i modelli richiedono aggiornamenti. Poiché sempre più organizzazioni investono nel machine learning, aumenta la necessità di creare consapevolezza sulla gestione e sulle operazioni dei modelli.
La buona notizia è che piattaforme e librerie open source come MLFlow e DVC e strumenti commerciali di Alteryx, Databricks, Dataiku, SAS, DataRobot, ModelOp e altri stanno semplificando la gestione dei modelli e le operazioni per i team di data science. Anche i provider di cloud pubblico condividono pratiche come l’implementazione di MLops con Azure Machine Learning. MLops è un termine che indica la gestione dei modelli di machine learning e comprende la cultura, le pratiche e le tecnologie necessarie per sviluppare e mantenere modelli di apprendimento automatico.
Comprensione della gestione e delle operazioni del modello
In qualità di sviluppatore di software, sapete che completare la versione di un’applicazione e distribuirla alla produzione non è affatto un processo banale. Ma una sfida ancora più grande inizia una volta che l’applicazione raggiunge la produzione. Gli utenti finali si aspettano miglioramenti regolari e l’infrastruttura, le piattaforme e le librerie sottostanti richiedono patch e manutenzione.
Passiamo ora al mondo scientifico, dove le domande portano a molteplici ipotesi e a sperimentazioni ripetitive. Durante la lezione di scienze avete imparato a tenere un registro di questi esperimenti e a tenere traccia del percorso di modifica di variabili diverse da un esperimento all’altro. La sperimentazione porta a risultati migliori e la documentazione del processo aiuta a convincere i colleghi che avete esplorato tutte le variabili e che i risultati sono riproducibili.
I data scientist che sperimentano modelli di machine learning devono incorporare discipline prese sia dallo sviluppo del software, sia dalla ricerca scientifica. I modelli di machine learning sono codice software sviluppato in linguaggi come Python e R, costruiti con TensorFlow, PyTorch o altre librerie di machine learning, eseguiti su piattaforme come Apache Spark e distribuiti nell’infrastruttura cloud. Lo sviluppo e il supporto di modelli di machine learning richiedono una sperimentazione e un’ottimizzazione significative e i data scientist devono dimostrare l’accuratezza dei loro modelli.
Come lo sviluppo del software, anche i modelli di machine learning richiedono una manutenzione e miglioramenti continui. Alcuni di questi derivano dalla manutenzione del codice, delle librerie, delle piattaforme e dell’infrastruttura, ma i data scientist devono anche preoccuparsi dal cosiddetto model drift. Questa “deriva” del modello si verifica quando nuovi dati diventano disponibili e le previsioni, i cluster, le segmentazioni e le raccomandazioni fornite dai modelli di apprendimento automatico si discostano dai risultati attesi.
Una gestione dei modelli di successo inizia con lo sviluppo di modelli ottimali
Secondo Alan Jacobson, chief data and analytics officer di Alteryx, “per semplificare lo sviluppo del modello, la prima sfida per la maggior parte dei data scientist è garantire una formulazione solida dei problemi. Molti problemi aziendali complessi possono essere risolti con analisi molto semplici, ma per prima cosa è necessario strutturare il problema in modo che i dati e l’analisi possano aiutare a rispondere alla domanda. Anche quando vengono utilizzati modelli complessi, la parte più difficile del processo è in genere la strutturazione dei dati e la garanzia che vengano utilizzati gli input giusti ai giusti livelli di qualità”.
Sono d’accordo con Jacobson. Troppi dati e implementazioni tecnologiche iniziano con convinzioni poco solide e con tempi, strumenti e competenze in materia inadeguati per garantire un’adeguata qualità dei dati. Le organizzazioni devono prima iniziare ponendo domande intelligenti sui big data, investendo in dataops e quindi utilizzando metodologie agili nella scienza dei dati.
Monitoraggio dei modelli di machine learning per il model drift
Ottenere una definizione precisa del problema è fondamentale per la gestione e il monitoraggio continui dei modelli in produzione. Jacobson ha continuato spiegando: “Il monitoraggio dei modelli è un processo importante, ma farlo bene richiede una forte comprensione degli obiettivi e dei potenziali effetti negativi che meritano di essere osservati. Mentre spesso si discute del monitoraggio delle prestazioni del modello e del cambiamento nel tempo, ciò che è più importante è l’analisi delle conseguenze non intenzionali.”
Un modo semplice per comprendere il model drift e le sue conseguenze indesiderate è considerare l’impatto del COVID-19 sui modelli di machine learning sviluppati con i dati di addestramento prima della pandemia. I modelli di apprendimento automatico basati su comportamenti umani, elaborazione del linguaggio naturale o modelli di domanda dei consumatori sono stati tutti influenzati dal cambiamento dei comportamenti durante la pandemia che stanno ora interferendo con i modelli di intelligenza artificiale.
I fornitori di tecnologia stanno rilasciando nuove funzionalità MLops poiché sempre più organizzazioni stanno potenziando i propri programmi di data science. Ad esempio, SAS ha introdotto un indice di contributo delle funzionalità che aiuta i data scientist a valutare i modelli senza una variabile di destinazione. Cloudera ha recentemente annunciato un servizio di monitoraggio ML che acquisisce le metriche delle prestazioni tecniche e tiene traccia delle previsioni del modello.
MLops si occupa anche di automazione e collaborazione
Tra lo sviluppo di un modello di machine learning e il suo monitoraggio in produzione ci sono strumenti, processi, collaborazioni e funzionalità aggiuntivi che consentono la scalabilità delle pratiche di data science. Alcune delle pratiche di automazione e infrastruttura sono analoghe a devops e includono l’infrastruttura come codice e CI/CD (integrazione continua/distribuzione continua) per i modelli di apprendimento automatico. Altri includono funzionalità per sviluppatori come il controllo delle versioni dei modelli con i training data sottostanti e la ricerca nel repository del modello.
Gli aspetti più interessanti di MLops portano la metodologia scientifica e la collaborazione ai team di data science. Ad esempio, DataRobot abilita un modello campione-sfidante che può eseguire più modelli sperimentali in parallelo per mettere alla prova l’accuratezza della versione di produzione. SAS vuole aiutare i data scientist a migliorare la qualità dei dati e Alteryx ha recentemente introdotto Analytics Hub per aiutare la collaborazione e la condivisione tra i team di data science.
Tutto ciò mostra che la gestione e lo scaling del machine learning richiedono molta più disciplina e pratica rispetto al semplice chiedere a un data scientist di codificare e testare algoritmi k-means o una rete neurale convoluzionale in Python.