Partager via


Recommandations de calcul pour les charges de travail d’IA sur l’infrastructure Azure (IaaS)

Cette rubrique fournit des recommandations de calcul pour les organisations exécutant des charges de travail d’IA sur l’infrastructure Azure (IaaS). L’approche privilégiée consiste à commencer votre adoption de l’IA avec les solutions de plateforme en tant que service (PaaS) Azure AI. Cependant, si vous avez accès aux GPU Azure, suivez ces conseils pour exécuter des charges de travail d’IA sur Azure IaaS.

Les charges de travail d’IA nécessitent des machines virtuelles (VM) spécialisées pour gérer les demandes computationnelles élevées et le traitement de données à grande échelle. Choisir les bonnes VM optimise l’utilisation des ressources et accélère le développement et le déploiement des modèles d’IA. Le tableau suivant présente un aperçu des options de calcul recommandées.

Phase de l’IA Image de machine virtuelle IA générative IA non générative (modèles complexes) IA non générative (petits modèles)
Entraînement de modèles d’IA Machines virtuelles Data Science GPU (préférence pour la famille ND. Alternativement, utiliser la famille NC avec des VM interconnectées par Ethernet) GPU (préférence pour la famille ND. Alternativement, utiliser la famille NC avec des VM interconnectées par Ethernet) Optimisé pour la mémoire (CPU)
Inférence de modèles d’IA Machines virtuelles Data Science GPU (famille NC ou ND) GPU (famille NC ou ND) Optimisé pour le calcul (CPU)

Choisissez l’image de machine virtuelle appropriée

Sélectionnez une image de machine virtuelle adaptée, telle que les machines virtuelles Data Science, pour accéder rapidement aux outils préconfigurés pour les charges de travail d’IA. Ce choix permet d’économiser du temps et des ressources tout en fournissant les logiciels nécessaires pour un traitement de l’IA efficace.

  • Commencez avec les images de machines virtuelles Data Science. L’image Data Science Virtual Machine offre un accès préconfiguré à des outils de science des données. Ces outils incluent PyTorch, TensorFlow, scikit-learn, Jupyter, Visual Studio Code, Azure CLI et PySpark. Lorsqu’elle est utilisée avec des GPU, l’image inclut également les pilotes Nvidia, le CUDA Toolkit et cuDNN. Ces images servent d’image de base. Si vous avez besoin d’un logiciel supplémentaire, ajoutez-le via un script au moment du démarrage ou incorporez-le dans une image personnalisée. Ils maintiennent la compatibilité avec vos solutions d’orchestration.

  • Trouvez d’autres images si nécessaire. Si l’image Data Science Virtual Machine ne répond pas à vos besoins, utilisez Azure Marketplace ou d’autres méthodes de recherche pour trouver des images alternatives. Par exemple, avec des GPU, vous pourriez avoir besoin d’images Linux incluant des pilotes InfiniBand, des pilotes NVIDIA, des bibliothèques de communication, des bibliothèques MPI et des outils de surveillance.

Choisissez une taille de machine virtuelle

Sélectionner une taille de machine virtuelle appropriée en fonction de la complexité de votre modèle d’IA, de la taille des données et des contraintes de coûts. Associer le matériel aux besoins d’entraînement ou d’inférence maximise l’efficacité et évite la sous-utilisation ou la surcharge.

  • Réduisez vos options de machines virtuelles. Choisissez les dernières références de machines virtuelles (SKUs) pour des temps d’entraînement et d’inférence optimaux. Pour l’entraînement, sélectionnez des SKUs qui prennent en charge RDMA et les interconnexions GPU pour un transfert de données à haute vitesse entre les GPU. Pour l’inférence, évitez les SKUs avec InfiniBand, qui est inutile. Exemples : série ND MI300X v5, série ND H100 v5, série NDm A100 v4 et série ND A100 v4.

  • Vérifiez les prix des machines virtuelles. Utilisez les pages de tarification des VM Linux et Windows pour une vue d’ensemble des coûts. Pour une estimation détaillée, utilisez le calculateur de tarification Azure.

  • Envisager des instances spot.instances Spot sont rentables pour les scénarios d’inférence avec un risque minimal de perte de données. Les instances spot offrent des économies significatives en utilisant la capacité inutilisée des centres de données à un tarif réduit. Cependant, cette capacité peut être réclamée à tout moment, donc les instances spot sont idéales pour les charges de travail pouvant supporter des interruptions. Sauvegardez régulièrement les données pour minimiser les pertes lors de l’éviction. Pour plus d’informations, consultez Utilisation de machines virtuelles Spot dans Azure CycleCloud.

