Tenere traccia dello sviluppo di modelli utilizzando MLflow
Questo articolo contiene esempi di monitoraggio dello sviluppo di modelli in Azure Databricks. Registrare e tenere traccia dei modelli di Machine Learning e Deep Learning automaticamente con MLflow o manualmente con l'API MLflow.
Rilevamento dei modelli & MLflow
Il processo di sviluppo di modelli è iterativo, quindi può risultare difficile tenere traccia delle attività di sviluppo e ottimizzazione. In Azure Databricks è possibile usare il componente MLflow Tracking per tenere traccia del processo di sviluppo di modelli, incluse le impostazioni dei parametri o le combinazioni provate e i relativi effetti sulle prestazioni del modello.
Rilevamento di MLFlow usa esperimenti ed esecuzioni per registrare e tenere traccia dello sviluppo di modelli di ML e Deep Learning. Per esecuzione si intende una singola esecuzione del codice dei modelli. Durante un'esecuzione di MLflow, è possibile registrare i parametri e i risultati dei modelli. Un esperimento è una raccolta di esecuzioni correlate. All'interno di un esperimento è possibile confrontare e filtrare le esecuzioni per identificare il livello di prestazioni del modello e la relativa dipendenza dalle impostazioni dei parametri, i dati di input e così via.
I notebook di questo articolo offrono semplici esempi che consentono di iniziare rapidamente a usare MLflow per tenere traccia dello sviluppo di modelli. Per altri dettagli sull'uso del Rilevamento di MLFlow in Azure Databricks, vedere Monitorare le esecuzioni del training di ML e Deep Learning.
Nota
Il rilevamento di MLflow non supporta i processi inviati con spark_submit_task nell'API dei processi. È invece possibile usare progetti MLflow per eseguire il codice Spark.
Usare la registrazione automatica per tenere traccia dello sviluppo di modelli
MLflow è in grado di registrare automaticamente il codice di training scritto in molti framework di ML e Deep Learning. Si tratta del modo più semplice per iniziare a usare MLflow Tracking.
Questo notebook di esempio illustra come usare la registrazione automatica con scikit-learn. Per informazioni sulla registrazione automatica con altre librerie Python, vedere Registrare automaticamente le esecuzioni di training in MLflow.
Notebook di autologging di Python per MLflow
Usare l'API Logging per tenere traccia dello sviluppo di modelli
Questo notebook illustra come usare l'API Logging di MLflow. L'uso dell'API Logging offre un maggior controllo sulle metriche registrate e consente di registrare artefatti aggiuntivi, ad esempio tabelle o tracciati.
Questo notebook di esempio illustra come usare l'API Logging per Python. MLflow include anche API REST, R e Java.
Notebook di registrazione dell’API Python per MLflow
Esempio end-to-end
Il notebook di questa esercitazione presenta un esempio end-to-end di training di un modello in Azure Databricks, che include il caricamento e la visualizzazione dei dati, la configurazione di un'ottimizzazione parallela di iperparametri e l'uso di MLflow per rivedere i risultati, registrare il modello ed eseguire l'inferenza sui nuovi dati con il modello registrato in una funzione definita dall'utente di Spark.
Requisiti
Databricks Runtime ML
Notebook di esempio
Se l'area di lavoro è abilitata per Unity Catalog, usare questa versione del notebook:
Usare scikit-learn con l'integrazione di MLflow in Databricks (Unity Catalog)
Se l'area di lavoro è non abilitata per Unity Catalog, non usare questa versione del notebook.