View a markdown version of this page

Exécution de charges de travail de formation distribuées avec Slurm activé HyperPod - Amazon SageMaker AI

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 activé HyperPod

SageMaker HyperPod est spécialisé pour les charges de travail liées à la formation de grands modèles linguistiques (LLM) et de modèles de base (FM). 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. À l'aide de SageMaker HyperPod, vous pouvez utiliser les cadres de formation distribués basés sur l' SageMaker IA suivants :

  • La bibliothèque de parallélisme de données distribuées (SMDDP) SageMaker AI qui propose des opérations de communication collective optimisées pour. AWS

  • La bibliothèque de parallélisme des modèles d'SageMaker IA (SMP) qui met en œuvre diverses techniques de parallélisme des modèles.

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 gère la surcharge de communication des principales opérations de communication collective en proposant les fonctionnalités suivantes pour. SageMaker HyperPod

  • Les offres de la bibliothèque sont AllGather optimisées pour AWS. AllGatherest une opération clé utilisée dans l'apprentissage parallèle des données partitionnées, qui est une technique de parallélisme de données économe en mémoire proposée par les bibliothèques populaires. Il s'agit notamment de la bibliothèque de parallélisme des modèles d' SageMaker IA (SMP), de l'optimiseur de redondance DeepSpeed zéro (Zero) et du parallélisme de données PyTorch entièrement partagé (FSDP).

  • La bibliothèque assure une communication de nœud à nœud optimisée en utilisant pleinement l'infrastructure AWS réseau et la topologie des instances 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 permettant d'utiliser la bibliothèque SMDDP sur SageMaker HyperPod

Voici 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.24xlarge et ml.p4de.24xlarge, qui sont des types d’instances pris en charge par la bibliothèque SMDDP

  • imdsv2 activé 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.

  • À l'aide des conteneurs SageMaker AI Deep Learning (DLC) préinstallés avec la bibliothèque SMDDP.

Les images Docker préinstallées avec la bibliothèque SMDDP ou les URL des fichiers binaires SMDDP sont répertoriées dans Cadres pris en charge, dans la documentation de la bibliothèque SMDDP.

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.whl

    Note

    Si vous travaillez dans un environnement Conda, assurez-vous d'installer PyTorch en utilisant conda install au lieu depip.

    conda install pytorch==X.Y.Z torchvision==X.Y.Z torchaudio==X.Y.Z pytorch-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 (DLC). Pour trouver la liste des DLC du framework SageMaker AI pour PyTorch la bibliothèque SMDDP, consultez la section 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éez votre propre conteneur Docker avec la bibliothèque parallèle de données distribuées SageMaker AI.

    Important

    Pour utiliser la bibliothèque SMDDP dans un conteneur Docker, montez le répertoire /var/log depuis la machine hôte sur /var/log dans 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 de parallélisme des données distribuées SageMaker AI.

Utilisation de SMP sur un cluster SageMaker HyperPod

La bibliothèque de parallélisme des modèles d'SageMaker IA (SMP) propose diverses techniques de parallélisme de modèles de pointe, notamment :

  • parallélisme des données pleinement partitionnées

  • parallélisme expert

  • entraînement de précision mixte avec FP16/BF16 types de données FP8

  • 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 IA 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