Partager via


MLflow et Azure Machine Learning

S’APPLIQUE À :Extension Azure CLI v2 (actuelle)Kit de développement logiciel (SDK) Python azure-ai-ml v2 (version actuelle)

Cet article décrit les fonctionnalités de MLflow, une infrastructure open source conçue pour gérer le cycle de vie complet de Machine Learning. MLflow utilise un ensemble d’outils cohérent pour effectuer l’apprentissage et mettre en service des modèles sur diverses plateformes. Vous pouvez utiliser MLflow, que vos expériences s’exécutent localement ou sur une cible de calcul distante, une machine virtuelle ou une instance de capacité de calcul Azure Machine Learning.

Les espaces de travail Azure Machine Learning sont compatibles avec MLflow, ce qui signifie que vous pouvez utiliser un espace de travail Azure Machine Learning de la même façon que vous utilisez un serveur MLflow. Cette compatibilité présente les avantages suivants :

  • Azure Machine Learning n’héberge pas les instances de serveur MLflow, mais peut utiliser les API MLflow directement.
  • Vous pouvez utiliser un espace de travail Azure Machine Learning comme serveur de suivi pour du code MLflow, qu’il s’exécute ou non sur Azure Machine Learning. Vous devez uniquement configurer MLflow pour qu’il pointe vers l’espace de travail où le suivi doit se produire.
  • Vous pouvez exécuter n’importe quelle routine d’apprentissage qui utilise MLflow dans Azure Machine Learning sans apporter de modifications.

Conseil

Contrairement au Kit de développement logiciel (SDK) Azure Machine Learning v1, il n’existe aucune fonctionnalité de journalisation dans le Kit de développement logiciel (SDK) Azure Machine Learning v2. Vous pouvez utiliser la journalisation MLflow pour veiller à ce que vos routines d’apprentissage soient portables, indépendantes du cloud et n’aient aucune dépendance sur Azure Machine Learning.

Qu’est-ce que le suivi

Lorsque vous effectuez des travaux, Azure Machine Learning effectue automatiquement le suivi de certaines informations sur les expériences, telles que le code, l’environnement et les données d’entrée et de sortie. Toutefois, les modèles, les paramètres et les métriques sont spécifiques au scénario. Les générateurs de modèles doivent donc configurer leur suivi.

Les métadonnées de suivi enregistrées varient selon l’expérience et peuvent inclure ce qui suit :

  • Code
  • Détails de l’environnement tels que la version du système d’exploitation et les packages Python
  • Données d’entrée
  • Configurations des paramètres
  • Modèles
  • Mesures d’évaluation
  • Visualisations d’évaluation telles que les matrices de confusion et les tracés d’importance
  • Résultats de l’évaluation, y compris certaines prévisions d’évaluation

Avantages du suivi des expériences

Que vous entraîniez des modèles avec des travaux dans Azure Machine Learning ou de manière interactive dans des notebooks, le suivi des expériences vous aide ainsi :

  • D’organiser toutes vos expériences d’apprentissage automatique dans un seul endroit. Vous pouvez ensuite rechercher et filtrer des expériences et explorer au niveau du détail sur les expériences précédentes.
  • Comparez facilement des expériences, analysez les résultats et déboguez l’apprentissage du modèle.
  • De reproduire ou de réexécuter des expériences pour valider les résultats.
  • D’améliorer la collaboration, car vous pouvez voir ce que font vos collègues, partager les résultats des expériences et accéder de manière programmatique aux données d’expérience.

Suivi avec MLflow

Les espaces de travail Azure Machine Learning sont compatibles avec MLflow. Cette compatibilité signifie que vous pouvez utiliser MLflow pour suivre les exécutions, les métriques, les paramètres et les artefacts dans les espaces de travail sans avoir à modifier vos routines d’entraînement ou à injecter une syntaxe spécifique au cloud. Pour savoir comment utiliser MLflow pour suivre vos expériences et vos exécutions dans les espaces de travail Azure Machine Learning, consultez Suivre les expériences et modèles avec MLflow.

Azure Machine Learning utilise le suivi MLflow pour journaliser des métriques et stocker des artefacts de vos expériences. Quand vous êtes connecté à Azure Machine Learning, tout le suivi MLflow se matérialise dans l’espace de travail sur lequel vous travaillez.

Pour savoir comment activer la journalisation afin de surveiller les métriques d’exécution en temps réel avec MLflow, consultez Journaliser des métriques, des paramètres et des fichiers avec MLflow. Vous pouvez également Interroger et comparer des expériences et des exécutions avec MLflow.

MLflow dans Azure Machine Learning vous offre le moyen de centraliser le suivi. Vous pouvez connecter MLflow à des espaces de travail Azure Machine Learning, même lors de travaux locaux ou dans un autre cloud. L’espace de travail Azure Machine Learning fournit un emplacement centralisé, sécurisé et évolutif pour stocker les métriques d’apprentissage et les modèles.

MLflow et Azure Machine Learning peuvent :

Suivi avec MLflow dans R

La prise en charge MLflow dans R présente les limitations suivantes :

  • Le suivi de MLflow se limite au suivi des métriques, des paramètres et des modèles d’expériences dans des travaux Azure Machine Learning.
  • L’apprentissage interactif sur RStudio, Posit (anciennement RStudio Workbench) ou des notebooks Jupyter avec des noyaux R n’est pas pris en charge.
  • L’inscription et la gestion des modèles ne sont pas prises en charge. Utilisez l’interface CLI Azure Machine Learning ou Azure Machine Learning studio pour l’inscription et la gestion de modèles.

