Qu’est-ce qu’une cible de calcul dans Azure Machine Learning ?What are compute targets in 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.A compute target is a designated compute resource or environment where you run your training script or host your service deployment. Cet emplacement peut être votre machine locale ou une ressource de calcul informatique.This location might be your local machine or a cloud-based compute resource. Les cibles de calcul facilitent la modification de votre environnement de calcul sans modifier votre code.Using compute targets makes it easy for you to later change your compute environment without having to change your code.

Dans un cycle de vie de développement de modèle type, vous pouvez effectuer les opérations suivantes :In a typical model development lifecycle, you might:

  1. Commencez par développer et expérimenter une petite quantité de données.Start by developing and experimenting on a small amount of data. À ce stade, utilisez votre environnement local, tel qu’un ordinateur local ou une machine virtuelle informatique, comme cible de calcul.At this stage, use your local environment, such as a local computer or cloud-based virtual machine (VM), as your compute target.
  2. Passez ensuite à des jeux de données plus volumineux, ou effectuez une formation distribuée à l’aide d’une de ces cibles de calcul d’entraînement.Scale up to larger data, or do distributed training by using one of these training compute targets.
  3. Une fois que votre modèle est prêt, déployez-le sur un environnement d’hébergement web ou un appareil IoT avec l’une de ces cibles de calcul de déploiement.After your model is ready, deploy it to a web hosting environment or IoT device with one of these deployment compute targets.

Les ressources de calcul utilisées pour vos cibles de calcul sont associées à un espace de travail.The compute resources you use for your compute targets are attached to a workspace. Les cibles de calcul autres que l’ordinateur local sont partagées par les utilisateurs de l’espace de travail.Compute resources other than the local machine are shared by users of the workspace.

Cibles de calcul d’entraînementTraining compute targets

La prise en charge d’Azure Machine Learning varie selon les cibles de calcul.Azure Machine Learning has varying support across different compute targets. 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.A typical model development lifecycle starts with development or experimentation on a small amount of data. À ce stade, utilisez un environnement local tel que votre ordinateur local ou une machine virtuelle informatique.At this stage, use a local environment like your local computer or a cloud-based VM. 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.As you scale up your training on larger datasets or perform distributed training, use Azure Machine Learning compute to create a single- or multi-node cluster that autoscales each time you submit a run. Vous pouvez également attacher votre propre ressource de calcul, bien que la prise en charge de différents scénarios puisse varier.You can also attach your own compute resource, although support for different scenarios might vary.

Les cibles de calcul peuvent être réutilisées d’un travail de formation à l’autre.Compute targets can be reused from one training job to the next. Par exemple, une fois que vous avez joint une machine virtuelle distante à votre espace de travail, vous pouvez la réutiliser pour plusieurs travaux.For example, after you attach a remote VM to your workspace, you can reuse it for multiple jobs. Pour les pipelines de Machine Learning, utilisez l’étape de pipeline appropriée pour chaque cible de calcul.For machine learning pipelines, use the appropriate pipeline step for each compute target.

Vous pouvez utiliser n’importe laquelle des ressources suivantes pour une cible de calcul de formation pour la plupart des travaux.You can use any of the following resources for a training compute target for most jobs. Certaines ressources ne peuvent pas être utilisées pour l’apprentissage automatique automatisé, des pipelines d’apprentissage automatique ou un concepteur.Not all resources can be used for automated machine learning, machine learning pipelines, or designer.

 Cibles de formationTraining  targets Machine learning automatiséAutomated machine learning Pipelines d’apprentissage automatiqueMachine learning pipelines Concepteur Azure Machine LearningAzure Machine Learning designer
Ordinateur localLocal computer OuiYes    
Cluster de calcul Azure Machine LearningAzure Machine Learning compute cluster OuiYes OuiYes OuiYes
Instance de calcul Azure Machine LearningAzure Machine Learning compute instance Oui (via un Kit de développement logiciel (SDK))Yes (through SDK) OuiYes
Machine virtuelle distanteRemote VM OuiYes OuiYes  
Azure DatabricksAzure Databricks Oui (Kit de développement logiciel (SDK) en mode local uniquement)Yes (SDK local mode only) OuiYes  
Service Analytique Azure Data LakeAzure Data Lake Analytics   OuiYes  
Azure HDInsightAzure HDInsight   OuiYes  
Azure BatchAzure Batch   OuiYes  

