Vai al contenuto

MLFlow

Introduzione

Per consentire uno sviluppo continuo ed efficace dei modelli di Machine Learning, è stato integrato MLflow, una piattaforma che permette agli utenti di tenere traccia di tutti i test effettuati e dei relativi risultati, oltre a fornire strumenti per la valutazione e il confronto delle performance dei modelli.

Di seguito si presenta una breve descrizione delle nuove funzionalità, oltre a una guida dettagliata sulle modalità di utilizzo e delle interfacce utente coinvolte dall'integrazione di MLflow nella piattaforma Datalabs.

Componenti di MLflow

Le funzionalità MLflow disponibili in Banco saranno le seguenti:

  • Tracking: MLflow Tracking fornisce sia un'API che un'interfaccia utente dedicate all'archiviazione di versioni del codice, parametri, metriche e artefatti utilizzati o generati durante lo sviluppo dei modelli. Questa funzionalità facilita la registrazione dei risultati e semplifica il confronto di più esecuzioni permettendo anche a utenti diversi di comparare e valutare le performance dei modelli sviluppati

  • Model Registry: Il Model Registry aiuta la gestione di diverse versioni dei modelli, agevolando una transizione graduale dallo sviluppo alla produzione. Permette di registrare, aggiornare, deprecare e gestire i modelli, garantendo che le versioni più recenti e performanti siano facilmente accessibili. Questa funzionalità è cruciale per mantenere un controllo rigoroso sulla qualità e la performance dei modelli implementati.

  • Evaluate: Questo tool offre la possibilità di eseguire analisi approfondite sulle performance dei diversi modelli di Machine Learning, permettendo di esaminare i risultati degli esperimenti, visualizzare le diverse metriche valutative con dei grafici generati automaticamente e prendere decisioni informate basate sui dati per migliorare continuamente i modelli.

Nota: Queste funzionalità saranno disponibili solo nel contesto del modulo Datalabs Notebook.

Utilizzo delle funzionalità

Dal modulo Notebook, una volta selezionato un venv idoneo, sarà possibile utilizzare le librerie di MLflow per definire degli "Experiment" dove poter loggare i modelli sviluppati e tutte le altre informazioni relative (parametri, metriche di valutazione, artefatti, ecc.). In questo modo sarà possibile tenere traccia di tutti i test effettuati e dei relativi risultati, rendendo disponibili agli utenti le diverse versioni dei modelli sviluppati.

Passaggi per l'utilizzo

  • Login e selezione dell'ambiente: dopo aver effettuato il login al modulo Datalabs Notebook si accederà alla schermata di selezione del Virtual Environment, dalla quale sarà necessario selezionare un venv con una versione di Python >= 3.9 per poter utilizzare le funzionalità descritte in precedenza. Inoltre, dalla schermata di selezione del venv sarà possibile selezionare i tab "Experiment" e "Model" per visualizzare esperimenti e modelli creati in precedenza.

MLflow

Environment selection
  • Creazione di un nuovo esperimento: Utilizzare l'interfaccia di MLflow (o scrivere il codice su Notebook) per creare un nuovo esperimento dove verranno loggati i modelli, i parametri, le metriche e gli artefatti per ogni esecuzione.

MLflow

E.g.: Default Experiment
  • Registrazione dei modelli: tramite le API di MLflow integrate nel codice sarà possibile usufruire del Model Registry per registrare le versioni dei modelli e annotare ogni versione con dettagli importanti come i parametri utilizzati, le metriche di performance e altre informazioni rilevanti.

MLflow

E.g.: Model Registry
  • Valutazione e confronto: Utilizzare MLflow Evaluate per confrontare le performance di uno o più modelli. Visualizzare le metriche chiave e prendere decisioni basate sui dati per scegliere i modelli migliori da implementare.
with mlflow.start_run() as run:
   model_info = mlflow.sklearn.log_model(model, "model", signature=signature)
   result = mlflow.evaluate(
       model_info.model_uri,
       eval_data,
       targets="target",
       model_type="classifier",
       evaluators=["default"],
   )

MLflow

E.g.: Evaluate

Vincoli

Per poter usufruire delle funzionalità di MLflow sarà necessario utilizzare il modulo Datalabs Notebook e selezionare un venv con una versione di Python >= 3.9. Questo garantirà la compatibilità con le librerie MLflow assicurando che tutte le funzionalità introdotte siano pienamente supportate.

Documentazione

Dalla schermate dedicate ad "Experiments" e "Models" sarà inoltre possibile accedere alla documentazione ufficiale di MLflow. Selezionando il tab "Docs" si verrà reindirizzati verso una pagina dedicata dove sono presenti tutte le funzionalità e i tutorial messi a disposizione dalla piattaforma.

MLflow

Accesso alla documentazione MLflow