La formation de modèles d’IA génératifs nécessite des clusters de matériel de pointe coûteux, tels que des GPU H100 et un stockage rapide, interconnectés via des topologies multi-réseaux impliquant des liaisons Infiniband, des commutateurs, des émetteurs-récepteurs et des connexions Ethernet. Bien que les services de calcul haute performance (HPC) et de cloud computing d’IA offrent ces clusters spécialisés, ils impliquent des engagements financiers substantiels. Cependant, selon together.ai, tous les clusters ne sont pas créés égaux.
Introduction aux tests de clusters GPU
La fiabilité des clusters de GPU varie considérablement, les problèmes pouvant aller de mineurs à critiques. Par exemple, Meta a signalé que lors de la formation de 54 jours du modèle Llama 3.1, les problèmes de GPU représentaient 58,7 % de tous les problèmes inattendus. Together AI, au service de nombreuses startups d’IA et d’entreprises du Fortune 500, a développé un cadre de validation robuste pour garantir la qualité du matériel avant le déploiement.
Le processus de test des clusters chez Together AI
L’objectif des tests d’acceptation est de garantir que l’infrastructure matérielle répond aux exigences spécifiées et offre la fiabilité et les performances nécessaires aux charges de travail IA/ML exigeantes.
1. Préparation et configuration
La phase initiale consiste à configurer un nouveau matériel dans un environnement de cluster GPU, en imitant les scénarios d’utilisation finale. Cela comprend l’installation des pilotes NVIDIA, des pilotes OFED pour Infiniband, CUDA, NCCL, HPCX et la configuration des paramètres de cluster SLURM et PCI pour les performances.
2. Validation du GPU
La validation commence par vérifier que le type et le nombre de GPU correspondent aux attentes. Des outils de test de stress tels que DCGM Diagnostics et gpu-burn sont utilisés pour mesurer la consommation d’énergie et la température sous charge. Ces tests permettent d’identifier des problèmes tels que les incompatibilités de pilotes NVML ou les erreurs « GPU tombé du bus ».
3. Validation de NVLink et NVSwitch
Après la validation individuelle du GPU, des outils tels que les tests NCCL et nvbandwidth mesurent la communication GPU à GPU via NVLink. Ces tests permettent de diagnostiquer des problèmes tels qu’un NVSwitch défectueux ou des NVLinks en panne.
4. Validation du réseau
Pour la formation distribuée, la configuration du réseau est validée à l’aide de structures réseau Infiniband ou RoCE. Des outils tels que ibping, ib_read_bw, ib_write_bw et les tests NCCL sont utilisés pour garantir des performances optimales. Un bon résultat dans ces tests indique que le cluster fonctionnera bien pour les charges de travail de formation distribuées.
5. Validation du stockage
Les performances de stockage sont cruciales pour les charges de travail d’apprentissage automatique. Des outils comme fio mesurent les caractéristiques de performances de différentes configurations de stockage, notamment les lectures aléatoires, les écritures aléatoires, les lectures continues et les écritures continues.
6. Construction du modèle
La phase finale consiste à exécuter des tâches de référence adaptées aux cas d’utilisation du client. Cela garantit que le cluster peut atteindre les performances de bout en bout attendues. Une tâche courante consiste à créer un modèle avec des frameworks tels que Fully Sharded Data Parallel (FSPD) de PyTorch pour évaluer le débit de formation, l’utilisation des flops du modèle, l’utilisation du GPU et les latences de communication réseau.
7. Observabilité
La surveillance continue des pannes matérielles est essentielle. Together AI utilise Telegraf pour collecter les mesures du système, garantissant ainsi une disponibilité et une fiabilité maximales. La surveillance comprend des mesures au niveau du cluster et de l’hôte, telles que l’utilisation du processeur/du processeur graphique, la mémoire disponible, l’espace disque et la connectivité réseau.
Conclusion
Les tests d’acceptation sont indispensables pour les startups d’IA/ML qui fournissent des ressources informatiques de premier ordre. Une approche complète et structurée garantit une infrastructure stable et fiable, prenant en charge les charges de travail GPU prévues. Les entreprises sont encouragées à effectuer des tests d’acceptation sur les clusters de GPU livrés et à signaler tout problème pour dépannage.
Source de l’image : Shutterstock
Source https://blockchain.news/news/optimizing-gpu-clusters-for-generative-ai-model-training