Entraînement distribué avec les conteneurs DLC de Ray Train et EFA sur EKS
aws ·
Cet article décrit une méthode pour effectuer un entraînement PyTorch distribué sur Amazon EKS en utilisant les conteneurs profonds d'apprentissage (DLC) Ray Train et l'adaptateur de réseau élastique (EFA). Les auteurs expliquent que le goulot d'étranglement principal lors de la mise à l'échelle de l'entraînement réside généralement dans la gestion des dépendances complexes des conteneurs plutôt que dans le code du modèle lui-même. Pour résoudre ce problème, AWS fournit des DLC préconstruits qui regroupent les composants nécessaires tels que CUDA, NCCL et les bibliothèques EFA, éliminant ainsi le besoin de construire des images personnalisées. La solution utilise KubeRay pour gérer la structure du cluster Ray au sein de Kubernetes, définissant les pods principaux et workers via un seul manifeste. Une implémentation de démonstration montre le réglage fin du modèle Qwen2.5-1.5B sur huit GPU NVIDIA L4 à l'aide de la parallélisation des données entièrement fragmentée (Fully Sharded Data Parallelism). En configurant les variables d'environnement et les demandes de ressources de manière externe, les utilisateurs peuvent tirer parti d'EFA pour une communication inter-nœuds à haute vitesse sans modifier l'image du conteneur. Cette approche garantit un entraînement reproductible et évolutif tout en réduisant la charge opérationnelle associée à la maintenance de l'infrastructure.
aws