Machine Learning Operations (MLOps)

Cosa si intende per MLOps?

Per Machine Learning Operations, o MLOps, si intende una serie di pratiche incentrate sulla regolazione dell’intero ciclo di vita dei modelli di Machine Learning. Poiché sono sempre più numerose le organizzazioni che sfruttano il Machine Learning per le loro applicazioni basate su dati e tecnologie, il focus iniziale su sviluppo e distribuzione dei modelli si è ampliato in modo da comprendere il monitoraggio continuo e l’aggiornamento.

MLOps semplifica il processo per portare i modelli di Machine Learning in produzione creando un collegamento tra progettazione, realizzazione e test delle attività di sviluppo con le attività di distribuzione, manutenzione e monitoraggio delle operazioni in un ciclo di feedback continuo. MLOps è una pratica collaborativa e trasversale, che spesso coinvolge team di data scientist, ingegneri e informatici.

Diagramma del ciclo di vita di MLOps che combina lo sviluppo di modelli di Machine Learning e operazioni di monitoraggio continuo e manutenzione.

Ciclo di vita di MLOps.

Qual è la differenza tra MLOps e DevOps? Sia MLOps che DevOps semplificano il processo per portare lo sviluppo software in produzione e prevedono la collaborazione tra team di sviluppo e operativi. Tuttavia, MLOps si concentra sull’intero ciclo di vita dei modelli di Machine Learning.

Perché MLOps è importante

MLOps facilita il difficile processo per automatizzare il ciclo di Machine Learning. L’automazione richiede più passaggi: monitoraggio e valutazione delle prestazioni dei modelli, integrazione dei risultati ottenuti dalla valutazione in un modello dalle prestazioni migliori e ridistribuzione del nuovo modello. MLOps offre notevoli vantaggi nel portare il Machine Learning in produzione, il che porta a meno errori, a un passaggio delle consegne più semplice tra i vari team e al miglioramento continuo del sistema di IA.

MLOps è particolarmente utile nelle applicazioni indicate di seguito:

MLOps con MATLAB

Usando MATLAB® e Simulink® è possibile automatizzare i processi di MLOps.

  • Creazione di modelli di Machine Learning: usa funzioni predefinite e app specializzate per la selezione o l’ingegneria delle feature, quindi crea modelli di Machine Learning per la classificazione, la regressione e il clustering.
Due screenshot uno di fianco all’altro dell’app Classification Learner e dell’app Regression Learner, che mostrano le fasi per creare modelli di Machine Learning e visualizzare i risultati della classificazione e della regressione.

App MATLAB specializzate (Classification Learner e Regression Learner) per esplorare interattivamente i dati, selezionare le feature e addestrare, confrontare e valutare i modelli di Machine Learning.

  • È possibile utilizzare AutoML per automatizzare la progettazione del modello per MLOps. Per il Deep Learning, è possibile ottenere modelli pre-addestrati da MATLAB o da fonti open source.
  • Simulazione dei sistemi di IA : integra i modelli di Machine Learning nei sistemi di IA usando dei blocchi dedicati come il blocco per la classificazione di SVM o il blocco per il rilevamento oggetti, quindi simula sistemi di IA completi prima di distribuirli in produzione.
  • Compilazione e test con la CI : usa diverse piattaforme di integrazione continua (CI), come Azure® DevOps, Jenkins® o il tuo server di CI, per eseguire il codice MATLAB e simulare sistemi Simulink. Grazie alla CI è possibile compilare automaticamente e testare il codice e i sistemi, i team possono collaborare ed è possibile rilevare i problemi di integrazione nelle prime fasi del ciclo MLOps.
  • Distribuzione in produzione: distribuisci i modelli di Machine Learning di MATLAB su MATLAB Production Server™ senza creare codice nuovo o un’infrastruttura personalizzata. A questo punto, più utenti potranno accedere automaticamente alla versione più recente dei modelli MATLAB distribuiti.
  • Monitoraggio del funzionamento : una volta che i modelli di Machine Learning saranno passati in produzione, sarà possibile monitorarne le prestazioni e fornire un feedback. Ad esempio, usa il rilevamento di Drift per confrontare i dati osservati con i dati di addestramento e stabilire se occorre procedere a un nuovo addestramento.