Partage via


Suivez le développement de modèles à l’aide de MLflow

Cet article présente des exemples de suivis de développement de modèles dans Azure Databricks. Journalisez et suivez automatiquement les modèles ML et Deep Learning avec MLflow, ou manuellement avec l’API MLflow.

Suivi de modèle et MLflow

Le processus de développement d’un modèle est itératif et il peut s’avérer difficile d’effectuer le suivi de votre travail à mesure que vous développez et optimisez un modèle. Dans Azure Databricks, le suivi MLflow peut vous aider à suivre le processus de développement du modèle, y compris les paramètres ou combinaisons de paramètres que vous avez essayés et leur impact sur les performances du modèle.

Le suivi MLflow utilise des expériences et des exécutions pour journaliser et suivre votre développement de modèle ML et Deep Learning. Une exécution est une exécution unique du code du modèle. Durant une exécution MLflow, vous pouvez enregistrer les paramètres du modèle et les résultats obtenus. Une expérience est un regroupement d’exécutions liées. Dans une expérience, vous pouvez comparer et filtrer les exécutions pour comprendre le fonctionnement de votre modèle, et analyser de quelle manière ses performances dépendent des réglages des paramètres et des données d’entrée, entre autres.

Les notebooks de cet article fournissent des exemples simples qui vous aideront à commencer rapidement à utiliser MLflow pour suivre le développement de votre modèle. Pour plus d’informations sur l’utilisation du suivi MLflow dans Azure Databricks, consultez Suivre les exécutions de formation de Machine Learning et de Deep Learning.

Remarque

Le suivi MLflow ne prend pas en charge les travaux soumis avec spark_submit_task dans l’API Jobs. À la place, vous pouvez utiliser des projets MLflow pour exécuter du code Spark.

Utiliser la journalisation automatique pour suivre le développement du modèle

MLflow peut journaliser le code de formation écrit dans de nombreuses infrastructures de Machine Learning et de Deep Learning automatiquement. C’est le moyen le plus simple de commencer à utiliser le suivi MLflow.

Cet exemple de notebook montre comment utiliser la journalisation automatique avec scikit-learn. Pour plus d’informations sur la journalisation automatique avec d’autres bibliothèques Python, consultez Journalisation automatique des exécutions d’entraînement dans MLflow.

Notebook Python avec la journalisation automatique MLflow

Obtenir le notebook

Utiliser l’API de journalisation pour suivre le développement du modèle

Ce notebook montre comment utiliser l’API de journalisation de MLflow. L’utilisation de l’API de journalisation vous donne davantage de contrôle sur les métriques journalisées et vous permet de journaliser des artefacts supplémentaires tels que des tables ou des tracés.

Cet exemple de notebook montre comment utiliser l’API de journalisation Python. MLflow comporte également des API REST, R et Java.

Notebook Python avec l’API de journalisation MLflow

Obtenir le notebook

Exemple de bout en bout

Ce notebook du tutoriel présente un exemple de bout en bout de l’entraînement d’un modèle dans Azure Databricks, y compris le chargement des données, la visualisation des données, la configuration d’une optimisation parallèle des hyperparamètres, ainsi que l’utilisation de MLflow pour examiner les résultats, inscrire le modèle et effectuer l’inférence sur les nouvelles données à l’aide du modèle inscrit dans une fonction Spark définie par l’utilisateur.

Spécifications

Databricks Runtime ML

Exemple de bloc-notes

Si votre espace de travail est activé pour Unity Catalog, utilisez cette version du notebook :

Utilisation de scikit-learn avec l’intégration MLflow dans Databricks (Unity Catalog)

Obtenir le notebook

Si votre espace de travail n’est pas activé pour Unity Catalog, utilisez cette version du notebook :

Utilisation de scikit-learn avec l’intégration MLflow dans Databricks

Obtenir le notebook