Choisir la cible de calcul appropriée
Dans Azure Machine Learning, les cibles de calcul sont des ordinateurs physiques ou virtuels sur lesquels des travaux sont exécutés.
Comprendre les types de calcul disponibles
Azure Machine Learning prend en charge plusieurs types de calcul pour l’expérimentation, l’entraînement et le déploiement. En ayant plusieurs types de calcul, vous pouvez sélectionner le type de cible de calcul le plus approprié pour vos besoins.
- Instance de calcul : se comporte de la même façon qu’une machine virtuelle et est principalement utilisée pour exécuter des notebooks. Idéal pour l’expérimentation.
- Clusters de calcul: Clusters multi-nœuds de machines virtuelles qui s'ajustent automatiquement à la hausse ou à la baisse pour répondre à la demande. Un moyen économique d’exécuter des scripts qui doivent traiter de grands volumes de données. Les clusters vous permettent également d’utiliser le traitement parallèle pour distribuer la charge de travail et de réduire le temps nécessaire à l’exécution d’un script.
- clusters Kubernetes: cluster basé sur la technologie Kubernetes, ce qui vous donne plus de contrôle sur la façon dont le calcul est configuré et géré. Vous pouvez attacher votre cluster Azure Kubernetes (AKS) auto-managé pour le calcul cloud ou un cluster Kubernetes Arc pour les charges de travail locales.
- Calcul attaché : vous permet de rattacher des ressources de calcul existantes telles que des machines virtuelles Azure ou des clusters Azure Databricks à votre espace de travail.
- Calcul sans serveur: Une informatique entièrement gérée et à la demande que vous pouvez utiliser pour des tâches de formation.
Remarque
Azure Machine Learning vous offre la possibilité de créer et de gérer votre propre calcul ou d’utiliser le calcul entièrement géré par Azure Machine Learning.
Quand utiliser quel type de calcul ?
En général, il existe certaines bonnes pratiques que vous pouvez suivre lors de l’utilisation des cibles de calcul. Pour comprendre comment choisir le type de calcul approprié, plusieurs exemples sont fournis. N’oubliez pas que le type de calcul que vous utilisez dépend toujours de votre situation spécifique.
Choisir une cible de calcul pour l’expérimentation
Imaginez que vous êtes un scientifique des données et que vous êtes invité à développer un nouveau modèle Machine Learning. Vous avez probablement un petit sous-ensemble des données d’entraînement avec lesquelles vous pouvez expérimenter.
Pendant l’expérimentation et le développement, vous préférez travailler dans un notebook Jupyter. Une expérience de notebook tirera le meilleur parti d’un calcul en cours d’exécution continue.
De nombreux scientifiques des données sont familiarisés avec l’exécution de notebooks sur leur appareil local. Une alternative cloud gérée par Azure Machine Learning est une instance de calcul . Alternativement, vous pouvez opter pour Spark serverless compute afin d'exécuter du code Spark dans des notebooks, si vous souhaitez utiliser la puissance de calcul distribuée de Spark.
Choisir une cible de calcul pour la production
Après l’expérimentation, vous pouvez entraîner vos modèles en exécutant des scripts Python pour préparer la production. Les scripts seront plus faciles à automatiser et à planifier quand vous souhaitez réentraîner votre modèle en continu au fil du temps. Vous pouvez exécuter des scripts en tant que tâches de pipeline.
Lorsque vous passez à la production, vous souhaitez que la cible de calcul soit prête à gérer de grands volumes de données. Plus vous utilisez de données, mieux le modèle Machine Learning est susceptible d’être.
Lorsque vous entraînez des modèles avec des scripts, vous souhaitez une cible de calcul à la demande. Un cluster de calcul augmente automatiquement ses ressources lorsque les scripts doivent être exécutés et réduit ses ressources à la fin de l’exécution du script. Si vous souhaitez une alternative que vous n’avez pas besoin de créer et de gérer, vous pouvez utiliser le calcul serverless d'Azure Machine Learning.
Choisir une cible de calcul pour le déploiement
Le type de calcul dont vous avez besoin lors de l’utilisation de votre modèle pour générer des prédictions varie selon que vous souhaitez des prédictions par lots ou en temps réel.
Pour les prédictions par lots, vous pouvez exécuter un travail de pipeline dans Azure Machine Learning. Les cibles de calcul telles que les clusters de calcul et le calcul serverless d’Azure Machine Learning sont idéales pour les travaux de pipeline, car ils sont à la demande et évolutifs.
Lorsque vous souhaitez des prédictions en temps réel, vous avez besoin d’un type de calcul qui s’exécute en continu. Les déploiements en temps réel bénéficient donc d’un calcul plus léger (et donc plus économique). Les conteneurs sont idéaux pour les déploiements en temps réel. Lorsque vous déployez votre modèle sur un point de terminaison en ligne managé, Azure Machine Learning crée et gère des conteneurs pour vous permettre d’exécuter votre modèle. Vous pouvez également attacher des clusters Kubernetes pour gérer le calcul nécessaire pour générer des prédictions en temps réel.