Entraînez-vous avec r MLflow Projects dans Azure Machine Learning (préversion)

Dans cet article, découvrez comment envoyer des travaux d’entraînement MLflow Projects qui utilisant les espaces de travail Azure Machine Learning pour le suivi. Vous pouvez envoyer des travaux et les suivre uniquement avec Azure Machine Learning ou migrer vos exécutions vers le cloud pour qu’elles s’exécutent complètement sur le Calcul Azure Machine Learning.

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.

Grâce à MLflow Projects, vous pouvez organiser et décrire votre code pour que d’autres scientifiques de données (ou des outils automatisés) puissent l’exécuter. MLflow Projects avec Azure Machine Learning vous permet de suivre et de gérer vos exécutions d’entraînement dans votre espace de travail.

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.

Découvrez plus en détail l’intégration de MLflow et d’Azure Machine Learning.

Prérequis

  • Installer le package mlflow du SDK MLflow et le plug-in Azure Machine Learning pour MLflow azureml-mlflow.

    pip install mlflow azureml-mlflow
    

    Conseil

    Vous pouvez utiliser le package mlflow-skinny qui est un package MLflow léger sans dépendances de stockage SQL, de serveur, d’interface utilisateur ou de science des données. mlflow-skinny est recommandé pour les utilisateurs qui ont principalement besoin des fonctionnalités de suivi et de journalisation de MLflow, sans importer la suite complète de fonctionnalités, notamment les déploiements.

  • Un espace de travail Azure Machine Learning. Vous pouvez en créer un en suivant le tutoriel : Créer des ressources de Machine Learning.

  • Si vous effectuez un suivi à distance (autrement dit, des expériences de suivi qui s’exécutent en dehors d’Azure Machine Learning), configurez MLflow pour qu’il pointe vers l’URI de suivi de votre espace de travail Azure Machine Learning. Pour plus d’informations sur la connexion de MLflow à votre espace de travail, consultez Configurer MLflow pour Azure Machine Learning.

  • L’utilisation d’Azure Machine Learning comme back-end pour les projets MLflow nécessite le package azureml-core :

    pip install azureml-core
    

Se connecter à un espace de travail

Si vous travaillez en dehors d’Azure Machine Learning, vous devez configurer MLflow pour qu’il pointe vers l’URI de suivi de votre espace de travail Azure Machine Learning. Vous trouverez les instructions dans Configurer MLflow pour Azure Machine Learning.

Suivre les projets MLflow dans les espaces de travail Azure Machine Learning

Cet exemple montre comment soumettre des projets MLflow et les suivre dans Azure Machine Learning.

  1. Ajoutez le package azureml-mlflow en tant que dépendance PIP à votre fichier de configuration d’environnement afin d’effectuer le suivi des métriques et des artefacts principaux dans votre espace de travail.

    conda.yaml

    name: mlflow-example
    channels:
      - defaults
    dependencies:
      - numpy>=1.14.3
      - pandas>=1.0.0
      - scikit-learn
      - pip:
        - mlflow
        - azureml-mlflow
    
  2. Soumettez l’exécution locale et veillez à définir le paramètre backend = "azureml", qui ajoute la prise en charge du suivi automatique, de la capture du modèle, des fichiers journaux, des instantanés et des erreurs imprimées dans votre espace de travail. Dans cet exemple, nous supposons que le projet MLflow que vous essayez d’exécuter se trouve dans le même dossier que celui dans lequel vous êtes actuellement, uri=".".

    mlflow run . --experiment-name  --backend azureml --env-manager=local -P alpha=0.3
    

    Affichez vos exécutions et métriques dans Azure Machine Learning Studio.

Entraîner des projets MLflow dans des travaux Azure Machine Learning

Cet exemple montre comment envoyer des projets MLflow en tant que travail s’exécutant sur le calcul Azure Machine Learning.

  1. Créez l’objet de configuration de back-end. Dans ce cas, nous allons indiquer COMPUTE. Ce paramètre fait référence au nom de votre cluster de calcul distant que vous souhaitez utiliser pour exécuter votre projet. Si COMPUTE est présent, le projet est automatiquement soumis en tant que travail Azure Machine Learning au calcul indiqué.

    backend_config.json

    {
        "COMPUTE": "cpu-cluster"
    }
    
    
  2. Ajoutez le package azureml-mlflow en tant que dépendance PIP à votre fichier de configuration d’environnement afin d’effectuer le suivi des métriques et des artefacts principaux dans votre espace de travail.

    conda.yaml

    name: mlflow-example
    channels:
      - defaults
    dependencies:
      - numpy>=1.14.3
      - pandas>=1.0.0
      - scikit-learn
      - pip:
        - mlflow
        - azureml-mlflow
    
  3. Soumettez l’exécution locale et veillez à définir le paramètre backend = "azureml", qui ajoute la prise en charge du suivi automatique, de la capture du modèle, des fichiers journaux, des instantanés et des erreurs imprimées dans votre espace de travail. Dans cet exemple, nous supposons que le projet MLflow que vous essayez d’exécuter se trouve dans le même dossier que celui dans lequel vous êtes actuellement, uri=".".

    mlflow run . --backend azureml --backend-config backend_config.json -P alpha=0.3
    

    Notes

    Étant donné que les travaux Azure Machine Learning s’exécutent toujours dans le contexte des environnements, le paramètre env_manager est ignoré.

    Affichez vos exécutions et métriques dans Azure Machine Learning Studio.

Nettoyer les ressources

Si vous ne prévoyez pas d’utiliser les métriques et artefacts enregistrés dans votre espace de travail, la possibilité de les supprimer individuellement est actuellement indisponible. Au lieu de cela, supprimez le groupe de ressources contenant le compte de stockage et l’espace de travail afin d’éviter des frais supplémentaires :

  1. Dans le portail Azure, sélectionnez Groupes de ressources tout à gauche.

    Image showing how to delete an Azure resource group.

  2. À partir de la liste, sélectionnez le groupe de ressources créé.

  3. Sélectionnez Supprimer le groupe de ressources.

  4. Entrez le nom du groupe de ressources. Puis sélectionnez Supprimer.

Exemples de notebooks

Les notebooks MLflow avec Azure Machine Learning illustrent et développent les concepts abordés dans cet article.

Notes

Vous trouverez un référentiel communautaire d’exemples utilisant mlflow sur https://github.com/Azure/azureml-examples.

Étapes suivantes