Entraînement distribué tolérant aux pannes sur Amazon EKS avec NVRx
aws ·
Cet article montre comment intégrer NVIDIA Resiliency Extension (NVRx) avec Amazon EKS pour créer un entraînement distribué tolérant aux pannes pour les grands modèles PyTorch. Il répond à deux goulets d'étranglement majeurs : la synchronisation des points de contrôle, qui peut bloquer jusqu'à 40 % du temps d'entraînement, et la lenteur de la récupération après des défaillances matérielles ou logicielles. La solution utilise des points de contrôle asynchrones via TorchAsyncCheckpoint pour superposer les opérations d'E/S au calcul, atteignant plus de 99 % d'efficacité d'entraînement par rapport à la référence. Pour la reprise après incident, NVRx propose un redémarrage en cours d'exécution pour les pannes légères et ft_launcher pour les plantages graves, réduisant les temps de récupération de plusieurs minutes à quelques secondes. Les tests sur LLaMA-3.1-8B, entre 2 et 8 nœuds, montrent que ces méthodes surpassent nettement les redémarrages Kubernetes standard, qui souffrent de cascades de dépassements de délai NCCL. L'architecture s'appuie sur Amazon FSx for Lustre pour le stockage partagé et sur Elastic Fabric Adapters pour un réseau à haut débit. Cette approche permet aux équipes de prendre des points de contrôle plus fréquemment sans compromettre l'utilisation des GPU, maximisant ainsi l'efficacité globale du cluster.
aws