Déployer un modèle sur un point de terminaison de lot

Dans de nombreux scénarios, l’inférence est effectuée en tant que traitement par lots qui utilise un modèle prédictif pour évaluer un grand nombre de cas. Pour implémenter ce type de solution d’inférence dans Azure Machine Learning, vous pouvez créer un point de terminaison de lot.

Dans cet exercice, vous allez déployer un modèle MLflow sur un point de terminaison de lot et le tester sur un échantillon de données en soumettant un travail.

Avant de commencer

Vous avez besoin d’un abonnement Azure dans lequel vous avez un accès administratif.

Provisionner un espace de travail Azure Machine Learning

Un espace de travail Azure Machine Learning offre un emplacement central pour gérer toutes les ressources et tous les éléments dont vous avez besoin pour entraîner et gérer vos modèles. Vous pouvez interagir avec l’espace de travail Azure Machine Learning via le studio, le SDK Python et Azure CLI.

Vous allez utiliser Azure CLI pour provisionner l’espace de travail et le calcul nécessaire, puis utiliser le SDK Python pour exécuter un travail de commande.

Créer l’espace de travail et les ressources de calcul

Pour créer l’espace de travail Azure Machine Learning, une instance de calcul et un cluster de calcul, vous allez utiliser Azure CLI. Toutes les commandes nécessaires sont regroupées dans un script Shell que vous pouvez exécuter.

  1. Dans un navigateur, ouvrez le portail Azure sur https://portal.azure.com/ en vous connectant avec votre compte Microsoft.
  2. Sélectionnez le bouton [>_] (Cloud Shell) en haut de la page, à droite de la zone de recherche. Cela a pour effet d’ouvrir un volet de Cloud Shell au bas du portail.
  3. Sélectionnez Bash si vous y êtes invité. Lorsque vous ouvrez Cloud Shell pour la première fois, vous êtes invité à choisir le type d’interpréteur de commandes que vous souhaitez utiliser (Bash ou PowerShell).
  4. Vérifiez que le bon abonnement est spécifié et que l’option Aucun compte de stockage requis est sélectionnée. Sélectionnez Appliquer.
  5. Dans le terminal, entrez les commandes suivantes pour cloner ce dépôt :

     rm -r azure-ml-labs -f
     git clone https://github.com/MicrosoftLearning/mslearn-azure-ml.git azure-ml-labs
    

    Utilisez SHIFT + INSERT pour coller votre code copié dans Cloud Shell.

  6. Une fois que le dépôt a été cloné, entrez les commandes suivantes pour accéder au dossier de ce labo et exécutez le script setup.sh qu’il contient :

     cd azure-ml-labs/Labs/11
     ./setup.sh
    

    Ignorez les messages (d’erreur) indiquant que les extensions n’ont pas été installées.

  7. Attendez que le script se termine, ce qui prend généralement entre 5 et 10 minutes.

Cloner les supports de labo

Une fois que vous avez créé l’espace de travail et les ressources de calcul nécessaires, vous pouvez ouvrir le studio Azure Machine Learning et cloner les supports de labo dans l’espace de travail.

  1. Dans le portail Azure, accédez à l’espace de travail Azure Machine Learning appelé mlw-dp100-….
  2. Sélectionnez l’espace de travail Azure Machine Learning et, dans sa page Vue d’ensemble, sélectionnez Lancer le studio. Un autre onglet s’ouvre dans votre navigateur pour ouvrir le studio Azure Machine Learning.
  3. Fermez les fenêtres contextuelles qui s’affichent dans le studio.
  4. Dans le studio Azure Machine Learning, accédez à la page Calcul et vérifiez que l’instance de calcul et le cluster que vous avez créés dans la section précédente existent. L’instance de calcul doit être en cours d’exécution, le cluster doit être inactif et avoir 0 nœud en cours d’exécution.
  5. Sous l’onglet Instances de calcul, recherchez votre instance de calcul et sélectionnez l’application Terminal.
  6. Dans le terminal, installez le SDK Python sur l’instance de calcul en exécutant les commandes suivantes :

    
     pip uninstall azure-ai-ml
     pip install azure-ai-ml
    

    Ignorez les messages (d’erreur) indiquant que les packages n’ont pas pu être trouvés et désinstallés.

  7. Exécutez la commande suivante pour cloner un dépôt Git contenant un notebook, des données et autres fichiers dans votre espace de travail :

     git clone https://github.com/MicrosoftLearning/mslearn-azure-ml.git azure-ml-labs
    
  8. Une fois la commande exécutée, dans le volet Fichiers, cliquez sur pour actualiser l’affichage et vérifier qu’un nouveau dossier Users/votre-nom-utilisateur/azure-ml-labs a été créé.

Déployer un modèle sur un point de terminaison de lot

Le code pour créer le point de terminaison et déployer un modèle MLflow avec le SDK Python est fourni dans un notebook.

  1. Ouvrez le notebook Labs/11/Deploy to batch endpoint.ipynb.

    Sélectionnez S’authentifier et suivez les étapes nécessaires si une notification apparaît et vous invite à vous authentifier.

  2. Vérifiez que le notebook utilise le noyau Python 3.8 - AzureML.
  3. Exécutez toutes les cellules dans le notebook.

Supprimer les ressources Azure

Une fois que vous avez fini d’explorer Azure Machine Learning, vous devriez supprimer les ressources que vous avez créées afin d’éviter des coûts Azure superflus.

  1. Fermez l’onglet du studio Azure Machine Learning et revenez au portail Azure.
  2. Dans le portail Azure, dans la page Accueil, sélectionnez Groupes de ressources.
  3. Sélectionnez le groupe de ressources rg-dp100-….
  4. Au sommet de la page Vue d’ensemble de votre groupe de ressources, sélectionnez Supprimer le groupe de ressources.
  5. Entrez le nom du groupe de ressources pour confirmer que vous souhaitez le supprimer, puis sélectionnez Supprimer.