Afficher les métriques et évaluer les modèles

Effectué

Après avoir entraîné et suivi des modèles avec MLflow dans Azure Machine Learning, vous pouvez explorer les métriques et évaluer vos modèles.

  • Passez en revue les métriques dans Azure Machine Learning Studio.
  • Récupérer des exécutions et des métriques avec MLflow.

Note

Azure Machine Learning utilise le concept de travaux lorsque vous exécutez un script. Plusieurs exécutions de travaux dans Azure Machine Learning peuvent être regroupées dans une seule expérience. MLflow utilise une syntaxe similaire où chaque script est une exécution, qui fait partie d’une expérience.

Afficher les métriques dans Azure Machine Learning Studio

Une fois votre travail terminé, vous pouvez passer en revue les paramètres journalisés, les métriques et les artefacts dans Azure Machine Learning Studio.

Lorsque vous passez en revue les exécutions de travaux dans Azure Machine Learning Studio, vous explorez les métriques d’une exécution de travail, qui font partie d’une expérience.

Pour afficher les métriques via une interface utilisateur intuitive, vous pouvez :

  1. Ouvrez Studio en accédant à https://ml.azure.com.
  2. Recherchez l’exécution de votre expérience et ouvrez-la pour afficher ses détails.
  3. Sous l’onglet Détails , tous les paramètres consignés sont affichés sous Params.
  4. Sélectionnez l’onglet Métriques et sélectionnez la métrique que vous souhaitez explorer.
  5. Tous les tracés enregistrés en tant qu’artefacts se trouvent sous images.
  6. Les ressources de modèle qui peuvent être utilisées pour inscrire et déployer le modèle sont stockées dans le dossier modèles sous Sorties + journaux.

Conseil / Astuce

Lisez la documentation pour en savoir plus sur le suivi des modèles avec MLflow.

Récupérer des métriques avec MLflow dans un notebook

Lorsque vous exécutez un script d’entraînement en tant que travail dans Azure Machine Learning et suivez l’entraînement de votre modèle avec MLflow, vous pouvez interroger les exécutions dans un notebook à l’aide de MLflow. L’utilisation de MLflow dans un notebook vous permet de mieux contrôler les exécutions que vous souhaitez récupérer pour comparer.

Lorsque vous utilisez MLflow pour consulter vos exécutions, vous faites référence aux expériences et aux exécutions.

Rechercher toutes les expériences

Vous pouvez obtenir toutes les expériences actives dans l’espace de travail à l’aide de MLFlow :

experiments = mlflow.search_experiments(max_results=2)
for exp in experiments:
    print(exp.name)

Si vous souhaitez également récupérer des expériences archivées, incluez l’option ViewType.ALL:

from mlflow.entities import ViewType

experiments = mlflow.search_experiments(view_type=ViewType.ALL)
for exp in experiments:
    print(exp.name)

Pour récupérer une expérience spécifique, vous pouvez exécuter :

exp = mlflow.get_experiment_by_name(experiment_name)
print(exp)

Conseil / Astuce

Découvrez la documentation sur comment rechercher des expériences avec MLflow

Récupérer des exécutions

MLflow vous permet de rechercher des exécutions à l’intérieur de n’importe quelle expérience. Vous avez besoin de l’ID d’expérience ou du nom de l’expérience.

Par exemple, lorsque vous souhaitez récupérer les métriques d’une exécution spécifique :

mlflow.search_runs(exp.experiment_id)

Vous pouvez rechercher des exécutions sur plusieurs expériences si nécessaire, ce qui est utile lorsque vous souhaitez comparer les exécutions du même modèle sur différentes expériences. Par exemple, différentes personnes ou différentes itérations de projet peuvent enregistrer le même modèle dans des expériences distinctes.

Vous pouvez utiliser search_all_experiments=True si vous souhaitez effectuer une recherche sur toutes les expériences de l’espace de travail.

Par défaut, les expériences sont classées par ordre décroissant de start_time, c’est-à-dire le moment où l’expérience a été mise en file d’attente dans Azure Machine Learning. Toutefois, vous pouvez modifier cette valeur par défaut à l’aide du paramètre order_by.

Par exemple, si vous souhaitez trier par heure de début et afficher uniquement les deux derniers résultats :

mlflow.search_runs(exp.experiment_id, order_by=["start_time DESC"], max_results=2)

Vous pouvez également rechercher une exécution avec une combinaison spécifique dans les hyperparamètres :

mlflow.search_runs(
    exp.experiment_id, filter_string="params.num_boost_round='100'", max_results=2
)

Conseil / Astuce

Découvrez la documentation sur la façon de rechercher des exécutions avec MLflow