Qu’est-ce qu’une cible de calcul dans Azure Machine Learning ?

Une cible de calcul est un environnement ou une ressource de calcul où vous exécutez votre script d’entraînement ou hébergez votre déploiement de service. Cet emplacement peut être votre machine locale ou une ressource de calcul informatique. Les cibles de calcul facilitent la modification de votre environnement de calcul sans modifier votre code.

Dans un cycle de vie de développement de modèle type, vous pouvez effectuer les opérations suivantes :

  1. Commencez par développer et expérimenter une petite quantité de données. À ce stade, utilisez votre environnement local, tel qu’un ordinateur local ou une machine virtuelle informatique, comme cible de calcul.
  2. Effectuez un scale-up vers des données plus volumineuses ou effectuez une formation distribuée à l’aide d’une de ces cibles de calcul de formation.
  3. Une fois que votre modèle est prêt, déployez-le sur un environnement d’hébergement web avec l’une de ces cibles de calcul de déploiement.

Les ressources de calcul utilisées pour vos cibles de calcul sont associées à un espace de travail. Les cibles de calcul autres que l’ordinateur local sont partagées par les utilisateurs de l’espace de travail.

Cibles de calcul d’entraînement

La prise en charge d’Azure Machine Learning varie selon les cibles de calcul. Un cycle de vie typique du développement d’un modèle commence par le déploiement ou l’expérimentation sur une petite quantité de données. À ce stade, utilisez un environnement local tel que votre ordinateur local ou une machine virtuelle informatique. Quand vous effectuez un scale-up de votre formation sur des jeux de données plus volumineux ou que vous effectuez une formation distribuée, utilisez la capacité de calcul Azure Machine Learning pour créer un cluster avec un ou plusieurs nœuds qui se met à l’échelle automatiquement chaque fois que vous lancez une tâche. Vous pouvez également attacher votre propre ressource de calcul, bien que la prise en charge de différents scénarios puisse varier.

Les cibles de calcul peuvent être réutilisées d’un travail de formation à l’autre. Par exemple, une fois que vous avez joint une machine virtuelle distante à votre espace de travail, vous pouvez la réutiliser pour plusieurs travaux. Pour les pipelines de Machine Learning, utilisez l’étape de pipeline appropriée pour chaque cible de calcul.

Vous pouvez utiliser n’importe laquelle des ressources suivantes pour une cible de calcul de formation pour la plupart des travaux. Certaines ressources ne peuvent pas être utilisées pour l’apprentissage automatique automatisé, des pipelines d’apprentissage automatique ou un concepteur. Azure Databricks peut être utilisé comme ressource de formation pour les exécutions locales et les pipelines d’apprentissage automatique, mais pas comme cible distante pour d’autres formations.

Cibles de formation Machine learning automatisé Pipelines d’apprentissage automatique Concepteur Azure Machine Learning
Ordinateur local Oui    
Cluster de calcul Azure Machine Learning Oui Oui Oui
Instance de calcul Azure Machine Learning Oui (via un Kit de développement logiciel (SDK)) Oui Oui
Azure Machine Learning Kubernetes Oui Oui Oui
Machine virtuelle distante Oui Oui  
Pools Apache Spark (préversion) Oui (Kit de développement logiciel (SDK) en mode local uniquement) Oui  
Azure Databricks Oui (Kit de développement logiciel (SDK) en mode local uniquement) Oui  
Service Analytique Azure Data Lake   Oui  
Azure HDInsight   Oui  
Azure Batch   Oui  

Conseil

L’instance de calcul a un disque de système d’exploitation de 120 Go. Si vous ne disposez pas de suffisamment d’espace disque, utilisez le terminal pour effacer au moins 1-2 Go avant d’arrêter ou redémarrer l’instance de calcul.

Cibles de calcul pour l’inférence

Pour effectuer l’inférence, Azure Machine Learning crée un conteneur Docker qui héberge le modèle et les ressources associées nécessaires pour l’utiliser. Ce conteneur est ensuite utilisé dans une cible de calcul.

La cible de calcul que vous utilisez pour héberger votre modèle aura une incidence sur le coût et la disponibilité de votre point de terminaison déployé. Utilisez ce tableau pour choisir une cible de calcul appropriée.

