Avvio rapido per Python
MLflow è una piattaforma open source per la gestione del ciclo di vita end-to-end di Machine Learning. MLflow offre API semplici per la registrazione delle metriche (ad esempio, perdita di modelli), parametri (ad esempio, frequenza di apprendimento) e modelli adattati, semplificando l'analisi dei risultati del training o l’implementazione di modelli in un secondo momento.
Contenuto della sezione:
- Installare MLflow.
- Registrare automaticamente le esecuzioni di training in MLflow
- Visualizza risultati
- Tenere traccia e registrare metriche, parametri e modelli
- Notebook di esempio
- Ulteriori informazioni
Installare MLflow.
Se si usa Databricks Runtime per Machine Learning, MLflow è già installato. In caso contrario, installare il pacchetto MLflow da PyPI.
Registrare automaticamente le esecuzioni di training in MLflow
Con Databricks Runtime 10.4 LTS ML e versioni successive, Databricks Autologging è abilitato per impostazione predefinita e acquisisce automaticamente parametri del modello, metriche, file e informazioni di derivazione quando si esegue il training dei modelli da un'ampia gamma di librerie di Machine Learning più diffuse.
Con Databricks Runtime 9.1 LTS ML, MLflow fornisce mlflow.<framework>.autolog()
API per registrare automaticamente il codice di training scritto in molti framework ml. È possibile chiamare questa API prima di eseguire il codice di training per registrare metriche, parametri e artefatti del modello specifici del modello.
TensorFlow
Nota
I modelli Keras sono supportati anche in mlflow.tensorflow.autolog()
.
# Also autoinstruments tf.keras
import mlflow.tensorflow
mlflow.tensorflow.autolog()
XGBoost
import mlflow.xgboost
mlflow.xgboost.autolog()
LightGBM
import mlflow.lightgbm
mlflow.lightgbm.autolog()
scikit-learn
import mlflow.sklearn
mlflow.sklearn.autolog()
PySpark
Se si esegue l'ottimizzazione con pyspark.ml
, le metriche e i modelli vengono registrati automaticamente in MLflow.
Vedi Apache Spark MLlib e rilevamento automatizzato di MLflow.
Visualizza risultati
Dopo aver eseguito il codice di Machine Learning, è possibile visualizzare i risultati usando la barra laterale Esecuzioni esperimenti. Vedere Visualizzare l'esperimento del notebook per istruzioni su come visualizzare l'esperimento , l'esecuzione e la revisione del notebook usata nella guida introduttiva.
Tenere traccia e registrare metriche, parametri e modelli
È possibile registrare informazioni aggiuntive richiamando direttamente le API di registrazione di MLflow Tracking.
Metriche numeriche
import mlflow
mlflow.log_metric("accuracy", 0.9)
Parametri di training
import mlflow
mlflow.log_param("learning_rate", 0.001)
Modelli
scikit-learn
import mlflow.sklearn
mlflow.sklearn.log_model(model, "myModel")
PySpark
import mlflow.spark
mlflow.spark.log_model(model, "myModel")
XGBoost
import mlflow.xgboost
mlflow.xgboost.log_model(model, "myModel")
TensorFlow
import mlflow.tensorflow
mlflow.tensorflow.log_model(model, "myModel")
Keras
import mlflow.keras
mlflow.keras.log_model(model, "myModel")
PyTorch
import mlflow.pytorch
mlflow.pytorch.log_model(model, "myModel")
spaCy
import mlflow.spacy
mlflow.spacy.log_model(model, "myModel")
Altri artefatti (file)
import mlflow
mlflow.log_artifact("/tmp/my-file", "myArtifactPath")
Notebook di esempio
Nota
Con Databricks Runtime 10.4 LTS ML e versioni successive, Databricks Autologging è abilitato per impostazione predefinita e il codice in questi notebook di esempio non è obbligatorio. I notebook di esempio in questa sezione sono progettati per l'uso con Databricks Runtime 9.1 LTS ML.
Il modo consigliato per iniziare a usare il rilevamento MLflow con Python consiste nell'usare l'API MLflow autolog()
. Con le funzionalità di assegnazione automatica di MLflow, una singola riga di codice registra automaticamente il modello risultante, i parametri usati per creare il modello e un punteggio del modello. Il notebook seguente illustra come configurare un'esecuzione usando l'assegnazione automatica di tag.
Notebook di avvio rapido di Python per MLflow Autologging
Se è necessario un maggiore controllo sulle metriche registrate per ogni esecuzione di training o se si vuole registrare elementi aggiuntivi, ad esempio tabelle o tracciati, è possibile usare le funzioni API di registrazione MLflow illustrate nel notebook seguente.