Notes de mise à jour de la bibliothèque SageMaker de parallélisme des modèles
Consultez les notes de mise à jour pour suivre les dernières mises à jour de la bibliothèque SageMaker de parallélismes des modèles (SMP). Si vous avez des questions supplémentaires concernant la bibliothèque SMP, contactez l’équipe du service SMP à l’adresse sm-model-parallel-feedback@amazon.com.
Bibliothèque SageMaker de parallélisme des modèles v2.8.0
Date : 1er avril 2025
Mises à jour de la bibliothèque SMP
Correctifs de bogues
-
L’écrêtage des normes de gradient SMP prend désormais en charge le déchargement d’activation.
Conteneurs SMP Docker et Enroot
L’équipe de la bibliothèque SMP distribue des conteneurs Docker en remplacement des conteneurs du cadre SageMaker PyTorch. Si vous utilisez la classe d’estimateur PyTorch du kit SageMaker Python SDK et que vous spécifiez la configuration de distribution pour utiliser SMP v2, SageMaker AI récupère automatiquement les conteneurs Docker SMP. Pour utiliser cette version de SMP v2, mettez à niveau le kit SageMaker Python SDK vers la version v2.243.0 ou ultérieure.
Mises à jour des devises
-
Ajout de la prise en charge de PyTorch v2.5.1
-
Mise à niveau du support CUDA vers la version 12.4
-
Mise à niveau du support NCCL vers la version 2.23.4
-
Mise à niveau de la bibliothèque SMDDP vers la version 2.6.0
Détails du conteneur
-
Conteneur Docker SMP pour PyTorch v2.5.1 avec CUDA v12.4
658645717510.dkr.ecr.<us-west-2>.amazonaws.com/smdistributed-modelparallel:2.5.1-gpu-py311-cu124 -
Conteneur Enroot SMP pour PyTorch v2.5.1 avec CUDA v12.4
https://sagemaker-distributed-model-parallel.s3.<us-west-2>.amazonaws.com/enroot/2.5.1-gpu-py311-cu124.sqsh -
Packages préinstallés
-
Bibliothèque SMP v2.8.0
-
Bibliothèque SMDDP v2.6.0
-
CUDNN v9.4.0
-
FlashAttention v2.5.8
-
TransformerEngine v1.10
-
Megatron v0.8.0
-
Transformeurs Hugging Face v4.44.2
-
Bibliothèque Hugging Face de jeux de données v2.19.0
-
EFA v1.36.0
-
NCCL v2.23.4
-
AWS-OFI-NCCL v1.13.2
-
Canal Conda SMP
Le compartiment S3 suivant est le canal Conda public de la bibliothèque SMP, hébergé par l’équipe du service SMP. Si vous souhaitez installer la bibliothèque SMP v2 dans un environnement tel que les clusters SageMaker HyperPod, utilisez ce canal Conda pour effectuer cette opération correctement.
-
https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/
Pour plus d’informations sur les canaux Conda en général, consultez Channels
Bibliothèque SageMaker de parallélisme des modèles v2.7.0
Date : 04 décembre 2024
Mises à jour de la bibliothèque SMP
Nouvelles fonctionnalités
-
Ajout de la prise en charge de Formules SageMaker HyperPod.
Conteneurs SMP Docker et Enroot
L’équipe de la bibliothèque SMP distribue des conteneurs Docker et Enroot en remplacement des conteneurs du cadre SageMaker PyTorch. Si vous utilisez la classe d’estimateur PyTorch du kit SageMaker Python SDK et que vous spécifiez la configuration de distribution pour utiliser SMP v2, SageMaker récupère automatiquement les conteneurs Docker SMP. Pour utiliser cette version de SMP v2, mettez à niveau le kit SageMaker Python SDK vers la version v2.237.0 ou ultérieure.
Détails du conteneur
-
Conteneur Docker SMP pour PyTorch v2.4.1 avec CUDA v12.1
658645717510.dkr.ecr.<us-west-2>.smdistributed-modelparallel:2.4.1-gpu-py311-cu121 -
Conteneur Enroot SMP pour PyTorch v2.4.1 avec CUDA v12.1
https://sagemaker-distributed-model-parallel.s3.<us-west-2>.amazonaws.com/enroot/2.4.1-gpu-py311-cu121.sqsh -
Packages préinstallés
-
Bibliothèque SMP v2.7.0
-
Bibliothèque SMDDP v2.5.0
-
CUDNN v9.4.0
-
FlashAttention v2.5.8
-
TransformerEngine v1.10
-
Megatron v0.8.0
-
Transformeurs Hugging Face v4.44.2
-
Bibliothèque Hugging Face de jeux de données v2.19.0
-
EFA v1.32.0
-
NCCL v2.21.5
-
Canal Conda SMP
Le compartiment S3 suivant est le canal Conda public de la bibliothèque SMP, hébergé par l’équipe du service SMP. Si vous souhaitez installer la bibliothèque SMP v2 dans un environnement Conda tel que les clusters SageMaker HyperPod, utilisez ce canal Conda pour effectuer cette opération correctement.
-
https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/
Pour plus d’informations sur les canaux Conda en général, consultez Channels
Bibliothèque SageMaker de parallélisme des modèles v2.6.1
Date : 31 octobre 2024
Mises à jour de la bibliothèque SMP
Correctifs de bogues
-
Correction d’un problème
ImportErrorqui se produisait lors de l’utilisation d’anciens scripts d’entraînement avec SMP v2.6.0. Cela corrige la rétro-incompatibilité avec SMP v2.6.0. -
Ajout d’un
DeprecationWarningpourtorch.sagemaker.distributed.fsdp.checkpoint. Ce module sera obsolète et supprimé dans SMP v2.7.0. Si vous n’utilisez actuellement pastorch.sagemaker.distributed.fsdp.checkpointdans votre code, vous devez prévoir de mettre à jour vos scripts avant la sortie de SMP v2.7.0 afin d’éviter de futurs problèmes. -
Correction d’un problème de rétrocompatibilité identifié dans SMP v2.6.0. Ce problème était lié à l’obsolescence de la méthode de points de contrôle
USE_PG_WITH_UTILdans SMP v2.6.0, qui a rompu la rétrocompatibilité avec les versions précédentes des scripts d’entraînement. Pour résoudre ce problème, réexécutez vos tâches d’entraînement PyTorch pour récupérer le dernier conteneur SMP empaqueté avec SMP v2.6.1.
Conteneurs Docker SMP
L’équipe de la bibliothèque SMP distribue des conteneurs Docker en remplacement des conteneurs du cadre SageMaker PyTorch. Si vous utilisez la classe d’estimateur PyTorch du kit SageMaker Python SDK et que vous spécifiez la configuration de distribution pour utiliser SMP v2, SageMaker AI récupère automatiquement les conteneurs Docker SMP.
Détails du conteneur
-
Conteneur Docker SMP pour PyTorch v2.4.1 avec CUDA v12.1
658645717510.dkr.ecr.<us-west-2>.amazonaws.com/smdistributed-modelparallel:2.4.1-gpu-py311-cu121 -
Packages préinstallés
-
Bibliothèque SMP v2.6.1
-
Bibliothèque SMDDP v2.5.0
-
CUDNN v9.4.0
-
FlashAttention v2.5.8
-
TransformerEngine v1.10
-
Megatron v0.8.0
-
Transformeurs Hugging Face v4.44.2
-
Bibliothèque Hugging Face de jeux de données v2.19.0
-
EFA v1.32.0
-
NCCL v2.21.5
-
Canal Conda SMP
Le compartiment S3 suivant est le canal Conda public de la bibliothèque SMP, hébergé par l’équipe du service SMP. Si vous souhaitez installer la bibliothèque SMP v2 dans un environnement de ressources de calcul hautement personnalisables, comme les clusters SageMaker HyperPod, utilisez ce canal Conda pour effectuer correctement cette opération.
-
https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/
Pour plus d’informations sur les canaux Conda en général, consultez Channels
Bibliothèque SageMaker de parallélisme des modèles v2.6.0
Date : 17 octobre 2024
Mises à jour de la bibliothèque SMP
Nouvelles fonctionnalités
-
Ajout de la prise en charge des configurations de modèles LLM suivantes. Vous pouvez commencer à utiliser le Parallélisme de contexte et le Parallélisme de tenseur.
-
Ajout de la prise en charge du Parallélisme de tenseur pour les configurations des modèles Mixtral suivants.
-
Ajout de la prise en charge de l’implémentation du parallélisme de contexte basée sur AllGather, qui utilise la communication collective AllGather pour obtenir la séquence complète de tenseurs clé-valeur. Les implémentations disponibles sont
p2petall_gather. L’implémentationp2putilise des appels d’envoi/de réception peer-to-peer pour l’accumulation de tenseurs clé-valeur (KV) pendant le calcul de l’attention, qui s’exécutent de façon asynchrone et permettent à la communication de chevaucher le calcul. D’autre part, l’implémentationall_gatherutilise l’opération de communication collectiveAllGatherpour l’accumulation de tenseurs KV. Pour découvrir comment appliquer ces implémentations de parallélisme de contexte, consultez Parallélisme de contexte. -
Ajout du support pour le réglage de la valeur thêta de la vectorisation de la position rotative (RoPE).
Correctifs de bogues
-
Correction du bogue en raison duquel la vectorisation de la position rotative (RoPE) n’est pas correctement initialisée pendant le pré-entraînement lorsque le paramètre différé est activé.
Problèmes connus
-
Transformer Engine ne prend actuellement pas en charge le parallélisme de contexte ni FP8 lorsque l’attention à fenêtre défilante est activée. Ainsi, la version SMP des transformeurs Mistral ne prend pas en charge le parallélisme de contexte ni l’entraînement FP8 lorsque la configuration des fenêtres défilantes est définie sur une valeur non nulle.
Conteneurs Docker SMP
L’équipe de la bibliothèque SMP distribue des conteneurs Docker en remplacement des conteneurs du cadre SageMaker PyTorch. Si vous utilisez la classe d’estimateur PyTorch du kit SageMaker Python SDK et que vous spécifiez la configuration de distribution pour utiliser SMP v2, SageMaker AI récupère automatiquement les conteneurs Docker SMP.
Mises à jour des devises
-
PyTorch mis à niveau vers la version 2.4.1
-
Mise à niveau de Megatron vers la version 0.8.0
-
Mise à niveau de la bibliothèque Transformer Engine vers la version 1.10
-
Mise à niveau de Transformers vers la version 4.44.2
-
Mise à niveau de cuDNN vers la version 9.4.0.58
Détails du conteneur
-
Conteneur Docker SMP pour PyTorch v2.4.1 avec CUDA v12.1
658645717510.dkr.ecr.<us-west-2>.amazonaws.com/smdistributed-modelparallel:2.4.1-gpu-py311-cu121 -
Packages préinstallés
-
Bibliothèque SMP v2.6.0
-
Bibliothèque SMDDP v2.5.0
-
CUDNN v9.4.0
-
FlashAttention v2.5.8
-
TransformerEngine v1.10
-
Megatron v0.8.0
-
Transformeurs Hugging Face v4.44.2
-
Bibliothèque Hugging Face de jeux de données v2.19.0
-
EFA v1.32.0
-
NCCL v2.21.5
-
Canal Conda SMP
Le compartiment S3 suivant est le canal Conda public de la bibliothèque SMP, hébergé par l’équipe du service SMP. Si vous souhaitez installer la bibliothèque SMP v2 dans un environnement de ressources de calcul hautement personnalisables, comme les clusters SageMaker HyperPod, utilisez ce canal Conda pour effectuer correctement cette opération.
-
https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/
Pour plus d’informations sur les canaux Conda en général, consultez Channels
Bibliothèque SageMaker de parallélisme des modèles v2.5.0
Date : 28 août 2024
Mises à jour de la bibliothèque SMP
Nouvelles fonctionnalités
-
Ajout de la prise en charge de l’entraînement à précision mixte à l’aide du format de données FP8 sur les instances P5 pour le modèle Mixtral.
-
Les configurations Mixtral prises en charge sont 8x7B et 8x22B. Pour en savoir plus, consultez Entraînement de précision mixte avec FP8 sur des instances P5 à l’aide de Transformer Engine.
-
-
Ajout de la prise en charge du Parallélisme de contexte pour les configurations des modèles suivants.
-
Llama-v2 : 7B et 70B
-
Llama-v3 : 8B et 70B
-
GPT-NeoX : 20B
-
-
Ajout de la prise en charge de l’enregistrement des points de contrôle de façon asynchrone. Pour en savoir plus, consultez Points de contrôle à l’aide de la SMP.
-
Prise en charge de l’enregistrement des points de contrôle directement dans S3 sans utiliser Amazon EBS ni des serveurs de fichiers.
-
Correctifs de bogues
-
Résolution d’un problème qui provoquait une perte initiale étonnamment élevée pendant le peaufinage de Llama lors du chargement d’un point de contrôle de modèle pré-entraîné et de l’utilisation du parallélisme de tenseur.
Remarques
-
Pour utiliser les points de contrôle d’activation pour Mixtral avec une précision mixte FP8, vous devez contrôler séparément la couche d’attention et la couche experte. Pour un exemple de configuration correcte, consultez l’exemple de script d’entraînement
dans le référentiel d’exemples Amazon SageMaker AI.
Problèmes connus
-
Le type d’équilibrage de charge équilibré dans la configuration MoE (torch.sagemaker.moe.moe_config.MoEConfig) est actuellement incompatible avec les points de contrôle d’activation.
-
Avec le parallélisme de contexte, GPT-NeoX montre une régression des performances à la fois lors du pré-entraînement et lors du peaufinage.
-
Pour les instances GPT-NeoX sur P4, le chargement direct de poids à partir d’un modèle transformé initialisé à paramètres différés dans un modèle de transformeur Hugging Face entraîne un décalage de perte lors de la première étape.
Conteneurs Docker SMP
L’équipe de la bibliothèque SMP distribue des conteneurs Docker en remplacement des conteneurs du cadre SageMaker PyTorch. Si vous utilisez la classe d’estimateur PyTorch du kit SageMaker Python SDK et que vous spécifiez la configuration de distribution pour utiliser SMP v2, SageMaker AI récupère automatiquement les conteneurs Docker SMP. Pour utiliser cette version de SMP v2, mettez à niveau le kit SageMaker Python SDK vers la version 2.224.0 ou ultérieure.
Mises à jour des devises
-
Mise à niveau de la bibliothèque FlashAttention vers la version 2.5.8
-
Mise à niveau de la bibliothèque Transformer Engine vers la version 1.8
Détails du conteneur
-
Conteneur Docker SMP pour PyTorch v2.3.1 avec CUDA v12.1
658645717510.dkr.ecr.<region>.amazonaws.com/smdistributed-modelparallel:2.3.1-gpu-py311-cu121Pour obtenir la liste complète des régions prises en charge, consultez Régions AWS.
-
Packages préinstallés
-
Bibliothèque SMP v2.5.0
-
Bibliothèque SMDDP v2.3.0
-
CUDNN v8.9.7.29
-
FlashAttention v2.5.8
-
TransformerEngine v1.8
-
Megatron v0.7.0
-
Transformeurs Hugging Face v4.40.1
-
Bibliothèque Hugging Face de jeux de données v2.19.0
-
EFA v1.32.0
-
NCCL v2.21.5
-
Canal Conda SMP
Le compartiment S3 suivant est le canal Conda public de la bibliothèque SMP, hébergé par l’équipe du service SMP. Si vous souhaitez installer la bibliothèque SMP v2 dans un environnement de ressources de calcul hautement personnalisables, comme les clusters SageMaker HyperPod, utilisez ce canal Conda pour effectuer correctement cette opération.
-
https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/
Pour plus d’informations sur les canaux Conda en général, consultez Channels
Bibliothèque SageMaker de parallélisme des modèles v2.4.0
Date : 20 juin 2024
Mises à jour de la bibliothèque SMP
Correctifs de bogues
-
Correction d’un bogue qui provoquait des formes logit incorrectes lorsque les étiquettes ne sont pas transmises lors de la transmission vers l’avant à l’aide du transformeur SMP.
Mises à jour des devises
-
Ajout de la prise en charge de PyTorch v2.3.1.
-
Ajout de la prise en charge de Python 3.11.
-
Ajout de la prise en charge de la bibliothèque des transformeurs Hugging Face v4.40.1.
Obsolescence
-
Arrêt de la prise en charge de Python v3.10.
-
Arrêt de la prise en charge des versions de la bibliothèque des transformeurs Hugging Face antérieures à v4.40.1.
Autres modifications
-
Inclusion d’un patch pour basculer l’enregistrement des tenseurs dédupliqués sur différents rangs. Pour en savoir plus, consultez le fil de discussion
dans le référentiel GitHub de PyTorch.
Problèmes connus
-
Il existe un problème connu selon lequel la perte peut connaître un pic, puis reprendre à une valeur de perte plus élevée pendant le peaufinage du modèle Llama-3 70B avec le parallélisme de tenseur.
Conteneurs Docker SMP
L’équipe de la bibliothèque SMP distribue des conteneurs Docker en remplacement des conteneurs du cadre SageMaker PyTorch. Si vous utilisez la classe d’estimateur PyTorch du kit SageMaker Python SDK et que vous spécifiez la configuration de distribution pour utiliser SMP v2, SageMaker AI récupère automatiquement les conteneurs Docker SMP. Pour utiliser cette version de SMP v2, mettez à niveau le kit SageMaker Python SDK vers la version 2.224.0 ou ultérieure.
Mises à jour des devises
-
Mise à niveau de la bibliothèque SMDDP vers la version 2.3.0.
-
Mise à niveau de la bibliothèque NCCL vers la version 2.21.5.
-
Mise à niveau du logiciel EFA vers la version v1.32.0.
Obsolescence
-
Arrêt de l’installation de la bibliothèque Torch Distributed Experimental (torchdistX)
.
Détails du conteneur
-
Conteneur Docker SMP pour PyTorch v2.3.1 avec CUDA v12.1
658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.3.1-gpu-py311-cu121 -
Packages préinstallés
-
Bibliothèque SMP v2.4.0
-
Bibliothèque SMDDP v2.3.0
-
CUDNN v8.9.7.29
-
FlashAttention v2.3.3
-
TransformerEngine v1.2.1
-
Transformeurs Hugging Face v4.40.1
-
Bibliothèque Hugging Face de jeux de données v2.19.0
-
EFA v1.32.0
-
NCCL v2.21.5
-
Canal Conda SMP
Le compartiment S3 suivant est le canal Conda public de la bibliothèque SMP, hébergé par l’équipe du service SMP. Si vous souhaitez installer la bibliothèque SMP v2 dans un environnement de ressources de calcul hautement personnalisables, comme les clusters SageMaker HyperPod, utilisez ce canal Conda pour effectuer correctement cette opération.
-
https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/
Pour plus d’informations sur les canaux Conda en général, consultez Channels
Bibliothèque SageMaker de parallélisme des modèles v2.3.1
Date : 9 mai 2024
Correctifs de bogues
-
Correction d’un problème
ImportErrorlors de l’utilisation demoe_load_balancing=balanceddans torch.sagemaker.moe.moe_config.MoEConfig pour le parallélisme expert. -
Correction d’un problème de peaufinage en raison duquel l’appel torch.sagemaker.transform génère
KeyErrorquandload_state_dict_from_rank0est activé. -
Correction d’une erreur de mémoire insuffisante (OOM) générée lors du chargement de grands modèles Mixture of Experts (MoE), tels que Mixtral 8x22B, pour peaufinage.
Conteneurs Docker SMP
L’équipe de la bibliothèque SMP distribue des conteneurs Docker en remplacement des conteneurs du cadre SageMaker PyTorch. Cette version intègre les corrections de bogues susmentionnées dans l’image Docker SMP suivante.
-
Conteneur Docker SMP pour PyTorch v2.2.0 avec CUDA v12.1
658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.2.0-gpu-py310-cu121
Bibliothèque SageMaker de parallélisme des modèles v2.3.0
Date : 11 avril 2024
Nouvelles fonctionnalités
-
Ajout d’une nouvelle caractéristique de base, le parallélisme expert, pour prendre en charge les modèles de transformeurs MoE. Pour en savoir plus, consultez Parallélisme expert.
Conteneurs Docker SMP
L’équipe de la bibliothèque SMP distribue des conteneurs Docker en remplacement des conteneurs du cadre SageMaker PyTorch. Si vous utilisez la classe d’estimateur PyTorch du kit SageMaker Python SDK et que vous spécifiez la configuration de distribution pour utiliser SMP v2, SageMaker récupère automatiquement les conteneurs Docker SMP. Pour utiliser cette version de SMP v2, mettez à niveau le kit SageMaker Python SDK vers la version 2.214.4 ou ultérieure.
-
Conteneur Docker SMP pour PyTorch v2.2.0 avec CUDA v12.1
658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.2.0-gpu-py310-cu121-
Packages préinstallés dans ce conteneur Docker
-
Bibliothèque SMDDP v2.2.0
-
CUDNN v8.9.5.29
-
FlashAttention v2.3.3
-
TransformerEngine v1.2.1
-
Transformeurs Hugging Face v4.37.1
-
Bibliothèque Hugging Face de jeux de données v2.16.1
-
Megatron-core 0.5.0
-
EFA v1.30.0
-
NCCL v2.19.4
-
-
Bibliothèque SageMaker de parallélisme des modèles v2.2.0
Date : 07 mars 2024
Nouvelles fonctions
-
Ajout de la prise en charge de l’entraînement FP8 des modèles de transformeur Hugging Face suivants sur des instances P5 avec intégration de Transformer Engine :
-
GPT-NeoX
-
Llama 2
-
Correctifs de bogue
-
Correction d’un bogue en raison duquel la contiguïté des tenseurs n’était pas garantie avant l’appel collectif
AllGatherlors de l’entraînement de parallélisme de tenseur.
Mises à jour des devises
-
Ajout de la prise en charge de PyTorch v2.2.0.
-
Mise à niveau de la bibliothèque SMDDP vers la version 2.2.0.
-
Mise à niveau de la bibliothèque FlashAttention vers la version 2.3.3.
-
Mise à niveau de la bibliothèque NCCL vers la version 2.19.4.
Obsolescence
-
Arrêt de la prise en charge des versions de Transformer Engine antérieures à la version 1.2.0.
Problèmes connus
-
La caractéristique Déchargement d’activation SMP ne fonctionne pas actuellement. Utilisez plutôt le déchargement d’activation natif PyTorch.
Autres modifications
-
Inclusion d’un correctif pour corriger la régression de performances évoquée dans le fil de discussion https://github.com/pytorch/pytorch/issues/117748
du référentiel GitHub PyTorch.
Conteneurs Docker SMP
L’équipe de la bibliothèque SMP distribue des conteneurs Docker en remplacement des conteneurs du cadre SageMaker PyTorch. Si vous utilisez la classe d’estimateur PyTorch du kit SageMaker Python SDK et que vous spécifiez la configuration de distribution pour utiliser SMP v2, SageMaker AI récupère automatiquement les conteneurs Docker SMP. Pour utiliser cette version de SMP v2, mettez à niveau le kit SageMaker Python SDK vers la version 2.212.0 ou ultérieure.
-
Conteneur Docker SMP pour PyTorch v2.2.0 avec CUDA v12.1
658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.2.0-gpu-py310-cu121-
Disponible pour les instances P4d, P4de et P5
-
Packages préinstallés dans ce conteneur Docker
-
Bibliothèque SMDDP v2.2.0
-
CUDNN v8.9.5.29
-
FlashAttention v2.3.3
-
TransformerEngine v1.2.1
-
Transformeurs Hugging Face v4.37.1
-
Bibliothèque Hugging Face de jeux de données v2.16.1
-
EFA v1.30.0
-
NCCL v2.19.4
-
-
Bibliothèque SageMaker de parallélisme des modèles v2.1.0
Date : 6 février 2024
Mises à jour des devises
-
Ajout de la prise en charge de PyTorch v2.1.2.
Obsolescence
-
Arrêt de la prise en charge des transformeurs Hugging Face v4.31.0.
Problèmes connus
-
Il a été découvert que le peaufinage du modèle Llama 2 Hugging Face avec
attn_implementation=flash_attention_2et FSDP entraîne une divergence du modèle. Pour référence, consultez le ticket du problèmedans le référentiel GitHub des transformeurs Hugging Face. Pour éviter le problème de divergence, utilisez attn_implementation=sdpa. Autrement, utilisez l’implémentation du modèle de transformeur SMP en configurantuse_smp_implementation=True.
Conteneurs Docker SMP
L’équipe de la bibliothèque SMP distribue des conteneurs Docker en remplacement des conteneurs du cadre SageMaker PyTorch. Si vous utilisez la classe d’estimateur PyTorch du kit SageMaker Python SDK et que vous spécifiez la configuration de distribution pour utiliser SMP v2, SageMaker récupère automatiquement les conteneurs Docker SMP. Pour utiliser cette version de SMP v2, mettez à niveau le kit SageMaker Python SDK vers la version 2.207.0 ou ultérieure.
-
Conteneur Docker SMP pour PyTorch v2.1.2 avec CUDA v12.1
658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.1.2-gpu-py310-cu121-
Disponible pour les instances P4d, P4de et P5
-
Packages préinstallés dans ce conteneur Docker
-
Bibliothèque SMDDP v2.1.0
-
CUDNN v8.9.5.29
-
FlashAttention v2.3.3
-
TransformerEngine v1.2.1
-
Transformeurs Hugging Face v4.37.1
-
Bibliothèque Hugging Face de jeux de données v2.16.1
-
EFA v1.30.0
-
-
Canal Conda SMP
Le compartiment S3 suivant est le canal Conda public hébergé par l’équipe du service SMP. Si vous souhaitez installer la bibliothèque SMP v2 dans un environnement de ressources de calcul hautement personnalisables, comme les clusters SageMaker HyperPod, utilisez ce canal Conda pour effectuer correctement cette opération.
-
https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/
Pour plus d’informations sur les canaux Conda en général, consultez Channels
Bibliothèque SageMaker de parallélisme des modèles v2.0.0
Date : 19 décembre 2023
Nouvelles fonctionnalités
Sortie de la bibliothèque SageMaker de parallélisme des modèles (SMP) v2.0.0 avec les nouvelles offres suivantes.
-
Un nouveau package
torch.sagemaker, entièrement remanié par rapport au packagesmdistributed.modelparallel.torchprécédent dans SMP v1.x. -
Prise en charge de PyTorch 2.0.1.
-
Prise en charge de PyTorch FSDP.
-
Implémentation du parallélisme de tenseur en intégrant la bibliothèque Transformer Engine
. -
Prise en charge de l’entraînement SageMaker et de SageMaker HyperPod.
Évolutions
-
Remaniement complet des API dans SMP v2 et fourniture du package
torch.sagemaker. La plupart du temps, il suffit d’initialiser avec le moduletorch.sagemaker.init()et de transmettre les paramètres de configuration du parallélisme des modèles. Avec ce nouveau package, vous pouvez considérablement simplifier les modifications de code dans votre script d’entraînement. Pour en savoir plus sur l’adaptation de votre script d’entraînement pour utiliser SMP v2, consultez Utilisation de la bibliothèque SageMaker de parallélisme des modèles v2. -
Si vous avez utilisé SMP v1 pour entraîner des modèles de transformeur Hugging Face et que vous souhaitez réutiliser les modèles dans SMP v2, consultez Mise à niveau de SMP v1 vers SMP v2.
-
Pour l’entraînement PyTorch FSDP, vous devez utiliser SMP v2.
Problèmes connus
-
Les points de contrôle d’activation ne fonctionnent actuellement qu’avec les politiques d’encapsulation suivantes avec FSDP.
-
auto_wrap_policy = functools.partial(transformer_auto_wrap_policy, ...)
-
-
Pour utiliser Déchargement d’activation, le type des points de contrôle d’activation FSDP doit être REENTRANT
. -
Lors d’une exécution avec le parallélisme de tenseur activé et le degré de parallélisme partitionné des données défini sur
1, vous devez utiliserbackend = nccl. L’option de système dorsalsmddpn’est pas prise en charge dans ce scénario. -
Transformer Engine
est nécessaire pour utiliser PyTorch avec la bibliothèque SMP même quand le parallélisme de tenseur n’est pas utilisé.
Autres modifications
-
À partir de cette version, la documentation de la bibliothèque SageMaker de parallélisme des modèles est entièrement disponible dans ce Guide du développeur Amazon SageMaker AI. Remplacée par ce guide complet du développeur SMP v2 dans le Guide du développeur Amazon SageMaker AI, la référence supplémentaire pour SMP v1.x
dans la documentation du kit SageMaker Python SDK est déclarée obsolète. Si vous avez encore besoin de la documentation SMP v1.x, le guide du développeur SMP v1.x est disponible ici : (Archivé) Bibliothèque SageMaker de parallélisme des modèles v1.x, et la référence de la bibliothèque SMP Python v1.x est disponible dans la documentation du kit SageMaker Python SDK v2.199.0 .
Obsolescence
-
Arrêt de la prise en charge de TensorFlow.
-
Le parallélisme de pipeline n’est pas pris en charge dans SMP v2.
-
La bibliothèque DeepSpeed n’est pas prise en charge en faveur de la caractéristique native PyTorch FSDP.
Conteneurs Docker SMP
L’équipe de la bibliothèque SMP distribue des conteneurs Docker en remplacement des conteneurs du cadre SageMaker PyTorch. Si vous utilisez la classe d’estimateur PyTorch du kit SageMaker Python SDK et que vous spécifiez la configuration de distribution pour utiliser SMP v2, SageMaker AI récupère automatiquement les conteneurs Docker SMP. Pour utiliser cette version de SMP v2, mettez à niveau le kit SageMaker Python SDK vers la version 2.207.0 ou ultérieure.
-
Conteneur Docker SMP pour PyTorch v2.0.1 avec CUDA v12.1
658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.0.1-gpu-py310-cu121