À suivreGuide suivant
Storage for AI Training Clusters
Technique
GUIDE Technique
Slurm est un gestionnaire de charge de travail open source qui planifie et exécute des tâches sur des clusters de calcul hautes performances, et il est devenu un choix par défaut pour la formation à grande échelle en IA.
Écoutez ce guideNarré par l'IA · ~2 min
C’est important car il distribue de manière fiable des formations massives sur des milliers de GPU.
Slurm (Simple Linux Utility for Resource Management) est né du supercalcul et alimente désormais bon nombre des plus grands clusters de formation en IA au monde. Les utilisateurs soumettent des scripts batch avec sbatch, demandent des ressources telles que des nœuds et des GPU avec des directives telles que --gres=gpu:8, et Slurm met en file d'attente, priorise et lance le travail. Son lanceur srun génère des processus coordonnés entre les nœuds, qui s'associent naturellement aux frameworks distribués tels que PyTorch DDP et NCCL. Slurm suit la comptabilité des ressources, applique les limites de partage équitable et de partitionnement et gère la planification du remplissage pour insérer les petits travaux dans les espaces vides. Pour la formation des modèles de pointe, les équipes s'appuient sur Slurm pour gérer des milliers de GPU, redémarrer à partir des points de contrôle après des pannes de nœuds et réserver une capacité dédiée pour de longues exécutions sur plusieurs semaines.
Un laboratoire frontalier lance une formation de plusieurs semaines sur des milliers de GPU avec un seul script sbatch sollicitant des centaines de nœuds.
Un chercheur soumet « srun --gres=gpu:8 » pour récupérer huit GPU sur un nœud pour une expérience PyTorch DDP.
La planification de remplissage place une courte tâche d'évaluation dans des GPU inactifs pendant qu'une grande exécution de formation réservée attend de commencer.
Après l'échec d'un nœud en cours d'exécution, Slurm remet le travail en file d'attente et il reprend à partir du dernier point de contrôle au lieu de recommencer.
Slurm continue d'ajouter l'éclatement du cloud, la prise en charge des conteneurs via Pyxis et Enroot, ainsi que des fonctionnalités plus strictes compatibles GPU. À mesure que les clusters d'IA évoluent vers plus de 100 000 GPU, attendez-vous à une tolérance aux pannes plus forte, à une intégration automatique du redémarrage aux points de contrôle et à des tâches élastiques qui se redimensionnent après des pannes. De nombreuses organisations exécutent désormais Slurm avec ou sous Kubernetes, et les planificateurs hybrides visent à combiner l'efficacité de type HPC avec la flexibilité native du cloud pour des sessions de formation toujours plus importantes.
Newsletter gratuite
Trois histoires d'IA vérifiées chaque matin de la semaine, écrites dans un anglais simple. Gratuit pour toujours, sans publicité.
Un e-mail chaque jour de la semaine. Désabonnez-vous en un clic. Nous ne vendons ni ne partageons jamais votre adresse.
Testez-vous
Commentaires instantanés sur chaque réponse et un certificat partageable avec une pièce d'identité vérifiable une fois que vous avez réussi un cours.
Soutenez l’enseignement gratuit de l’IA. AI Understanding est une organisation à but non lucratif 501(c)(3) : pas de publicité, pas de paywall, jamais. Faire un don
Slurm est un gestionnaire de charge de travail open source qui planifie et exécute des tâches sur des clusters de calcul hautes performances, et il est devenu un choix par défaut pour la formation à grande échelle en IA. C’est important car il distribue de manière fiable des formations massives sur des milliers de GPU.
sbatch soumet un script batch qui décrit les ressources et les commandes d'un travail à la file d'attente Slurm.
Le système Generic Resource (GRES) permet aux tâches de demander explicitement des GPU, par exemple --gres=gpu:8.
slurmctld est le démon du contrôleur qui planifie les tâches, tandis que slurmd s'exécute sur chaque nœud pour lancer des tâches.
srun launches task steps in the allocation and exposes Slurm task information; distributed frameworks may still require explicit rendezvous settings.
Le remplissage améliore l'utilisation en intégrant des tâches plus petites dans les intervalles de planification, à condition qu'elles ne repoussent pas les tâches réservées.
Continuez à apprendre
Plus de guides sélectionnés pour ce sujet
À suivreGuide suivant
Storage for AI Training Clusters
Technique