Cible de calcul Utilisé pour Prise en charge GPU Description
Service web local Test/débogage   Pour les tests et la résolution des problèmes limités. L’accélération matérielle dépend de l’utilisation de bibliothèques dans le système local.
Points de terminaison Azure Machine Learning Inférence en temps réel

Inférence par lots
Oui Calculs complètement managés pour le scoring en temps réel (points de terminaison en ligne managés) et par lots (points de terminaison de lot) sur le calcul serverless.
Azure Machine Learning Kubernetes Inférence en temps réel

Inférence par lots
Oui Exécuter des charges de travail d’inférence sur des clusters Kubernetes locaux, cloud et de périphérie.
Azure Container Instances (SDK/CLI v1 uniquement) Inférence en temps réel

Recommandé à des fins de développement et de test uniquement.
  Pour les charges de travail à faible échelle basées sur le processeur qui nécessitent moins de 48 Go de RAM. Ne vous oblige pas à gérer un cluster.

Pris en charge dans le concepteur.

Notes

Lors du choix d’une référence (SKU) de cluster, effectuez un scale-up, puis un scale-out. Commencez avec une machine disposant de 150 % de la RAM dont votre modèle a besoin, profilez le résultat et recherchez une machine présentant le niveau de performance dont vous avez besoin. Une fois celle-ci trouvée, augmentez le nombre de machine en fonction de vos besoins en matière d’inférence simultanée.

Notes

Les instances de conteneur nécessitent le kit de développement logiciel (SDK) ou l’interface CLI v1, et sont adaptées uniquement aux petits modèles dont la taille est inférieure à 1 Go.

Découvrez où et comment déployer votre modèle sur une cible de calcul.

Calcul Azure Machine Learning (managé)

Une ressource de calcul managée est créée et managée par Azure Machine Learning. Ce calcul est optimisé pour les charges de travail Machine Learning. Les clusters de calcul Azure Machine Learning et les instances de calcul sont les seuls calculs managés.

Vous pouvez créer des instances de calcul Azure Machine Learning ou des clusters de calcul depuis :

Une fois créées, ces ressources de calcul font automatiquement partie de votre espace de travail, contrairement à d’autres types de cibles de calcul.

Fonctionnalité Cluster de calcul Instance de calcul
Cluster unique ou à plusieurs nœuds Cluster mononœud
Mises à l’échelle automatique chaque fois que vous envoyez une tâche
Gestion des clusters et planification automatiques des travaux
Prise en charge des ressources UC et GPU

Notes

Pour éviter des frais lorsque le calcul est inactif :

Tailles et séries de machine virtuelle prises en charge

Notes

La série de machines virtuelles de série H sera retirée le 31 août 2022. Créez une instance de calcul et des clusters de calcul avec d’autres tailles de machine virtuelle. Les instances de calcul et les clusters existants avec des machines virtuelles de série H ne fonctionneront pas après le 31 août 2022.

Lorsque vous sélectionnez une taille de nœud pour une ressource de calcul managée dans Azure Machine Learning, vous pouvez choisir parmi les tailles de machines virtuelles disponibles dans Azure. Azure propose une gamme de tailles de machines virtuelles Windows et Linux pour différentes charges de travail. Pour plus d’informations, consultez Types et tailles des machines virtuelles.

Quelques exceptions et limites s’appliquent quant au choix d’une taille de machine virtuelle :

  • Certaines séries de machines virtuelles ne sont pas prises en charge dans Azure Machine Learning.
  • Certaines séries de machines virtuelles, comme celles avec GPU et d’autres références SKU spéciales, peuvent ne pas apparaître initialement dans votre liste de machines virtuelles disponibles. Mais vous pouvez toujours les utiliser une fois que vous demandez une modification de quota. Pour plus d’informations sur les demandes de quotas, consultez Demander des augmentations de quota. Pour en savoir plus sur les séries prises en charge, consultez le tableau suivant.