Choisissez une solution d’orchestration de calcul

Les solutions d’orchestration de calcul facilitent la gestion des tâches IA sur les clusters de machines virtuelles. Même pour les déploiements simples, un orchestrateur peut aider à réduire les coûts et à garantir qu’un environnement est reproductible. Les orchestrateurs vous permettent de vous assurer que vous utilisez uniquement le calcul dont vous avez besoin pour une durée spécifique. Sélectionnez un outil d’orchestration en fonction de vos besoins de planification, de conteneurisation et de mise à l’échelle pour améliorer les opérations et la scalabilité.

  • Utilisez Azure CycleCloud pour les planificateurs open-source. Azure CycleCloud est idéal pour les planificateurs open-source tels que Slurm, Grid Engine ou Torque/PBS. Il offre une gestion de cluster flexible, des configurations personnalisables et des capacités de planification avancées. Les machines virtuelles au sein du cluster nécessitent une configuration pour l’exécution des charges de travail d’IA. Les machines virtuelles pour CycleCloud et Batch ne sont pas persistantes. L’orchestrateur crée et supprime des machines virtuelles si nécessaire pour faciliter les économies. Pour plus d'informations, consultez Azure CycleCloud Workspace pour Slum.

  • Utilisez Azure Batch pour une planification intégrée. Azure Batch offre des fonctionnalités de planification intégrées sans besoin d’installation ou de gestion de logiciels supplémentaires. Il a un modèle de tarification à la consommation et ne nécessite aucun frais de licence. Il prend également en charge les tâches conteneurisées de manière native. Pour des bonnes pratiques de déploiement, veuillez consulter Azure Batch Accelerator.

  • Utilisez Azure Kubernetes Service (AKS) pour la mise à l’échelle des conteneurs. AKS est un service géré pour le déploiement, la mise à l’échelle et la gestion des conteneurs sur un cluster. Il convient pour exécuter des charges de travail d’IA dans des conteneurs à grande échelle. Pour plus d’informations, veuillez consulter Utilisez Azure Kubernetes Service pour héberger des charges de travail basées sur GPU.

  • Orchestrez manuellement les tâches pour des tâches simples. Si les besoins en orchestration sont minimaux, gérez les ressources d’IA manuellement. Envisagez les étapes suivantes pour des charges de travail de petite échelle :

    • Définissez votre flux de travail. Comprenez votre flux de travail de bout en bout, y compris les dépendances et la séquence des tâches. Réfléchissez à la manière de gérer les échecs à chaque étape.
    • Consignez et surveillez les tâches. Mettez en œuvre des frameworks de journalisation et de surveillance clairs pour vos tâches.
    • Validez les prérequis. Assurez-vous que votre environnement répond à toutes les exigences du flux de travail, y compris les bibliothèques et frameworks nécessaires.
    • Utilisez la gestion de versions. Suivez et gérez les modifications en utilisant le contrôle de version.
    • Automatisez les tâches. Utilisez des scripts pour automatiser la prétraitement des données, l’entraînement et l’évaluation.

Envisagez les conteneurs

Les conteneurs offrent un environnement cohérent et reproductible qui se met à l’échelle efficacement. Les conteneurs simplifient les transitions entre environnements, les rendant essentiels pour des solutions d’IA évolutives.

  • Installer les pilotes. Assurez-vous que les pilotes nécessaires sont installés pour activer la fonctionnalité des conteneurs dans divers scénarios. Pour les configurations de cluster, des outils comme Pyxis et Enroot sont souvent nécessaires.

  • Utilisez NVIDIA Container Toolkit. Ce toolkit permet l’utilisation des ressources GPU dans les conteneurs. Installez tous les pilotes nécessaires, comme CUDA et les pilotes GPU, et utilisez votre runtime et moteur de conteneur préférés pour l’exécution des charges de travail d’IA.

Étape suivante