Conseil

L’instance de calcul a un disque de système d’exploitation de 120 Go.The compute instance has 120GB OS disk. 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.If you run out of disk space, use the terminal to clear at least 1-2 GB before you stop or restart the compute instance.

En savoir plus sur la façon de soumettre une exécution de formation à une cible de calcul.Learn more about how to submit a training run to a compute target.

Cibles de calcul pour l’inférenceCompute targets for inference

Les cibles de calcul suivantes peuvent héberger le déploiement de votre modèle.The following compute resources can be used to host your model deployment.

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é.The compute target you use to host your model will affect the cost and availability of your deployed endpoint. Utilisez ce tableau pour choisir une cible de calcul appropriée.Use this table to choose an appropriate compute target.

Cible de calculCompute target Utilisé pourUsed for Prise en charge GPUGPU support Prise en charge FPGAFPGA support DescriptionDescription
Service web localLocal web service Test/débogageTesting/debugging     Pour les tests et la résolution des problèmes limités.Use for limited testing and troubleshooting. L’accélération matérielle dépend de l’utilisation de bibliothèques dans le système local.Hardware acceleration depends on use of libraries in the local system.
Azure Kubernetes Service (AKS)Azure Kubernetes Service (AKS) Inférence en temps réelReal-time inference Oui (déploiement de services web)Yes (web service deployment) OuiYes Pour les déploiements de production à grande échelle.Use for high-scale production deployments. Fournit un temps de réponse et une mise à l’échelle automatique rapides du service déployé.Provides fast response time and autoscaling of the deployed service. La mise à l’échelle automatique du cluster n’est pas prise en charge via le Kit de développement logiciel (SDK) Azure Machine Learning.Cluster autoscaling isn't supported through the Azure Machine Learning SDK. Pour modifier les nœuds du cluster AKS, utilisez l’interface utilisateur de votre cluster AKS dans le portail Azure.To change the nodes in the AKS cluster, use the UI for your AKS cluster in the Azure portal.

Pris en charge dans le concepteur.Supported in the designer.
Azure Container InstancesAzure Container Instances Test ou développementTesting or development     Pour les charges de travail à faible échelle basées sur le processeur qui nécessitent moins de 48 Go de RAM.Use for low-scale CPU-based workloads that require less than 48 GB of RAM.

Pris en charge dans le concepteur.Supported in the designer.
Clusters de calcul Azure Machine LearningAzure Machine Learning compute clusters Inférence BatchBatch inference Oui (pipeline d’apprentissage automatique)Yes (machine learning pipeline)   Exécutez le scoring par lots sur un calcul sans serveur.Run batch scoring on serverless compute. Prend en charge des machines virtuelles normales et basse priorité.Supports normal and low-priority VMs. Aucune prise en charge de l’inférence en temps réel.No support for realtime inference.

Notes

Même si des cibles de calcul telles que des cibles locales ainsi que des instances et clusters de calcul Azure Machine Learning 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 AKS.Although compute targets like local, Azure Machine Learning compute, and Azure Machine Learning compute clusters support GPU for training and experimentation, using GPU for inference when deployed as a web service is supported only on AKS.

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.Using a GPU for inference when scoring with a machine learning pipeline is supported only on Azure Machine Learning compute.

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.When choosing a cluster SKU, first scale up and then scale out. Start with a machine that has 150% of the RAM your model requires, profile the result and find a machine that has the performance you need. Une fois celle-ci trouvée, augmentez le nombre de machine en fonction de vos besoins en matière d’inférence simultanée.Once you've learned that, increase the number of machines to fit your need for concurrent inference.

