Démarrage rapide Python
MLflow est une plateforme open source qui permet de gérer le cycle de vie du machine learning de bout en bout. MLflow fournit des API simples pour la journalisation des métriques (par exemple, la perte de modèle), des paramètres (par exemple, le taux d’apprentissage) et des modèles adaptés, ce qui facilite l’analyse des résultats de formation ou le déploiement ultérieur de modèles.
Dans cette section :
- Installer MLflow
- Consigner automatiquement les exécutions de formation dans MLflow
- Afficher les résultats
- Suivre des métriques, des paramètres et des modèles supplémentaires
- Exemples de notebooks
- En savoir plus
Installer MLflow
Si vous utilisez Databricks Runtime pour le Machine Learning, MLflow est déjà installé. Sinon, installez le package MLflow à partir de PyPI.
Consigner automatiquement les exécutions de formation dans MLflow
Avec Databricks Runtime 10.4 LTS ML et versions ultérieures, Databricks Autologging est activé par défaut et capture automatiquement les paramètres, les métriques, les fichiers et les informations de traçabilité du modèle lorsque vous effectuez l’apprentissage de modèles à partir d’une variété de bibliothèques Machine Learning populaires.
Avec Databricks Runtime 9.1 LTS ML, MLflow fournit des API mlflow.<framework>.autolog()
pour consigner automatiquement le code de formation écrit dans de nombreuses infrastructures ML. Vous pouvez appeler cette API avant d’exécuter le code de formation pour consigner les métriques, les paramètres et les artefacts de modèle spécifiques au modèle.
TensorFlow
Notes
Les modèles Keras sont également pris en charge dans 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
Si vous effectuez le paramétrage avec pyspark.ml
, les métriques et les modèles sont automatiquement enregistrés dans MLflow.
Consultez Apache Spark MLlib et suivi MLflow automatisé.
Afficher les résultats
Après avoir exécuté votre code de Machine Learning, vous pouvez visualiser les résultats à l’aide de la barre latérale Exécutions d’expérience. Pour obtenir des instructions sur la façon d’afficher l’expérience, l’exécution et la révision du notebook utilisées dans le démarrage rapide, consultez Afficher l’expérience du notebook.
Suivre des métriques, des paramètres et des modèles supplémentaires
Vous pouvez consigner des informations supplémentaires en appelant directement les API de journalisation de MLflow Tracking.
Métriques numériques
import mlflow
mlflow.log_metric("accuracy", 0.9)
Paramètres d’entraînement
import mlflow
mlflow.log_param("learning_rate", 0.001)
Modèles
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")
Autres artefacts (fichiers)
import mlflow
mlflow.log_artifact("/tmp/my-file", "myArtifactPath")
Exemples de notebooks
Remarque
Avec Databricks Runtime 10.4 LTS ML et versions ultérieures, Databricks Autologging est activé par défaut, et le code de ces exemples de notebooks n’est pas obligatoire. Les exemples de notebooks de cette section sont conçus pour être utilisés avec Databricks Runtime 9.1 ML LTS ML.
La méthode recommandée pour prendre en main le suivi MLflow avec Python consiste à utiliser l’API MLflow autolog()
. Grâce aux capacités de journalisation automatique de MLflow, une seule ligne de code consigne automatiquement le modèle résultant, les paramètres utilisés pour créer le modèle et un score de modèle. Le notebook suivant vous montre comment configurer une exécution en utilisant la journalisation automatique.
Notebook Python Démarrage rapide avec la journalisation automatique MLflow
Si vous avez besoin de davantage de contrôle sur les métriques journalisées pour chaque exécution de formation ou si vous souhaitez consigner des artefacts supplémentaires tels que des tables ou des tracés, vous pouvez utiliser les fonctions de l’API de journalisation de MLflow présentées dans le notebook suivant.