Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Exécution de charges de travail de formation distribuées avec Slurm on HyperPod
SageMaker HyperPod est spécialisé pour les charges de travail liées à la formation de grands modèles linguistiques (LLMs) et de modèles de base (FMs). Ces charges de travail nécessitent souvent l’utilisation de plusieurs techniques de parallélisme et d’opérations optimisées pour l’infrastructure et les ressources ML. En utilisant SageMaker HyperPod, vous pouvez utiliser les frameworks de formation distribués SageMaker basés sur l'IA suivants :
-
La bibliothèque de parallélisme distribué des données (SMDDP) basée sur l'SageMaker IA qui propose des opérations de communication collective optimisées pour. AWS
-
La bibliothèque de parallélisme des modèles SageMaker AI (SMP) qui implémente diverses techniques de parallélisme des modèles.
Rubriques
Utilisation de SMDDP sur un SageMaker HyperPod
La bibliothèque SMDDP est une bibliothèque de communication collective qui améliore les performances de calcul lors de l’entraînement parallèle des données distribuées. La bibliothèque SMDDP fonctionne avec les cadres d’entraînement distribué open source suivants :
La bibliothèque SMDDP répond à la surcharge de communication liée aux principales opérations de communication collective en proposant ce qui suit pour. SageMaker HyperPod
-
La bibliothèque propose des offres
AllGatheroptimisées pourAWS.AllGatherest une opération clé utilisée dans le cadre du sharded data parallel training, une technique de parallélisme de données économe en mémoire proposée par des bibliothèques populaires. Il s'agit notamment de la bibliothèque de parallélisme des modèles d' SageMaker IA (SMP), de DeepSpeed Zero Redundancy Optimizer (Zero) et de PyTorch Fully Sharded Data Parallelism (FSDP). -
La bibliothèque optimise la node-to-node communication en utilisant pleinement l'infrastructure AWS réseau et la topologie d'instance SageMaker AI ML.
Pour exécuter des exemples de tâches d’entraînement de parallélisme des données
Explorez les exemples d’entraînement distribué suivants mettant en œuvre des techniques de parallélisme des données à l’aide de la bibliothèque SMDDP.
Pour configurer un environnement d'utilisation de la bibliothèque SMDDP sur SageMaker HyperPod
Vous trouverez ci-dessous les exigences relatives à l'environnement de formation pour utiliser la bibliothèque SMDDP sur. SageMaker HyperPod
-
PyTorch v2.0.1 et versions ultérieures
-
CUDA v11.8 et versions ultérieures
-
Version de l’environnement d’exécution
libstdc++supérieure à 3 -
Python v3.10.x et versions ultérieures
-
ml.p4d.24xlargeetml.p4de.24xlarge, qui sont des types d’instances pris en charge par la bibliothèque SMDDP -
imdsv2activé sur l’hôte d’entraînement
Selon la manière dont vous souhaitez exécuter la tâche d’entraînement distribuée, deux options s’offrent à vous pour installer la bibliothèque SMDDP :
-
Installation directe à l’aide du fichier binaire SMDDP.
-
Utilisation des SageMaker AI Deep Learning Containers (DLCs) préinstallés avec la bibliothèque SMDDP.
Les images Docker préinstallées avec la bibliothèque SMDDP ou dans les fichiers binaires SMDDP sont répertoriées dans la section Frameworks pris en charge dans la documentation de la bibliothèque SMDDP. URLs
Pour installer la bibliothèque SMDDP sur le DLAMI SageMaker HyperPod
-
pip install --no-cache-dir https://smdataparallel.s3.amazonaws.com/binary/pytorch/<pytorch-version>/cuXYZ/YYYY-MM-DD/smdistributed_dataparallel-X.Y.Z-cp310-cp310-linux_x86_64.whlNote
Si vous travaillez dans un environnement Conda, veillez à installer PyTorch en utilisant
conda installplutôt que.pipconda install pytorch==X.Y.Ztorchvision==X.Y.Ztorchaudio==X.Y.Zpytorch-cuda=X.Y.Z-c pytorch -c nvidia
Pour utiliser la bibliothèque SMDDP sur un conteneur Docker
-
La bibliothèque SMDDP est préinstallée sur les SageMaker AI Deep Learning Containers (). DLCs Pour trouver la liste des frameworks d' SageMaker IA compatibles PyTorch avec la bibliothèque SMDDP, consultez la section DLCs Frameworks pris en charge dans la documentation de la bibliothèque SMDDP. Vous pouvez également apporter votre propre conteneur Docker avec les dépendances requises installées pour utiliser la bibliothèque SMDDP. Pour en savoir plus sur la configuration d’un conteneur Docker personnalisé pour utiliser la bibliothèque SMDDP, consultez également Création de votre propre conteneur Docker avec la bibliothèque SageMaker AI de parallélisme distribué des données.
Important
Pour utiliser la bibliothèque SMDDP dans un conteneur Docker, montez le répertoire
/var/logdepuis la machine hôte sur/var/logdans le conteneur. Cela peut être fait en ajoutant l’option suivante lors de l’exécution de votre conteneur.docker run<OTHER_OPTIONS>-v /var/log:/var/log ...
Pour savoir comment exécuter des tâches d’entraînement de parallélisme des données avec SMDDP en général, consultez Entraînement distribué avec la bibliothèque SageMaker AI de parallélisme distribué des données.
Utilisation du protocole SMP sur un cluster SageMaker HyperPod
La bibliothèque de parallélisme des modèles SageMaker AI (SMP) propose différentes techniques de parallélisme des state-of-the-art modèles, notamment :
-
parallélisme des données pleinement partitionnées
-
parallélisme expert
-
entraînement de précision mixte avec les types FP16/BF16 et de FP8 données
-
parallélisme de tenseur
La bibliothèque SMP est également compatible avec les frameworks open source tels que PyTorch FSDP, NVIDIA Megatron et NVIDIA Transformer Engine.
Pour exécuter un exemple de charge de travail d’entraînement de parallélisme des modèles
Les équipes du service d' SageMaker intelligence artificielle proposent des exemples de tâches de formation mettant en œuvre le parallélisme des modèles avec la bibliothèque SMP à l'adresse. awsome-distributed-training/3.test_cases/17.SM-modelparallelv2