Notes

  • Des instances de conteneur conviennent uniquement pour des modèles d’une taille inférieure à 1 Go.Container instances are suitable only for small models less than 1 GB in size.
  • Pour le développement et le test de modèles plus volumineux, utilisez des clusters AKS à nœud unique.Use single-node AKS clusters for dev/test of larger models.

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.When performing inference, Azure Machine Learning creates a Docker container that hosts the model and associated resources needed to use it. Ce conteneur est ensuite utilisé dans l’un des scénarios de déploiement suivants :This container is then used in one of the following deployment scenarios:

Découvrez où et comment déployer votre modèle sur une cible de calcul.Learn where and how to deploy your model to a compute target.

Calcul Azure Machine Learning (managé)Azure Machine Learning compute (managed)

Une ressource de calcul managée est créée et managée par Azure Machine Learning.A managed compute resource is created and managed by Azure Machine Learning. Ce calcul est optimisé pour les charges de travail Machine Learning.This compute is optimized for machine learning workloads. Les clusters de calcul Azure Machine Learning et les instances de calcul sont les seuls calculs managés.Azure Machine Learning compute clusters and compute instances are the only managed computes.

Vous pouvez créer des instances de calcul Azure Machine Learning ou des clusters de calcul depuis :You can create Azure Machine Learning compute instances or compute clusters from:

Une fois créées, ces ressources de calcul font automatiquement partie de votre espace de travail, contrairement à d’autres types de cibles de calcul.When created, these compute resources are automatically part of your workspace, unlike other kinds of compute targets.

FonctionnalitéCapability Cluster de calculCompute cluster Instance de calculCompute instance
Cluster unique ou à plusieurs nœudsSingle- or multi-node cluster
Mises à l’échelle automatique chaque fois que vous envoyez une exécutionAutoscales each time you submit a run
Gestion des clusters et planification automatiques des travauxAutomatic cluster management and job scheduling
Prise en charge des ressources UC et GPUSupport for both CPU and GPU resources

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é.When a compute cluster is idle, it autoscales to 0 nodes, so you don't pay when it's not in use. Une instance de calcul est toujours activée et n’adapte pas son échelle automatiquement.A compute instance is always on and doesn't autoscale. Vous devez arrêter l’instance de calcul quand vous ne l’utilisez pas pour éviter des frais supplémentaires.You should stop the compute instance when you aren't using it to avoid extra cost.

Tailles et séries de machine virtuelle prises en chargeSupported VM series and sizes

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.When you select a node size for a managed compute resource in Azure Machine Learning, you can choose from among select VM sizes available in Azure. Azure propose une gamme de tailles de machines virtuelles Windows et Linux pour différentes charges de travail.Azure offers a range of sizes for Linux and Windows for different workloads. Pour plus d’informations, consultez Types et tailles des machines virtuelles.To learn more, see VM types and sizes.

Quelques exceptions et limites s’appliquent quant au choix d’une taille de machine virtuelle :There are a few exceptions and limitations to choosing a VM size:

  • Certaines séries de machines virtuelles ne sont pas prises en charge dans Azure Machine Learning.Some VM series aren't supported in Azure Machine Learning.
  • Certaines séries de machines virtuelles sont restreintes.Some VM series are restricted. Pour utiliser une série restreinte, contactez le support technique et demandez une augmentation du quota pour la série.To use a restricted series, contact support and request a quota increase for the series. Pour plus d’informations sur la manière de contacter le support, consultez Options de support Azure.For information on how to contact support, see Azure support options.

Pour en savoir plus sur les séries prises en charge et les restrictions, consultez le tableau suivant.See the following table to learn more about supported series and restrictions.

