Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
APPLIES TO :
Extension Azure ML CLI v2 (actuelle)
Kit de développement logiciel (SDK) Python azure-ai-ml v2 (préversion)
Cet article explique comment créer et gérer un cluster de calcul dans votre espace de travail Azure Machine Learning.
Vous pouvez utiliser un cluster de calcul Azure Machine Learning pour distribuer un processus d’entraînement ou d’inférence en lots sur un cluster de nœuds de calcul de processeur ou de GPU dans le cloud. Pour plus d’informations sur les tailles de machine virtuelle qui incluent des GPU, consultez Tailles de machine virtuelle à GPU optimisé.
Découvrez comment :
- Créez un cluster de calcul.
- Réduire le coût de votre cluster de calcul avec des machines virtuelles de basse priorité.
- Configurer une identité managée pour le cluster.
Remarque
Au lieu de créer un cluster de calcul, utilisez le calcul serverless pour décharger la gestion du cycle de vie du calcul dans Azure Machine Learning.
Prérequis
- Un espace de travail Azure Machine Learning. Pour plus d’informations, consultez Gestion des espaces de travail Azure Machine Learning.
Sélectionnez l’onglet approprié pour le reste des prérequis en fonction de votre méthode préférée de création du cluster de calcul.
Si vous n’exécutez pas votre code sur une instance de calcul, installez le kit SDK Python Azure Machine Learning. Ce kit SDK est déjà installé pour vous sur une instance de calcul.
Connectez-vous à l’espace de travail via votre script Python :
Exécutez ce code pour vous connecter à votre espace de travail Azure Machine Learning.
Remplacez votre ID d’abonnement, le nom du groupe de ressources et le nom de l’espace de travail dans le code suivant. Pour rechercher ces valeurs :
- Connectez-vous à Azure Machine Learning Studio.
- Ouvrez l’espace de travail que vous souhaitez utiliser.
- Sélectionnez le nom de votre espace de travail dans la barre d’outils Azure Machine Learning studio en haut à droite.
- Copiez la valeur de l’espace de travail, du groupe de ressources et de l’ID d’abonnement dans le code.
APPLIES TO :
Kit de développement logiciel (SDK) Python azure-ai-mlv2 (préversion)# Enter details of your AML workspace subscription_id = "<SUBSCRIPTION_ID>" resource_group = "<RESOURCE_GROUP>" workspace = "<AML_WORKSPACE_NAME>"# get a handle to the workspace from azure.ai.ml import MLClient from azure.identity import DefaultAzureCredential ml_client = MLClient( DefaultAzureCredential(), subscription_id, resource_group, workspace )ml_clientest un gestionnaire de l’espace de travail, qui vous permet de gérer d’autres ressources et travaux.
Remarque
Lors de la configuration d’un réseau virtuel (VNet) situé dans un groupe de ressources différent de votre espace de travail Azure Machine Learning, sachez que les ressources telles que les groupes de sécurité réseau (NSG), les adresses IPs publiques et les équilibreurs de charge seront créées dans le même groupe de ressources que le réseau virtuel. Ce comportement garantit une gestion et une isolation appropriées du réseau.
Qu’est-ce qu’un cluster de calcul ?
Le cluster de calcul Azure Machine Learning est une infrastructure de capacité de calcul managée qui vous permet de créer facilement une capacité de calcul à un ou plusieurs nœuds. Le cluster de calcul est une ressource qui peut être partagée avec d’autres utilisateurs dans votre espace de travail. La cible de calcul monte en puissance automatiquement quand un travail est soumis, et peut être placée dans un réseau virtuel Azure. Le cluster de calcul ne prend en charge aucun déploiement d’adresse IP publique non plus dans un réseau virtuel. La cible de calcul s’exécute dans un environnement conteneurisé et empaquète les dépendances de votre modèle dans un conteneur Docker.
Les clusters de calcul peuvent exécuter des tâches en toute sécurité dans un réseau virtuel géré ou un réseau virtuel Azure, sans que les entreprises aient besoin d’ouvrir des ports SSH. Le travail s’exécute dans un environnement conteneurisé et empaquette les dépendances de votre modèle dans un conteneur Docker.
Limites
Les clusters de calcul peuvent être créés dans une région différente de celle de votre espace de travail. Cette fonctionnalité est uniquement disponible pour les clusters de calcul, pas pour les instances de calcul.
Avertissement
Quand vous utilisez un cluster de calcul dans une autre région que celle de votre espace de travail ou de vos magasins de données, vous pouvez constater une augmentation du temps de réponse du réseau et des coûts de transfert de données. La latence et les coûts peuvent survenir lors de la création du cluster et lors de l’exécution de travaux sur celui-ci.
Capacité de calcul Azure Machine Learning comporte des limites par défaut, par exemple le nombre de cœurs qui peuvent être alloués. Pour plus d’informations, consultez Gérer et demander des quotas pour les ressources Azure.
Azure vous permet de placer des verrous sur les ressources, afin que celles-ci ne puissent pas être supprimées ou restent en lecture seule. N’appliquez pas de verrous aux ressources du groupe de ressources qui contient votre espace de travail. L’application d’un verrou au groupe de ressources qui contient votre espace de travail empêche les opérations de mise à l’échelle pour les clusters de calcul Azure Machine Learning. Pour plus d’informations, consultez Verrouiller les ressources pour empêcher les modifications inattendues.
Attention
L'application de verrous de ressources, tels que « Supprimer » ou « Lecture seule », au groupe de ressources qui contient votre espace de travail Machine Learning ou à un groupe de ressources distinct dans lequel vous avez configuré un réseau virtuel peut empêcher des opérations telles que la création, la mise à l'échelle ou la suppression de ces clusters. Assurez-vous que les verrous de ressources sont configurés de manière appropriée pour éviter les interruptions involontaires.
Créer
Durée estimée : environ cinq minutes.
Remarque
Si vous utilisez le calcul serverless, vous n’avez pas besoin de créer un cluster de calcul.
Une Capacité de calcul Azure Machine Learning peut être réutilisée pour plusieurs exécutions. Le calcul peut être partagé avec d’autres utilisateurs dans l’espace de travail, et est conservé entre les exécutions. Ainsi, les nœuds font l’objet d’un scale-up ou d’un scale-down automatique en fonction du nombre d’exécutions soumises et du paramètre max_nodes défini sur votre cluster. Le paramètre min_nodes contrôle le nombre minimal de nœuds disponibles.
Le quota de cœurs dédiés par région par famille de machine virtuelle et le quota régional total, qui s’appliquent à la création d’un cluster de calcul, sont unifiés et partagés avec le quota d’instances de calcul d’entraînement Azure Machine Learning.
Important
Pour éviter des frais en l'absence de travail en cours d’exécution, définissez les nœuds minimaux sur 0. Ce paramètre permet à Azure Machine Learning de libérer les nœuds lorsqu’ils ne sont pas utilisés. Toute valeur supérieure à 0 conserve ce nombre de nœuds en cours d’exécution, même s’ils ne sont pas utilisés.
La capacité de calcul diminue en puissance, et passe automatiquement à zéro nœud quand elle n’est pas utilisée. Des machines virtuelles dédiées sont créées pour exécuter vos travaux en fonction des besoins.
Utilisez les exemples suivants pour créer un cluster de calcul :
Pour créer une ressource Capacité de calcul Azure Machine Learning persistante en Python, spécifiez les propriétés size et max_instances. Azure Machine Learning utilise ensuite des valeurs calculées par défaut pour les autres propriétés.
- size : famille de machines virtuelles des nœuds créés par l’infrastructure Capacité de calcul Azure Machine Learning.
- max_instances : nombre maximal de nœuds pour la mise à l’échelle automatique quand vous exécutez un travail sur l’infrastructure Capacité de calcul Azure Machine Learning.
APPLIES TO :
Kit de développement logiciel (SDK) Python azure-ai-mlv2 (préversion)
from azure.ai.ml.entities import AmlCompute
cluster_basic = AmlCompute(
name="basic-example",
type="amlcompute",
size="STANDARD_DS3_v2",
location="westus",
min_instances=0,
max_instances=2,
idle_time_before_scale_down=120,
)
ml_client.begin_create_or_update(cluster_basic).result()
Vous pouvez aussi configurer plusieurs propriétés avancées lors de la création d’une capacité de calcul Azure Machine Learning. Ces propriétés vous permettent de créer un cluster persistant de taille fixe, ou au sein d’un réseau virtuel Azure existant dans votre abonnement. Pour plus de détails, voir la classe AmlCompute.
Avertissement
Quand vous définissez le paramètre location, s’il correspond à une autre région que celle de votre espace de travail ou de vos magasins de données, vous pouvez constater une augmentation du temps de réponse du réseau et des coûts de transfert de données. La latence et les coûts peuvent survenir lors de la création du cluster et lors de l’exécution de travaux sur celui-ci.
Réduire le coût de votre cluster de calcul avec des machines virtuelles de basse priorité
Vous pouvez également choisir d’utiliser des machines virtuelles de faible priorité pour exécuter une partie ou l’ensemble de vos charges de travail. Ces machines virtuelles n’ont pas de disponibilité garantie et peuvent être préemptées durant leur utilisation. Vous devez redémarrer un travail préempté.
L’utilisation de machines virtuelles basse priorité vous permet de profiter de la capacité inutilisée d’Azure pour un coût très avantageux. À tout moment, quand Azure a besoin de la capacité, l’infrastructure Azure supprime les machines virtuelles Azure de faible priorité. Par conséquent, azure Low Priority Virtual Machine est idéal pour les charges de travail qui peuvent gérer les interruptions. La capacité disponible dépend de divers facteurs, tels que la taille, la région, l’heure, etc. Lors du déploiement de VMs Azure à faible priorité, Azure alloue les machines virtuelles si une capacité est disponible, mais il n’existe aucun SLA pour ces VMs. Une machine virtuelle basse priorité Azure n’offre aucune garantie de haute disponibilité. À tout moment, quand Azure a besoin de la capacité, l’infrastructure Azure supprime les machines virtuelles Azure de faible priorité.
Utilisez l’une des méthodes suivantes pour spécifier une machine virtuelle de faible priorité :
APPLIES TO :
Kit de développement logiciel (SDK) Python azure-ai-mlv2 (préversion)
from azure.ai.ml.entities import AmlCompute
cluster_low_pri = AmlCompute(
name="low-pri-example",
size="STANDARD_DS3_v2",
min_instances=0,
max_instances=2,
idle_time_before_scale_down=120,
tier="low_priority",
)
ml_client.begin_create_or_update(cluster_low_pri).result()DELETE
Bien que votre cluster de calcul fasse l’objet d’un scale-down à zéro nœud quand il n’est pas utilisé, les nœuds non approvisionnés contribuent à l’utilisation de votre quota. La suppression du cluster de calcul entraîne la suppression de la cible de calcul de votre espace de travail, et libère le quota.
APPLIES TO :
Kit de développement logiciel (SDK) Python azure-ai-mlv2 (préversion)
Cette opération permet de supprimer le cluster de calcul de base, créé à partir de l’objet create_basic, évoqué plus haut dans cet article.
from azure.ai.ml.entities import AmlCompute
ml_client.compute.begin_delete(cluster_basic.name).wait()Configurer une identité managée
Pour plus d’informations sur la configuration d’une identité managée avec votre cluster de calcul, consultez Configurer l’authentification entre Azure Machine Learning et d’autres services.
Dépannage
Il est possible que certains utilisateurs qui ont créé leur espace de travail Azure Machine Learning à partir du portail Azure avant la publication en disponibilité générale ne puissent pas créer de calcul dans cet espace de travail. Vous pouvez créer une demande de support auprès du service ou créer un espace de travail sur le Portail ou avec le Kit de développement logiciel (SDK) pour vous débloquer sans délai.
Important
Si vos clusters ou votre instance de calcul sont basés sur l’une de ces séries, recréez-les avec une autre taille de machine virtuelle.
Ces séries ont été mises hors service le 31 août 2023 :
Ces séries ont été mises hors service le 31 août 2024 :
Ces séries ont été mises hors service le 30 septembre 2025 :
Bloqué au niveau du redimensionnement
Si votre cluster Capacité de calcul Azure Machine Learning semble bloqué au niveau du redimensionnement (0 -> 0) pour l’état du nœud, les verrous de ressources Azure en sont peut-être la cause.
Azure vous permet de placer des verrous sur les ressources, afin qu’elles ne puissent pas être supprimées ou restent en lecture seule. Le verrouillage d’une ressource peut entraîner des résultats inattendus. Certaines opérations qui, en apparence, ne modifient pas la ressource nécessitent en réalité des actions qui sont bloquées par ce verrou.
Avec Azure Machine Learning, l’application d’un verrou de suppression au groupe de ressources pour votre espace de travail empêchera les opérations de mise à l’échelle pour les clusters de calcul Azure ML. Pour contourner ce problème, nous vous recommandons de supprimer le verrou du groupe de ressources et de l’appliquer à chaque élément du groupe.
Important
N’appliquez pas le verrou aux ressources suivantes :
| Nom de la ressource | Type de ressource |
|---|---|
<GUID>-azurebatch-cloudservicenetworksecurityggroup |
Groupe de sécurité réseau |
<GUID>-azurebatch-cloudservicepublicip |
Adresse IP publique |
<GUID>-azurebatch-cloudserviceloadbalancer |
Équilibrage de charge |
Ces ressources sont utilisées pour communiquer avec le cluster de calcul et effectuer des opérations telles que la mise à l’échelle. La suppression du verrou sur ces ressources doit permettre la mise à l’échelle automatique de vos clusters de calcul.
Pour plus d’informations sur le verrouillage des ressources, consultez Verrouiller les ressources pour empêcher les modifications inattendues.
Étape suivante
Utilisez votre cluster de calcul pour :