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.
La prise en charge d’Azure Machine Learning varie selon les cibles de calcul. Dans un cycle de vie de développement de modèle type, vous pouvez effectuer les opérations suivantes :
- 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.
- 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.
- 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
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 |
Calcul serverless 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 | |
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 affecte 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 |
---|---|---|---|
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écutez des charges de travail d’inférence sur des clusters Kubernetes locaux, cloud et de périphérie. |
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. | |
Azure Machine Learning Kubernetes | Inférence en temps réel | Oui | Exécutez des charges de travail d’inférence dans le cloud. |
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. Convient uniquement aux modèles de moins de 1 Go de taille. 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.
Calcul Azure Machine Learning (managé)
Azure Machine Learning crée et gère les ressources de calcul managées. Ce type de calcul est optimisé pour les charges de travail Machine Learning. Les clusters de calcul Azure Machine Learning, le calcul serverless et les instances de calcul sont les seuls calculs managés.
La création d’un calcul serverless n’est pas nécessaire. Vous pouvez créer des instances de calcul Azure Machine Learning ou des clusters de calcul depuis :
- Azure Machine Learning studio
- Le SDK Python et Azure CLI :
- Un modèle Azure Resource Manager. Pour obtenir un exemple de modèle, consultez Créer un cluster de calcul Azure Machine Learning.
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.
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 :
- Pour un cluster de calcul, vérifiez que le nombre minimal de nœuds est défini sur 0 ou utilisez un calcul serverless.
- Pour une instance de calcul, activez l’arrêt en cas d’inactivité.
Tailles et séries de machine virtuelle prises en charge
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 :
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 et de limites.
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 la méthode suivantes :
Remarque
Azure Machine Learning ne prend pas en charge toutes les tailles de machines virtuelles prises en charge par Azure Compute. Pour répertorier les tailles de machine virtuelle disponibles prises en charge par des types de machines virtuelles de calcul spécifiques, utilisez l’une des méthodes suivantes :
Si vous utilisez les cibles de calcul avec GPU, il est important de vérifier 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érie 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, vérifiez que la version de CUDA est compatible avec la version du framework de Machine Learning que vous utilisez :
- Pour PyTorch, vous pouvez vérifier la compatibilité en visitant la page des versions précédentes de PyTorch.
- Pour Tensorflow, vous pouvez vérifier la compatibilité en visitant la page Compiler à partir de la source de Tensorflow.
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 est la seule machine à s’exécuter 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 (compatible RDMA)
Pour en savoir plus sur l’isolement, consultez Isolation dans le cloud public Azure.
Calcul non managé
Azure Machine Learning ne gère pas une cible de calcul non managée. Vous créez ce type de cible de calcul en dehors d’Azure Machine Learning, puis l’attachez à votre espace de travail. Des ressources de calcul non managées peuvent nécessiter des étapes supplémentaires pour maintenir ou 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
- Azure Kubernetes Service
- Pool Spark Azure Synapse (déconseillé)
Pour plus d’informations, consultez Gérer les ressources de calcul.