Avec l'augmentation de la taille des projets de formation, les risques de défaillances tels que les interruptions, les plantages ou les instabilités infrastructurelles deviennent plus fréquents, entraînant des inefficacités significatives et des retards. Dans ce contexte, un système de sauvegarde distribué efficace est crucial pour atténuer l'impact négatif de ces défaillances et optimiser l'efficacité globale de la formation, souvent mesurée par le 'training goodput'. Le 'training badput', qui représente le pourcentage de la durée totale du projet où la formation ne progresse pas, peut être calculé en utilisant le temps moyen entre les interruptions (MTBI). Ce calcul permet de déterminer le pourcentage de temps perdu en raison des sauvegardes, en divisant le temps perdu par l'intervalle MTBI. La formulation du 'checkpoint badput' se décompose en trois composantes principales : le temps de chargement des sauvegardes, le temps de sauvegarde et l'impact sur la formation, et le temps de calcul perdu lors de la reprise à partir de la dernière sauvegarde. Des fonctionnalités récentes, telles que la sauvegarde asynchrone basée sur les processus et la mise en cache des plans de sauvegarde, ajoutées par PyTorch Distributed Checkpoint (DCP), améliorent l'efficacité des sauvegardes et réduisent ainsi le temps perdu. Cependant, déterminer la fréquence optimale des sauvegardes reste un défi, car des sauvegardes trop fréquentes peuvent perturber la performance de la formation, tandis que des sauvegardes trop rares peuvent entraîner des pertes de progrès importantes en cas de défaillance. Historiquement, les projets de formation ont utilisé des systèmes de stockage persistants pour les sauvegardes, mais ces systèmes introduisent des latences supplémentaires à grande échelle, limitant la fréquence des sauvegardes. Une solution récente, développée en collaboration entre Google et PyTorch, utilise un stockage local pour les sauvegardes, permettant des sauvegardes plus fréquentes et améliorant ainsi le 'training goodput'. Cette approche locale surmonte les limitations des systèmes traditionnels et améliore l'efficacité globale de la formation.
Checkpoint distribué : sauvegarde efficace pour les grands modèles
Points clés
- Les grands projets de formation sont plus susceptibles de rencontrer des défaillances.
- Un système de sauvegarde distribué efficace est crucial pour optimiser l'efficacité de la formation.
- Le 'training badput' est une mesure importante pour évaluer l'impact des interruptions.
- La fréquence des sauvegardes doit être soigneusement équilibrée pour éviter les perturbations de la formation.
- Les solutions de stockage local peuvent améliorer l'efficacité des sauvegardes à grande échelle.
Pourquoi c'est important
Les grands projets de formation sont de plus en plus courants et les défaillances peuvent entraîner des pertes de temps et de ressources significatives. Un système de sauvegarde distribué efficace est donc essentiel pour optimiser l'efficacité de la formation et minimiser les impacts négatifs des interruptions.
Article original : https://pytorch.org/blog/distributed-checkpoint-efficient-checkpointing-in-large-scale-jobs/
Synthèse éditoriale issue d’une veille et d’outils d’IA. Des erreurs ou approximations peuvent subsister. Référez‑vous à la source originale et à notre disclaimer.