Consigner des expériences dans MLflow

Apprentissage Machine de bout en bout

Joshua Stapleton

Machine Learning Engineer

MLflow

Sans MLflow…

  • Plusieurs exécutions non suivies et désorganisées
  • Exécutions dissemblables ou non comparables
  • Exécutions non reproductibles, perdues

Avec MLflow…

  • Exécutions suivies et organisées
  • Comparaison entre des exécutions normalisées
  • Exécutions reproductibles
  • Partager et déployer des modèles
Apprentissage Machine de bout en bout

Créer des expériences

mlflow.set_experiment()

  • Définit le nom de l'expérience
  • Crée l'espace de travail des exécutions

 

Utilisation :

import mlflow

# Définir un nom d'expérience, soit l'espace de travail de vos exécutions
mlflow.set_experiment("Heart Disease Classification")
Apprentissage Machine de bout en bout

Exécuter des expériences

# Démarrer une nouvelle exécution dans cette expérience
with mlflow.start_run():
    # Entraîner un modèle et obtenir la précision de prédiction
    logistic_model = LogisticRegression()

# Consigner des paramètres, p. ex. : mlflow.log_param("n_estimators", logistic_model.n_estimators)
# Consigner des mesures (ici, la précision) mlflow.log_metric("accuracy", logistic_model.accuracy)
# Afficher les mesures print("Model accuracy: %.3f" % accuracy)
Model accuracy: 0.96
Apprentissage Machine de bout en bout

Récupérer des expériences

 

mlflow.get_run(run_id)

  • Métadonnées d'une exécution précise

 

mlflow.search_runs()

  • Retourne un DataFrame de mesures pour plusieurs exécutions

Utilisation :

# Récupérer les données d'exécution et afficher les paramètres
run_data = mlflow.get_run(run_id)
print(run_data.data.params)
print(run_data.data.metrics)

# Rechercher toutes les exécutions de l'expérience
exp_id = run_data.info.experiment_id
runs_df = mlflow.search_runs(exp_id)
{'epochs': '20', 'accuracy': 0.95}
Apprentissage Machine de bout en bout

Interface MLflow

 

Tableau de bord d'une expérience MLflow

 

Page d'exemple d'expérience MLflow

Apprentissage Machine de bout en bout

Interface MLflow (suite)

 

Exemple de graphique montrant l'amélioration d'une mesure

 

Exemple de comparaison de mesures entre exécutions

Apprentissage Machine de bout en bout

Ressources MLflow

  • Introduction à MLflow Introduction à MLflow
  • Site Web officiel de MLflow Site Web officiel de MLflow
Apprentissage Machine de bout en bout

Passons à la pratique !

Apprentissage Machine de bout en bout

Preparing Video For Download...