Évaluer, déployer et tester un modèle de base optimisé

Effectué

Une fois que vous avez optimisé un modèle de base provenant du catalogue de modèles dans Azure Machine Learning, vous pouvez évaluer le modèle et le déployer pour le tester et le consommer facilement.

Évaluer votre modèle optimisé

Pour déterminer si votre modèle optimisé fonctionne comme prévu, vous pouvez passer en revue les métriques d’entraînement et d’évaluation.

Quand vous soumettez un modèle à optimiser, Azure Machine Learning crée un travail de pipeline dans une expérience. Le travail de pipeline inclut un composant qui représente l’optimisation du modèle. Vous pouvez analyser les journaux, les métriques et les sorties du travail en sélectionnant le travail de pipeline terminé, puis explorer plus avant en sélectionnant le composant d’optimisation spécifique.

Screenshot of metrics of the completed pipeline job that fine-tuned a foundation model.

Conseil

Dans Azure Machine Learning, les métriques de modèle sont suivies avec MLflow. Si vous voulez accéder aux métriques et les passer en revue par programmation, vous pouvez utiliser MLflow dans un notebook Jupyter.

Déployer votre modèle ajusté

Pour tester et consommer votre modèle optimisé, vous pouvez déployer le modèle sur un point de terminaison.

Un point de terminaison dans Azure Machine Learning est une interface de programmation d’application (une API, pour Application Programming Interface) qui expose le modèle entraîné ou optimisé, ce qui permet aux utilisateurs ou aux applications d’effectuer des prédictions basées sur de nouvelles données.

Il existe deux types de points de terminaison dans Azure Machine Learning :

  • Points de terminaison Temps réel : conçus pour gérer les prédictions immédiates ou à la volée.
  • Points de terminaison Par lot : optimisés pour gérer un grand volume de données en une fois.

Comme les points de terminaison temps réel vous permettent d’obtenir des prédictions immédiates, ces points de terminaison sont également idéaux pour tester les prédictions d’un modèle.

Inscrire votre modèle en utilisant Azure Machine Learning studio

Pour déployer votre modèle optimisé en utilisant Azure Machine Learning studio, vous pouvez utiliser la sortie du travail d’optimisation.

Azure Machine Learning utilise MLflow pour faire le suivi des travaux, des métriques de journalisation et des fichiers de modèle. Comme MLflow est intégré à Azure Machine Learning studio, vous pouvez déployer un modèle depuis un travail avec un minimum d’effort.

Tout d’abord, vous devez inscrire le modèle provenant de la sortie du travail. Accédez à la vue d’ensemble du travail et recherchez l’option + Inscrire le modèle.

Screenshot of pipeline job overview with register model feature.

Le type de modèle inscrit est MLflow, et Azure Machine Learning remplit automatiquement le dossier contenant les fichiers de modèle. Vous devez spécifier un nom pour le modèle inscrit et éventuellement une version.

Déployer votre modèle en utilisant Azure Machine Learning studio

Une fois le modèle inscrit dans l’espace de travail Azure Machine Learning, vous pouvez accéder à la vue d’ensemble du modèle et le déployer sur un point de terminaison temps réel ou par lot.

Screenshot of the deployment options from a registered model.

Par exemple, vous pouvez déployer votre modèle sur un point de terminaison temps réel en fournissant :

Screenshot of the endpoint creation from a registered model.

  • Machine virtuelle : calcul utilisé par le point de terminaison.
  • Nombre d’instances : nombre d’instances à utiliser pour le déploiement.
  • Point de terminaison : déployer votre modèle sur un point de terminaison nouveau ou existant.
  • Nom du point de terminaison : utilisé pour générer l’URL du point de terminaison.
  • Nom du déploiement : nom du modèle déployé sur le point de terminaison.

Notes

Vous pouvez déployer plusieurs modèles sur le même point de terminaison. La création du point de terminaison et le déploiement d’un modèle sur un point de terminaison vont prendre un certain temps. Attendez que le point de terminaison et le déploiement soient prêts avant d’essayer de tester ou de consommer le modèle déployé.

Tester le modèle dans Azure Machine Learning studio

Quand votre modèle est déployé sur un point de terminaison temps réel, vous pouvez tester rapidement le modèle dans Azure Machine Learning studio.

Accédez au point de terminaison et explorez l’onglet Tester.

Screenshot of the test pane of a deployed model.

Comme le point de terminaison temps réel fonctionne comme une API, il attend les données d’entrée au format JSON. Un exemple de sortie attendue est fourni dans l’onglet Tester :

{
  "input_data": {
    "columns": [
      "input_string"
    ],
    "index": [],
    "data": []
  }
}

Le format des données de test doit être similaire à celui des données d’entraînement, en excluant la colonne des étiquettes. Par exemple, quand vous voulez tester un modèle optimisé pour la classification de texte, vous devez fournir une seule colonne au point de terminaison- la phrase à classifier :

{
  "input_data": {
    "columns": [
      "input_string"
    ],
    "index": [0, 1],
    "data": [["This would be the first sentence you want to classify."], ["This would be the second sentence you want to classify."]]
  }
}

Vous pouvez entrer des données de test dans le studio, puis sélectionner Tester pour envoyer les données au point de terminaison. Le résultat s’affiche sous Résultat du test presque immédiatement.

Conseil

Si vous ne trouvez pas la réponse attendue sous Résultat du test, la cause la plus probable est que le format des données d’entrée est incorrect. Le script de scoring est généré automatiquement pour vous lors du déploiement d’un modèle MLflow, ce qui signifie que le format des données d’entrée doit être similaire à celui des données d’entraînement (à l’exception de la colonne des étiquettes).