Partager via


Ressources d’entraînement Azure Model Builder

Voici un guide pour vous aider à en apprendre plus sur les ressources utilisées pour entraîner des modèles dans Azure avec Model Builder.

Qu’est-ce qu’une expérience Azure Machine Learning ?

Une expérience Azure Machine Learning est une ressource qui doit être créée avant d’exécuter l’entraînement Model Builder sur Azure.

L’expérience encapsule la configuration et les résultats d’une ou plusieurs exécutions d’entraînement Machine Learning. Les expériences appartiennent à un espace de travail spécifique. La première fois qu’une expérience est créée, son nom est inscrit dans l’espace de travail. Si le même nom d’expérience est utilisé, toutes les exécutions suivantes sont enregistrées dans le cadre de la même expérience. Sinon, une nouvelle expérience est créée.

Qu’est-ce qu’un espace de travail Azure Machine Learning ?

Un espace de travail est une ressource Azure Machine Learning qui fournit un emplacement central pour l’ensemble des ressources et artefacts Azure Machine Learning créés dans le cadre de l’exécution d’entraînement.

Pour créer un espace de travail Azure Machine Learning, les éléments suivants sont requis :

  • Nom : nom de votre espace de travail, compris entre 3 et 33 caractères. Les noms ne peuvent contenir que des caractères alphanumériques et des traits d’union.
  • Région : emplacement géographique du centre de données dans lequel votre espace de travail et vos ressources sont déployés. Il est recommandé de choisir un emplacement proche de l’endroit où vous ou vos clients vous trouvez.
  • Groupe de ressources : conteneur qui contient toutes les ressources associées pour une solution Azure.

Qu’est-ce qu’un calcul Azure Machine Learning ?

Un calcul Azure Machine Learning est une machine virtuelle Linux basée sur le cloud utilisée pour l’entraînement.

Pour créer un calcul Azure Machine Learning, les éléments suivants sont requis :

  • Nom : nom de votre calcul, compris entre 2 et 16 caractères. Les noms ne peuvent contenir que des caractères alphanumériques et des traits d’union.

  • Taille de calcul

    Model Builder peut utiliser l’un des types de calcul optimisés pour GPU suivants :

    Taille Processeurs virtuels Mémoire : Gio Stockage temporaire (SSD) en Gio GPU Mémoire GPU : Gio Disques de données max. Nombre max de cartes réseau
    Standard_NC12 12 112 680 2 24 48 2
    Standard_NC24 24 224 1440 4 48 64 4

    Pour plus d’informations sur les types de calcul optimisés pour les GPU, consultez la documentation sur les machines virtuelles Linux de la série NC.

  • Priorité de calcul

    • Priorité faible : convient aux tâches dont les temps d’exécution sont plus courts. Peut être affecté par les interruptions et le manque de disponibilité. En général, ce type coûte moins cher, car il tire parti de la capacité excédentaire dans Azure.
    • Dédié : convient pour les tâches de toute durée, mais surtout pour les travaux de longue durée. Non affecté par les interruptions ou le manque de disponibilité. Généralement, ce type coûte plus cher, car il réserve un ensemble dédié de ressources de calcul dans Azure pour vos tâches.

Entrainement

L’entraînement sur Azure est disponible uniquement pour le scénario de classification d’images Model Builder. L’algorithme utilisé pour entraîner ces modèles est un réseau neuronal profond basé sur l’architecture ResNet50. Le processus d’entraînement prend un certain temps et la durée peut varier en fonction de la taille de calcul sélectionnée ainsi que de la quantité de données. Vous pouvez suivre la progression de vos exécutions en sélectionnant le lien « Surveiller l’exécution actuelle dans le Portail Azure » dans Visual Studio.

Résultats

Une fois la formation terminée, deux projets sont ajoutés à votre solution avec les suffixes suivants :

  • ConsoleApp : application console C# qui fournit du code de démarrage pour générer le pipeline de prédiction et effectuer des prédictions.

  • Modèle : application .NET Standard C# qui contient les modèles de données qui définissent le schéma des données du modèle d’entrée et de sortie, ainsi que les ressources suivantes :

    • bestModel.onnx : version sérialisée du modèle au format Open Neural Network Exchange (ONNX). ONNX est un format open source pour les modèles IA qui prend en charge l’interopérabilité entre des frameworks comme ML.NET, PyTorch et TensorFlow.
    • bestModelMap.json : liste des catégories utilisées lors de la réalisation de prédictions pour mapper la sortie du modèle à une catégorie de texte.
    • MLModel.zip : version sérialisée du pipeline de prédiction ML.NET qui utilise la version sérialisée du modèle bestModel.onnx pour effectuer des prédictions et mappe les sorties à l’aide du fichier bestModelMap.json.

Utiliser le modèle Machine Learning

Les classes ModelInput et ModelOutput dans le projet Model définissent respectivement le schéma des entrées et sorties attendues du modèle.

Dans un scénario de classification d’images, ModelInput contient deux colonnes :

  • ImageSource : chemin au format chaîne de l’emplacement de l’image.
  • Label : catégorie réelle à laquelle l’image appartient. Label est utilisé uniquement comme entrée lors de la formation et n’a pas besoin d’être fourni lors de la réalisation de prédictions.

ModelOutput contient deux colonnes :

  • Prediction : catégorie prédite de l’image.
  • Score : liste de probabilités pour toutes les catégories (la plus élevée appartient à Prediction).

Résolution des problèmes

Impossible de créer un calcul

Si une erreur se produit lors de la création du calcul Azure Machine Learning, la ressource de calcul peut toujours exister, dans un état d’erreur. Si vous essayez de recréer une ressource de calcul portant le même nom, l’opération échoue. Pour corriger cette erreur, vous avez le choix entre plusieurs possibilités :

  • Créer le nouveau calcul avec un autre nom
  • Accédez au Portail Azure et supprimez la ressource de calcul d’origine