Ressources de formation Azure Model Builder
Voici un guide qui vous aide à en savoir 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 la formation 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. Toutes les exécutions suivantes , si le même nom d’expérience est utilisé, sont journalisé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 toutes les 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 êtes.
- 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 valeurs suivantes sont requises :
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 processeur virtuel Mémoire : Gio Gio de stockage temporaire (SSD) GPU Mémoire GPU : Gio Nombre maximal de disques de données Cartes réseau maximales 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 GPU, consultez la documentation sur les machines virtuelles Linux de la série NC
. Priorité de calcul.
- Faible priorité : adapté aux tâches avec des temps d’exécution plus courts. Les tâches peuvent être affectées par des interruptions et un manque de disponibilité. Cette option coûte généralement moins cher, car elle tire parti de la capacité excédentaire dans Azure.
- Dédié : adapté aux tâches de toute durée, mais surtout aux travaux de longue durée. Les tâches ne sont pas affectées par des interruptions ou un manque de disponibilité. Cette option coûte généralement plus cher, car elle réserve un ensemble dédié de ressources de calcul dans Azure pour vos tâches.
Formation
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’apprentissage prend un certain temps et la durée peut varier en fonction de la taille du 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 l’entraînement terminé, 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 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 ONNX (Open Neural Network Exchange). ONNX est un format open source pour les modèles IA qui prend en charge l’interopérabilité entre les frameworks tels que ML.NET, PyTorch et TensorFlow.
- bestModelMap.json: liste de catégories utilisées lors 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 de l’entrée et de la sortie attendues du modèle.
Dans un scénario de classification d’images, le ModelInput
contient deux colonnes :
-
ImageSource
: chemin de chaîne de l’emplacement de l’image. -
Label
: catégorie réelle à laquelle appartient l’image.Label
est utilisé uniquement comme entrée lors de l’entraînement et n’a pas besoin d’être fourni lors de la réalisation de prédictions.
Le ModelOutput
contient deux colonnes :
-
Prediction
: catégorie prédite de l’image. -
Score
: liste des probabilités pour toutes les catégories (le plus élevé appartient à laPrediction
).
Dépannage
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 la ressource de calcul avec le même nom, l’opération échoue. Pour corriger cette erreur, procédez comme suit :
- Créer le nouveau calcul avec un autre nom
- Accédez au portail Azure et supprimez la ressource de calcul d’origine.