Points de contrôle par niveaux gérés HyperPod
Cette section explique le fonctionnement des points de contrôle par niveaux gérés et les avantages qu’ils apportent pour l’entraînement des modèles à grande échelle.
Les points de contrôle par niveaux gérés par Amazon SageMaker HyperPod vous permettent d’entraîner plus efficacement des modèles d’IA générative à grande échelle. Il utilise plusieurs niveaux de stockage, y compris la mémoire CPU de votre cluster. Cette approche réduit votre temps de récupération et minimise les pertes de progression de l’entraînement. Elle utilise également des ressources de mémoire sous-utilisées dans votre infrastructure d’entraînement.
Les points de contrôle par niveaux gérés permettent d’enregistrer les points de contrôle à une fréquence plus élevée dans la mémoire. Il les conserve périodiquement dans un stockage durable. Cela permet de maintenir à la fois les performances et la fiabilité au cours de votre processus d’entraînement.
Ce guide explique comment installer, configurer et utiliser les points de contrôle par niveaux gérés avec les cadres PyTorch sur les clusters Amazon EKS HyperPod.
Fonctionnement des points de contrôle par niveaux gérés
Les points de contrôle gérés utilisent une approche de stockage multiniveau. La mémoire CPU sert de niveau principal pour stocker les points de contrôle du modèle. Les niveaux secondaires incluent des options de stockage permanent telles qu’Amazon S3.
Lorsque vous enregistrez un point de contrôle, le système le stocke dans l’espace mémoire alloué sur les nœuds de votre cluster. Il réplique automatiquement les données sur les nœuds de calcul adjacents pour renforcer la fiabilité. Cette stratégie de réplication protège contre les défaillances d’un ou de plusieurs nœuds tout en fournissant un accès rapide pour les opérations de récupération.
Le système enregistre également régulièrement les points de contrôle dans le stockage permanent en fonction de votre configuration. Cela garantit la durabilité à long terme de votre progression d’entraînement.
Les composants clés sont les suivants :
-
Système de gestion de la mémoire : démon de gestion de mémoire qui fournit de la mémoire désagrégée en tant que service pour le stockage des points de contrôle.
-
Bibliothèque Python HyperPod : sert d’interface avec les API de stockage désagrégé et fournit des utilitaires pour enregistrer, charger et gérer les points de contrôle entre les niveaux.
-
Réplication des points de contrôle : réplique automatiquement les points de contrôle sur plusieurs nœuds pour garantir la tolérance aux pannes.
Le système s’intègre de manière transparente aux boucles d’entraînement PyTorch grâce à de simples appels d’API. Cela nécessite des modifications minimales de votre code existant.
Avantages
Les points de contrôle par niveaux gérés offrent plusieurs avantages pour l’entraînement des modèles à grande échelle :
-
Facilité d’utilisation améliorée : gère l’enregistrement, la réplication, la persistance et la récupération des points de contrôle.
-
Opérations de point de contrôle plus rapides : le stockage basé sur la mémoire permet des temps d’enregistrement et de chargement plus rapides que les points de contrôle sur disque, ce qui permet une récupération plus rapide.
-
Tolérance aux pannes : la réplication automatique des points de contrôle entre les nœuds protège contre les défaillances matérielles des nœuds.
-
Changements de code minimaux : l’intégration simple des API ne nécessite que des modifications mineures aux scripts d’entraînement existants.
-
Débit d’entraînement amélioré : la réduction des frais liés aux points de contrôle signifie plus de temps consacré à l’entraînement proprement dit.