Série de machines virtuelles prises en chargeSupported VM series RestrictionsRestrictions CatégorieCategory Pris en charge parSupported by
DD Aucun.None. Usage généralGeneral purpose Clusters et instance de calculCompute clusters and instance
DDSv4DDSv4 Aucun.None. Usage généralGeneral purpose Clusters et instance de calculCompute clusters and instance
Dv2Dv2 Aucun.None. Usage généralGeneral purpose Clusters et instance de calculCompute clusters and instance
Dv3Dv3 Aucun.None. Usage généralGeneral purpose Clusters et instance de calculCompute clusters and instance
DSv2DSv2 Aucun.None. Usage généralGeneral purpose Clusters et instance de calculCompute clusters and instance
DSv3DSv3 Aucun.None. Usage généralGeneral purpose Clusters et instance de calculCompute clusters and instance
EAv4EAv4 Aucun.None. Mémoire optimiséeMemory optimized Clusters et instance de calculCompute clusters and instance
Ev3Ev3 Aucun.None. Mémoire optimiséeMemory optimized Clusters et instance de calculCompute clusters and instance
FSv2FSv2 Aucun.None. Optimisé pour le calculCompute optimized Clusters et instance de calculCompute clusters and instance
HH Aucun.None. Calcul haute performanceHigh performance compute Clusters et instance de calculCompute clusters and instance
HBHB Nécessite une approbation.Requires approval. Calcul haute performanceHigh performance compute Clusters et instance de calculCompute clusters and instance
HBv2HBv2 Nécessite une approbation.Requires approval. Calcul haute performanceHigh performance compute Clusters et instance de calculCompute clusters and instance
Service de calcul hôteHCS Nécessite une approbation.Requires approval. Calcul haute performanceHigh performance compute Clusters et instance de calculCompute clusters and instance
MM Nécessite une approbation.Requires approval. Mémoire optimiséeMemory optimized Clusters et instance de calculCompute clusters and instance
NCNC Aucun.None. GPUGPU Clusters et instance de calculCompute clusters and instance
NC PromoNC Promo Aucun.None. GPUGPU Clusters et instance de calculCompute clusters and instance
NCsv2NCsv2 Nécessite une approbation.Requires approval. GPUGPU Clusters et instance de calculCompute clusters and instance
NCsv3NCsv3 Nécessite une approbation.Requires approval. GPUGPU Clusters et instance de calculCompute clusters and instance
NDsNDs Nécessite une approbation.Requires approval. GPUGPU Clusters et instance de calculCompute clusters and instance
NDv2NDv2 Nécessite une approbation.Requires approval. GPUGPU Clusters et instance de calculCompute clusters and instance
NVNV Aucun.None. GPUGPU Clusters et instance de calculCompute clusters and instance
NVv3NVv3 Nécessite une approbation.Requires approval. GPUGPU Clusters et instance de calculCompute clusters and instance

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.While Azure Machine Learning supports these VM series, they might not be available in all Azure regions. Pour vérifier si les séries de machines virtuelles sont disponibles, consultez Disponibilité des produits par région.To check whether VM series are available, see Products available by region.

Notes

Azure Machine Learning ne prend pas en charge toutes les tailles de machines virtuelles prises en charge par Azure Compute.Azure Machine Learning doesn't support all VM sizes that Azure Compute supports. Pour lister les tailles de machine virtuelle disponibles, utilisez l’une des méthodes suivantes :To list the available VM sizes, use one of the following methods:

Isolation du calculCompute isolation

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.Azure Machine Learning compute offers VM sizes that are isolated to a specific hardware type and dedicated to a single customer. 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.Isolated VM sizes are best suited for workloads that require a high degree of isolation from other customers' workloads for reasons that include meeting compliance and regulatory requirements. 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.Utilizing an isolated size guarantees that your VM will be the only one running on that specific server instance.

Les offres actuelles de machines virtuelles isolées sont les suivantes :The current isolated VM offerings include:

  • Standard_M128msStandard_M128ms
  • Standard_F72s_v2Standard_F72s_v2
  • Standard_NC24s_v3Standard_NC24s_v3
  • Standard_NC24rs_v3*Standard_NC24rs_v3*

*Prenant en charge RDMA*RDMA capable

Pour en savoir plus sur l’isolement, consultez Isolation dans le cloud public Azure.To learn more about isolation, see Isolation in the Azure public cloud.

Calcul non managéUnmanaged compute

Une cible de calcul non managée n’est pas managée par Azure Machine Learning.An unmanaged compute target is not managed by 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.You create this type of compute target outside Azure Machine Learning and then attach it to your workspace. 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.Unmanaged compute resources can require additional steps for you to maintain or to improve performance for machine learning workloads.

Étapes suivantesNext steps

Découvrez comment :Learn how to: