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 exécution. 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.

En savoir plus sur la façon de soumettre une exécution de formation à une cible 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 Prise en charge FPGA 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.
Azure Machine Learning Kubernetes Inférence en temps réel

Inférence par lots
Oui N/A Exécuter des charges de travail d’inférence sur des clusters Kubernetes locaux, cloud et de périphérie.
Azure Container Instances 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.
Clusters de calcul Azure Machine Learning Inférence par lots Oui (pipeline d’apprentissage automatique)   Exécutez le scoring par lots sur un calcul sans serveur. Prend en charge des machines virtuelles normales et basse priorité. Aucune prise en charge de l’inférence en temps réel.

Notes

Même si des cibles de calcul telles que des cibles locales ainsi que des instances et clusters prennent en charge de GPU pour la formation et l’expérimentation, l’utilisation d’un GPU pour l’inférence lors d’un déploiement en tant que service web est prise en charge uniquement sur Azure Machine Learning Kubernetes.

L’utilisation d’un GPU pour l’inférence lors du scoring avec un pipeline d’apprentissage automatique est prise en charge uniquement sur un calcul Azure Machine Learning.

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

  • Des instances de conteneur conviennent uniquement pour des modèles d’une taille 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 exécution
Gestion des clusters et planification automatiques des travaux
Prise en charge des ressources UC et GPU

Notes

Quand un cluster de calcul est inactif, il adapte son échelle automatiquement à zéro nœud, ce qui vous évite de payer quand il n’est pas utilisé. Une instance de calcul est toujours activée et n’adapte pas son échelle automatiquement. Vous devez arrêter l’instance de calcul quand vous ne l’utilisez pas pour éviter des frais supplémentaires.

Tailles et séries de machine virtuelle prises en charge

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 sont restreintes. Pour utiliser une série restreinte, contactez le support technique et demandez une augmentation du quota pour la série. Notez que pour les GPU et les références SKU spécialisées, vous devrez toujours demander un quota en raison de la demande élevée et de l’offre limitée. Pour plus d’informations sur la manière de contacter le support, consultez Options de support Azure.

Pour en savoir plus sur les séries prises en charge et les restrictions, 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 :

  • Votre ordinateur local
  • Machines virtuelles distantes
  • Azure HDInsight
  • Azure Batch
  • Azure Databricks
  • Service Analytique Azure Data Lake
  • Azure Container Instance
  • Kubernetes

Pour plus d’informations, consultez Configurer des cibles de calcul pour le déploiement et la formation de modèles.

Étapes suivantes

Découvrez comment :