Série de machines virtuelles prises en charge Catégorie Pris en charge par
DDSv4 Usage général Clusters et instance de calcul
Dv2 Usage général Clusters et instance de calcul
Dv3 Usage général Clusters et instance de calcul
DSv2 Usage général Clusters et instance de calcul
DSv3 Usage général Clusters et instance de calcul
EAv4 Mémoire optimisée Clusters et instance de calcul
Ev3 Mémoire optimisée Clusters et instance de calcul
ESv3 Mémoire optimisée Clusters et instance de calcul
FSv2 Optimisé pour le calcul Clusters et instance de calcul
FX Optimisé pour le calcul Clusters de calcul
H Calcul haute performance Clusters et instance de calcul
HB Calcul haute performance Clusters et instance de calcul
HBv2 Calcul haute performance Clusters et instance de calcul
HBv3 Calcul haute performance Clusters et instance de calcul
HC Calcul haute performance Clusters et instance de calcul
LSv2 Optimisé pour le stockage Clusters et instance de calcul
M Mémoire optimisée Clusters et instance de calcul
NC GPU Clusters et instance de calcul
NC Promo GPU Clusters et instance de calcul
NCv2 GPU Clusters et instance de calcul
NCv3 GPU Clusters et instance de calcul
ND GPU Clusters et instance de calcul
NDv2 GPU Clusters et instance de calcul
NV GPU Clusters et instance de calcul
NVv3 GPU Clusters et instance de calcul
NCasT4_v3 GPU Clusters et instance de calcul
NDasrA100_v4 GPU Clusters et instance de calcul

Même si Azure Machine Learning prend en charge ces séries de machines virtuelles, elles peuvent ne pas être disponibles dans toutes les régions Azure. Pour vérifier si les séries de machines virtuelles sont disponibles, consultez Disponibilité des produits par région.

Notes

Azure Machine Learning ne prend pas en charge toutes les tailles de machines virtuelles prises en charge par Azure Compute. Pour lister les tailles de machine virtuelle disponibles, utilisez l’une des méthodes suivantes :

Si vous utilisez les cibles de calcul avec GPU, il est important de s’assurer que les pilotes CUDA corrects sont installés dans l’environnement d’apprentissage. Pour déterminer la version de CUDA correcte à utiliser, reportez-vous au tableau suivant :

Architecture GPU Séries de machines virtuelles Azure Versions de CUDA prises en charge
Ampere NDA100_v4 11.0+
Turing NCT4_v3 10.0+
Volta NCv3, NDv2 9.0+
Pascal NCv2, ND 9.0+
Maxwell NV, NVv3 9.0+
Kepler NC, NC Promo 9.0+

En plus de vérifier la compatibilité des versions de CUDA avec le matériel, assurez-vous que la version de CUDA est compatible avec la version de l’infrastructure d’apprentissage automatique que vous utilisez :

Isolation du calcul

Le calcul Azure Machine Learning offre des tailles de machines virtuelles qui sont isolées dans un type de matériel spécifique et qui sont dédiées à un client unique. Les tailles de machines virtuelles isolées sont les mieux adaptées aux charges de travail qui nécessitent un niveau élevé d’isolement par rapport aux charges de travail des autres clients pour des raisons de conformité et d’exigences réglementaires, entre autres. L’utilisation d’une taille isolée garantit que votre machine virtuelle sera la seule en cours d’exécution sur cette instance de serveur spécifique.

Les offres actuelles de machines virtuelles isolées sont les suivantes :

  • Standard_M128ms
  • Standard_F72s_v2
  • Standard_NC24s_v3
  • Standard_NC24rs_v3*

*Prenant en charge RDMA

Pour en savoir plus sur l’isolement, consultez Isolation dans le cloud public Azure.

Calcul non managé

Une cible de calcul non managée n’est pas managée par Azure Machine Learning. Vous créez ce type de cible de calcul en dehors d’Azure Machine Learning, puis l’attachez à votre espace de travail. Il se peut que des étapes supplémentaires soient requises pour ces ressources de calcul non managées afin de maintenir ou d’améliorer les performances des charges de travail Machine Learning.

Azure Machine Learning prend en charge les types de calcul non managés suivants :

  • Machines virtuelles distantes

  • Azure HDInsight

  • Azure Databricks

  • Service Analytique Azure Data Lake

  • Pool Spark Azure Synapse (préversion)

    Conseil

    Actuellement, ceci nécessite le SDK Azure Machine Learning v1.

  • Kubernetes

Pour plus d’informations, consultez Gérer les ressources de calcul.

Étapes suivantes

Découvrez comment :