Partager via


MLflow et Azure Machine Learning

APPLIES TO :Extension Azure ML CLI v2 (actuelle)Kit de développement logiciel (SDK) Python azure-ai-ml v2 (préversion)

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

Les espaces de travail Azure Machine Learning sont compatibles avec MLflow. Vous utilisez donc un espace de travail Azure Machine Learning de la même façon que vous utilisez un serveur MLflow. Cette compatibilité offre ces avantages :

  • Azure Machine Learning n’héberge pas d’instances de serveur MLflow, mais utilise directement les API MLflow.
  • Utilisez un espace de travail Azure Machine Learning comme serveur de suivi pour n’importe quel code MLflow, qu’il s’exécute ou non dans Azure Machine Learning. Configurez simplement MLflow pour qu’il pointe vers l’espace de travail où le suivi se produit.
  • Exécutez une routine d’entraînement qui utilise MLflow dans Azure Machine Learning sans apporter de modifications.

Conseil

Contrairement au Kit de développement logiciel (SDK) Azure Machine Learning v1, le Kit de développement logiciel (SDK) Azure Machine Learning v2 n’inclut pas la fonctionnalité de journalisation. Utilisez la journalisation MLflow pour maintenir vos routines d’entraînement indépendantes, portables et indépendantes d’Azure Machine Learning.

Qu’est-ce que le suivi

Lorsque vous travaillez avec des tâches, Azure Machine Learning suit automatiquement les 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 à chaque 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 :

  • 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 :

  • Organisez toutes vos expériences de Machine Learning en un seul endroit. Ensuite, recherchez et filtrez des expériences, puis explorez les détails sur les expériences précédentes.
  • Comparez les expériences, analysez les résultats et déboguez l’entraînement du modèle.
  • De reproduire ou de réexécuter des expériences pour valider les résultats.
  • Collaborez plus facilement, car vous voyez ce que font d’autres collègues, partagez les résultats des expériences et accédez par programme 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 utilisez MLflow pour suivre les exécutions, les métriques, les paramètres et les artefacts dans les espaces de travail sans modifier vos routines d’entraînement ou ajouter 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. Lorsque vous êtes connecté à Azure Machine Learning, tous les suivis MLflow s’affichent dans l’espace de travail que vous utilisez.

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 interrogez et comparez également des expériences et des exécutions avec MLflow.

MLflow dans Azure Machine Learning vous offre le moyen de centraliser le suivi. Connectez MLflow à des espaces de travail Azure Machine Learning même lorsque vous travaillez localement 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 dans Azure Machine Learning vous permet de :

Suivi avec MLflow dans R

La prise en charge de 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. Si vous êtes familiarisé avec le client MLflow, vous pouvez l’utiliser pour gérer l’intégralité du cycle de vie du modèle. Pour en savoir plus sur la gestion des modèles avec 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

La gestion des modèles avec MLflow montre comment gérer les modèles dans les registres.

Déploiement de modèles avec MLflow

Déployez des modèles MLflow sur Azure Machine Learning pour bénéficier 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 spécifier d’environnement ou de 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 plus d’informations sur le déploiement de modèles MLflow dans Azure Machine Learning à la fois pour l’inférence en temps réel et par lots, consultez Recommandations pour le déploiement de 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.

Envoyez des travaux d’apprentissage à Azure Machine Learning à l’aide de projets MLflow. Envoyez des travaux localement avec le suivi Azure Machine Learning ou migrez vos travaux vers le cloud à l’aide du calcul Azure Machine Learning.

Découvrez comment envoyer des travaux d’apprentissage qui utilisent des projets MLflow à des espaces de travail Azure Machine Learning pour le suivi dans Entraîner avec des projets MLflow dans Azure Machine Learning (préversion).

Exemples de carnets de notes pour les projets MLflow

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

Le tableau suivant présente les opérations de cycle de vie du Machine Learning que vous pouvez effectuer avec le KIT SDK MLflow et les outils clients 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 Vous pouvez télécharger uniquement des artefacts et des modèles.
Soumettre des travaux d’entraînement Vous pouvez utiliser 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 Certaines opérations ne sont 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) Vous ne pouvez pas déployer de modèles MLflow pour l’inférence par lots pour l’instant.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.