Condividi tramite


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

Ottenere il notebook

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

Ottenere il notebook

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)

Ottenere il notebook

Se l'area di lavoro è non abilitata per Unity Catalog, non usare questa versione del notebook.

Usare scikit-learn con l'integrazione di MLflow in Databricks

Ottenere il notebook