Si vous souhaitez découvrir des exemples d’utilisation du client de suivi MLflow avec des modèles R dans Azure Machine Learning, consultez Entraîner des modèles R en utilisant l’interface CLI Azure Machine Learning (v2).

Suivi avec MLflow dans Java

La prise en charge de MLflow dans Java présente les limitations suivantes :

  • Le suivi de MLflow se limite au suivi des métriques et des paramètres d’expériences dans des travaux Azure Machine Learning.
  • Les artefacts et les modèles ne peuvent pas faire l’objet d’un suivi. Utilisez à la place la méthode mlflow.save_model avec le dossier outputs dans des travaux pour enregistrer des modèles ou des artefacts que vous souhaitez capturer.

Si vous souhaitez découvrir un exemple Java qui utilise le client de suivi MLflow avec le serveur de suivi Azure Machine Learning, consultez azuremlflow-java.

Exemples de notebooks pour le suivi MLflow

Inscription de modèles avec MLflow

Azure Machine Learning prend en charge MLflow pour la gestion des modèles. Cette prise en charge constitue un bon moyen de gérer l’intégralité du cycle de vie du modèle pour les utilisateurs qui sont familiarisés avec le client MLflow. Pour découvrir plus d’informations sur la façon de gérer des modèles en utilisant l’API MLflow dans Azure Machine Learning, consultez Gérer les registres de modèles dans Azure Machine Learning avec MLflow.

Exemple de notebook pour l’inscription d’un modèle MLflow

Gestion de modèles avec MLflow : montre comment gérer des modèles dans des registres.

Déploiement de modèles avec MLflow

Vous pouvez déployer des modèles MLflow sur Azure Machine Learning pour tirer parti d’une expérience améliorée. Azure Machine Learning prend en charge le déploiement de modèles MLflow sur des points de terminaison en temps réel et par lots sans avoir à spécifier un environnement ou un script de scoring.

Le Kit de développement logiciel (SDK) MLflow, l’interface CLI Azure Machine Learning, le Kit de développement logiciel (SDK) Azure Machine Learning pour Python et Azure Machine Learning studio prennent tous en charge le modèle de déploiement MLflow. Pour découvrir plus d’informations sur le déploiement de modèles MLflow sur Azure Machine Learning pour les inférences en temps réel et par lots, consultez Instructions pour déployer des modèles MLflow.

Exemples de notebooks pour le modèle de déploiement MLflow

Apprentissage avec MLflow Projects (préversion)

Avertissement

La prise en charge des fichiers MLproject (projets MLflow) dans Azure Machine Learning sera entièrement supprimée en septembre 2026. MLflow est toujours entièrement pris en charge et reste la méthode recommandée pour suivre les charges de travail Machine Learning dans Azure Machine Learning.

À mesure que vous continuez à utiliser MLflow, nous vous recommandons de passer deMLproject fichiers à Des travaux Azure Machine Learning, à l’aide d’Azure CLI ou du Kit de développement logiciel (SDK) Azure Machine Learning pour Python (v2). Pour plus d’informations sur les tâches Azure Machine Learning, consultez Suivre les expériences et modèles ML avec MLflow.

Important

Cette fonctionnalité est actuellement disponible en préversion publique. Cette préversion est fournie sans contrat de niveau de service et n’est pas recommandée pour les charges de travail de production. Certaines fonctionnalités peuvent être limitées ou non prises en charge.

Pour plus d’informations, consultez Conditions d’Utilisation Supplémentaires relatives aux Évaluations Microsoft Azure.

Vous pouvez envoyer des travaux d’apprentissage à Azure Machine Learning en utilisant MLflow Projects. Vous pouvez envoyer des travaux en local à l’aide du suivi Azure Machine Learning ou migrer vos travaux vers le cloud via le calcul Azure Machine Learning.

Pour découvrir comment envoyer des travaux d’apprentissage qui utilisent MLflow Projects sur des espaces de travail Azure Machine Learning pour le suivi, consultez Entraîner des modèles Machine Learning avec MLflow Projects et Azure Machine Learning.

Exemples de notebooks pour MLflow Projects

Fonctionnalités des outils client Azure Machine Learning par rapport à MLflow

Le tableau suivant montre les opérations de cycle de vie de Machine Learning possibles avec le Kit de développement logiciel (SDK) MLflow et les outils client Azure Machine Learning.

Fonctionnalité Kit de développement logiciel (SDK) MLflow CLI Azure Machine Learning/Kit de développement logiciel (SDK) v2 Azure Machine Learning Studio
Suivre et consigner les métriques, les paramètres et les modèles
Récupérer les métriques, les paramètres et les modèles Seuls les artefacts et les modèles peuvent être téléchargés.
Soumettre des travaux d’entraînement Possible en utilisant MLflow Projects (préversion).
Envoyer des travaux d’entraînement avec des ressources de données Azure Machine Learning
Envoyer des travaux d’entraînement avec des pipelines de machine learning
Gérer les expériences et les exécutions
Gestion des modèles de MLflow Il est possible que certaines opérations ne soient pas prises en charge.1
Gérer des modèles non MLflow
Déployer des modèles MLflow dans Azure Machine Learning (en ligne et par lots) Le déploiement de modèles MLflow pour l’inférence par lots n’est actuellement pas pris en charge.2
Déployer des modèles non MLflow sur Azure Machine Learning

1 Pour découvrir plus d’informations, consultez Gérer les registres de modèles dans Azure Machine Learning avec MLflow.

2 Comme alternative, consultez Déployer et exécuter des modèles MLflow dans des travaux Spark.