Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 :
- Suivre les expériences et les modèles Machine Learning s’exécutant localement ou dans le cloud.
- Suivre les expériences Machine Learning Azure Databricks.
- Suivre les expériences Machine Learning Azure Synapse Analytics.
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_modelavec le dossieroutputsdans 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
- L’entraînement et le suivi d’un classifieur XGBoost avec MLflow montre comment utiliser MLflow pour suivre les expériences, enregistrer les modèles et combiner plusieurs versions dans des pipelines.
- L’entraînement et le suivi d’un classifieur XGBoost avec MLflow à l’aide de l’authentification du principal de service montre comment utiliser MLflow pour suivre les expériences à partir d’un calcul qui s’exécute en dehors d’Azure Machine Learning. L’exemple montre comment s’authentifier auprès des services Azure Machine Learning en utilisant un principal de service.
- L’optimisation des hyperparamètres à l’aide d’HyperOpt et d’exécutions imbriquées dans MLflow montre comment utiliser des exécutions enfants pour optimiser les hyperparamètres pour les modèles à l’aide de la bibliothèque HyperOpt populaire. L’exemple montre comment transférer des métriques, des paramètres et des artefacts à partir d’exécutions enfants vers des exécutions parentes.
- La journalisation des modèles avec MLflow montre comment utiliser le concept de modèles au lieu d’artefacts avec MLflow. L’exemple illustre également comment construire des modèles personnalisés.
- La gestion des exécutions et des expériences avec MLflow montre comment utiliser MLflow pour interroger des expériences, des exécutions, des métriques, des paramètres et des artefacts à partir d’Azure Machine Learning.
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
- Déployer MLflow sur des points de terminaison en ligne montre comment déployer des modèles MLflow sur des points de terminaison en ligne à l’aide du Kit de développement logiciel (SDK) MLflow.
- Le déploiement progressif des déploiements MLflow montre comment déployer des modèles MLflow sur des points de terminaison en ligne à l’aide du Kit de développement logiciel (SDK) MLflow avec déploiement progressif du modèle. L’exemple montre également comment déployer plusieurs versions d’un modèle sur le même point de terminaison.
- Déployer des modèles MLflow sur des services web hérités montre comment déployer des modèles MLflow sur des services web hérités (Azure Container Instances ou Azure Kubernetes Service v1) à l’aide du Kit de développement logiciel (SDK) MLflow.
- Entraîner des modèles dans Azure Databricks et les déployer sur Azure Machine Learning montre comment entraîner des modèles dans Azure Databricks et les déployer dans Azure Machine Learning. Cet exemple aborde également les expériences de suivi avec l’instance MLflow dans Azure Databricks.
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
- Former avec des projets MLflow sur un système informatique local
- S'entraîner avec des projets MLflow avec les ressources de calcul Azure Machine Learning
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.