Notes de mise à jour pour la bibliothèque de parallélisme des SageMaker modèles - 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.

Notes de mise à jour pour la bibliothèque de parallélisme des SageMaker modèles

Consultez les notes de publication suivantes pour suivre les dernières mises à jour de la bibliothèque de parallélisme des SageMaker modèles (SMP). Si vous avez d'autres questions concernant la bibliothèque SMP, contactez l'équipe du service SMP à l'adresse. sm-model-parallel-feedback@amazon.com

La bibliothèque de parallélisme des SageMaker modèles v2.7.0

Date : 04 décembre 2024

Mises à jour de la bibliothèque SMP

Nouvelles fonctionnalités

Conteneur SMP Docker

L'équipe de la bibliothèque SMP distribue les conteneurs Docker et Enroot en remplacement des conteneurs du SageMaker PyTorch framework. Si vous utilisez la classe d' PyTorch estimateur du SDK SageMaker Python et que vous spécifiez la configuration de distribution pour utiliser SMP v2, les conteneurs SMP SageMaker Docker sont automatiquement récupérés. Pour utiliser cette version de SMP v2, mettez à niveau votre SDK SageMaker Python vers une version ultérieurev2.237.0.

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 SMP Enroot 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

    • La bibliothèque SMP v2.7.0

    • La bibliothèque SMDDP v2.5.0

    • CUDNN v9.4.0

    • FlashAttention v2.5.8

    • TransformerEngine v1.10

    • Mégatron v0.8.0

    • Hugging Face Transformers v4.44.2

    • Bibliothèque d'ensembles de données Hugging Face v2.19.0

    • EFA v1.32.0

    • NCCL v2.21.5

Canal SMP Conda

Le bucket S3 suivant est le canal Conda public de la bibliothèque SMP hébergée par l'équipe du service SMP. Si vous souhaitez installer la bibliothèque SMP v2 dans un environnement Conda tel que des SageMaker HyperPod clusters, utilisez ce canal Conda pour installer correctement la bibliothèque SMP.

  • 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 la section Canaux dans la documentation de Conda.

La bibliothèque de parallélisme des SageMaker modèles v2.6.1

Date : 31 octobre 2024

Mises à jour de la bibliothèque SMP

Corrections de bugs

  • Correction d'un ImportError problème qui se produisait lors de l'utilisation d'anciens scripts d'entraînement avec SMP v2.6.0. Cela corrige l'incompatibilité descendante avec SMP v2.6.0.

  • Ajout d'un DeprecationWarning pourtorch.sagemaker.distributed.fsdp.checkpoint. Ce module sera obsolète et supprimé dans SMP v2.7.0. Si vous torch.sagemaker.distributed.fsdp.checkpoint en utilisez actuellement dans votre code, vous devez prévoir de mettre à jour vos scripts avant la sortie de SMP v2.7.0 afin d'éviter des problèmes à l'avenir.

  • Correction d'un problème de rétrocompatibilité identifié dans SMP v2.6.0. Ce problème était lié à la dépréciation de la méthode de USE_PG_WITH_UTIL point de contrôle dans 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 de PyTorch formation afin de récupérer le dernier conteneur SMP fourni avec SMP v2.6.1.

Conteneur SMP Docker

L'équipe de la bibliothèque SMP distribue des conteneurs Docker en remplacement des conteneurs du SageMaker PyTorch framework. Si vous utilisez la classe d' PyTorch estimateur dans le SDK SageMaker Python et que vous spécifiez la configuration de distribution pour utiliser SMP v2, SageMaker AI récupère automatiquement les conteneurs SMP Docker.

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

    • La bibliothèque SMP v2.6.1

    • La bibliothèque SMDDP v2.5.0

    • CUDNN v9.4.0

    • FlashAttention v2.5.8

    • TransformerEngine v1.10

    • Mégatron v0.8.0

    • Hugging Face Transformers v4.44.2

    • Bibliothèque d'ensembles de données Hugging Face v2.19.0

    • EFA v1.32.0

    • NCCL v2.21.5

Canal SMP Conda

Le bucket S3 suivant est le canal Conda public de la bibliothèque SMP hébergée par l'équipe du service SMP. Si vous souhaitez installer la bibliothèque SMP v2 dans un environnement de ressources de calcul hautement personnalisables telles que des SageMaker HyperPod clusters, utilisez ce canal Conda pour installer correctement la bibliothèque SMP.

  • 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 la section Canaux dans la documentation de Conda.

La bibliothèque de parallélisme des SageMaker 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 du modèle LLM suivantes. Vous pouvez commencer à utiliser Parallélisme du contexte etParallélisme de tenseur.

  • Ajout de la Parallélisme de tenseur prise en charge des configurations du modèle Mixtral suivantes.

  • Ajout de la prise en charge d'une implémentation AllGather basée sur le parallélisme contextuel qui utilise le collectif de AllGather communication pour obtenir la séquence complète des tenseurs. key-and-value Les implémentations disponibles sont p2p et. all_gather L'p2pimplémentation utilise des appels d' peer-to-peerenvoi/réception pour l'accumulation de tenseurs key-and-value (KV) pendant le calcul de l'attention, s'exécutant de manière asynchrone et permettant à la communication de se chevaucher avec le calcul. D'autre part, l'all_gatherimplémentation utilise l'opération collective de AllGather communication pour l'accumulation de tenseurs KV. Pour savoir comment appliquer ces implémentations de parallélisme de contexte, consultez. Parallélisme du contexte

  • Ajout du support pour le réglage de la valeur thêta du Rotary Position Embedding (RoPE).

Corrections de bugs

  • Correction d'un bug en raison duquel l'intégration de la position rotative (RoPE) n'était pas correctement initialisée pendant le pré-entraînement lorsque le paramètre différé était activé.

Problèmes connus

  • Transformer Engine ne prend actuellement pas en charge le parallélisme contextuel ou l'activation de l'attention FP8 à la fenêtre coulissante. Ainsi, la version SMP des transformateurs Mistral ne prend pas en charge le parallélisme contextuel ni l' FP8 apprentissage lorsque la configuration des fenêtres coulissantes est définie sur une valeur non nulle.

Conteneur SMP Docker

L'équipe de la bibliothèque SMP distribue des conteneurs Docker en remplacement des conteneurs du SageMaker PyTorch framework. Si vous utilisez la classe d' PyTorch estimateur dans le SDK SageMaker Python et que vous spécifiez la configuration de distribution pour utiliser SMP v2, SageMaker AI récupère automatiquement les conteneurs SMP Docker.

Mises à jour monétaires

  • Mise à niveau PyTorch vers la version 2.4.1

  • Megatron mis à jour vers la version 0.8.0

  • Mise à niveau de la TransformerEngine bibliothèque vers la version v1.10

  • Transformers mis à jour vers la version 4.44.2

  • CuDNN mis à jour 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

    • La bibliothèque SMP v2.6.0

    • La bibliothèque SMDDP v2.5.0

    • CUDNN v9.4.0

    • FlashAttention v2.5.8

    • TransformerEngine v1.10

    • Mégatron v0.8.0

    • Hugging Face Transformers v4.44.2

    • Bibliothèque d'ensembles de données Hugging Face v2.19.0

    • EFA v1.32.0

    • NCCL v2.21.5

Canal SMP Conda

Le bucket S3 suivant est le canal Conda public de la bibliothèque SMP hébergée par l'équipe du service SMP. Si vous souhaitez installer la bibliothèque SMP v2 dans un environnement de ressources de calcul hautement personnalisables telles que des SageMaker HyperPod clusters, utilisez ce canal Conda pour installer correctement la bibliothèque SMP.

  • 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 la section Canaux dans la documentation de Conda.

La bibliothèque de parallélisme des SageMaker 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 utilisant le format de FP8 données sur les instances P5 pour le modèle Mixtral.

  • Ajout de la prise Parallélisme du contexte en charge des configurations de modèles suivantes.

    • Llama-v2 : 7B et 70B

    • Llama-v3 : 8B et 70B

    • GPT-NeoX : 20 Go

  • Ajout du support pour enregistrer les points de contrôle de manière asynchrone. Pour en savoir plus, consultez Point de contrôle à l'aide du SMP.

    • Support pour enregistrer les points de contrôle directement dans S3 sans utiliser Amazon EBS ou des serveurs de fichiers.

Corrections de bugs

  • Résolution d'un problème qui provoquait une perte initiale étonnamment élevée lors du réglage précis de Llama lors du chargement d'un point de contrôle de modèle préentraîné et de l'utilisation du parallélisme des tenseurs.

Remarques

  • Pour utiliser le point de contrôle d'activation pour Mixtral avec une précision FP8 mixte, 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 Amazon SageMaker AI Examples.

Problèmes connus

  • Le type d'équilibrage de charge équilibré dans la configuration MoE (torch.sagemaker.moe.moe_config.MoEConfig) est actuellement incompatible avec le point de contrôle d'activation.

  • Grâce au parallélisme du contexte, GPT-Neox montre une régression des performances à la fois lors du pré-entraînement et lors du réglage précis.

  • 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 transformateur Hugging Face entraîne une inadéquation des pertes lors de la première étape.

Conteneur SMP Docker

L'équipe de la bibliothèque SMP distribue des conteneurs Docker en remplacement des conteneurs du SageMaker PyTorch framework. Si vous utilisez la classe d' PyTorch estimateur dans le SDK SageMaker Python et que vous spécifiez la configuration de distribution pour utiliser SMP v2, SageMaker AI récupère automatiquement les conteneurs SMP Docker. Pour utiliser cette version de SMP v2, mettez à niveau votre SDK SageMaker Python vers la version 2.224.0 ou ultérieure.

Mises à jour monétaires

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-cu121

    Pour obtenir la liste complète des régions prises en charge, veuillez consulter Régions AWS.

  • Packages préinstallés

    • La bibliothèque SMP v2.5.0

    • La bibliothèque SMDDP v2.3.0

    • CUDNN v8.9.7.29

    • FlashAttention v2.5.8

    • TransformerEngine v1.8

    • Megatron v0.7.0

    • Hugging Face Transformers v4.40.1

    • Bibliothèque d'ensembles de données Hugging Face v2.19.0

    • EFA v1.32.0

    • NCCL v2.21.5

Canal SMP Conda

Le bucket S3 suivant est le canal Conda public de la bibliothèque SMP hébergée par l'équipe du service SMP. Si vous souhaitez installer la bibliothèque SMP v2 dans un environnement de ressources de calcul hautement personnalisables telles que des SageMaker HyperPod clusters, utilisez ce canal Conda pour installer correctement la bibliothèque SMP.

  • 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 la section Canaux dans la documentation de Conda.

La bibliothèque de parallélisme des SageMaker modèles v2.4.0

Date : 20 juin 2024

Mises à jour de la bibliothèque SMP

Corrections de bugs

  • Correction d'un bogue qui provoquait des formes logit incorrectes lorsque les étiquettes ne sont pas transmises lors de la passe directe lors de l'utilisation du transformateur SMP.

Mises à jour monétaires

  • Ajout du support pour la PyTorch version 2.3.1.

  • Ajout du support pour Python v3.11.

  • Ajout du support pour la bibliothèque Hugging Face Transformers v4.40.1.

Dépréciations

  • Suppression du support pour Python v3.10.

  • Suppression du support pour les versions de la bibliothèque Hugging Face Transformers antérieures à la version 4.40.1.

Autres modifications

  • Un patch a été inclus pour activer la sauvegarde des tenseurs dédupliqués sur différents grades. Pour en savoir plus, consultez le fil de discussion dans le PyTorch GitHub référentiel.

Problèmes connus

  • Il existe un problème connu selon lequel la perte peut augmenter puis reprendre à une valeur de perte plus élevée tout en ajustant le Llama-3 70B avec le parallélisme des tenseurs.

Conteneur SMP Docker

L'équipe de la bibliothèque SMP distribue des conteneurs Docker en remplacement des conteneurs du SageMaker PyTorch framework. Si vous utilisez la classe d' PyTorch estimateur dans le SDK SageMaker Python et que vous spécifiez la configuration de distribution pour utiliser SMP v2, SageMaker AI récupère automatiquement les conteneurs SMP Docker. Pour utiliser cette version de SMP v2, mettez à niveau votre SDK SageMaker Python vers la version 2.224.0 ou ultérieure.

Mises à jour monétaires

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

Dépréciations

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

    • La bibliothèque SMP v2.4.0

    • La bibliothèque SMDDP v2.3.0

    • CUDNN v8.9.7.29

    • FlashAttention v2.3.3

    • TransformerEngine v1.2.1

    • Hugging Face Transformers v4.40.1

    • Bibliothèque d'ensembles de données Hugging Face v2.19.0

    • EFA v1.32.0

    • NCCL v2.21.5

Canal SMP Conda

Le bucket S3 suivant est le canal Conda public de la bibliothèque SMP hébergée par l'équipe du service SMP. Si vous souhaitez installer la bibliothèque SMP v2 dans un environnement de ressources de calcul hautement personnalisables telles que des SageMaker HyperPod clusters, utilisez ce canal Conda pour installer correctement la bibliothèque SMP.

  • 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 la section Canaux dans la documentation de Conda.

La bibliothèque de parallélisme des SageMaker modèles v2.3.1

Date : 9 mai 2024

Corrections de bugs

  • Correction d'un ImportError problème lors de l'utilisation d'moe_load_balancing=balancedin torch.sagemaker.moe.moe_config.MoEConfig pour le parallélisme expert.

  • Correction d'un problème de réglage précis en raison duquel l'torch.sagemaker.transformappel KeyError déclenché était load_state_dict_from_rank0 activé.

  • Correction d'une erreur out-of-memory (OOM) générée lors du chargement de grands modèles Mixture of Experts (MoE), tels que Mixtral 8x22B, pour un réglage précis.

Conteneur SMP Docker

L'équipe de la bibliothèque SMP distribue des conteneurs Docker en remplacement des conteneurs du SageMaker PyTorch framework. 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

La bibliothèque de parallélisme des SageMaker modèles v2.3.0

Date : 11 avril 2024

Nouvelles fonctionnalités

  • Ajout d'une nouvelle fonctionnalité de base, le parallélisme expert, pour prendre en charge les modèles de transformateurs Mixture of Experts. Pour en savoir plus, consultez Parallélisme expert.

Conteneur SMP Docker

L'équipe de la bibliothèque SMP distribue des conteneurs Docker en remplacement des conteneurs du SageMaker PyTorch framework. Si vous utilisez la classe d' PyTorch estimateur du SDK SageMaker Python et que vous spécifiez la configuration de distribution pour utiliser SMP v2, les conteneurs SMP SageMaker Docker sont automatiquement récupérés. Pour utiliser cette version de SMP v2, mettez à niveau votre SDK SageMaker Python 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

      • La bibliothèque SMDDP v2.2.0

      • CUDNN v8.9.5.29

      • FlashAttention v2.3.3

      • TransformerEngine v1.2.1

      • Hugging Face Transformers v4.37.1

      • Bibliothèque d'ensembles de données Hugging Face v2.16.1

      • Megatron-core 0.5.0

      • EFA v1.30.0

      • NCCL v2.19.4

La bibliothèque de parallélisme des SageMaker modèles v2.2.0

Date : 7 mars 2024

Nouvelles fonctionnalités

  • Ajout de la prise en charge de l'FP8 entraînement des modèles de transformateurs Hugging Face suivants sur des instances P5 avec intégration de Transformer Engine :

    • GPT-Neox

    • Lama 2

Correctifs de bogue

  • Correction d'un bug en raison duquel la contiguïté des tenseurs n'était pas garantie avant l'appel AllGather collectif lors de l'entraînement au parallélisme des tenseurs.

Mises à jour monétaires

  • Ajout du support pour la PyTorch version 2.2.0.

  • Mise à niveau de la bibliothèque SMDDP vers la version 2.2.0.

  • Mise à niveau de la FlashAttention bibliothèque vers la version 2.3.3.

  • Mise à niveau de la bibliothèque NCCL vers la version 2.19.4.

Obsolète

  • Suppression du support pour les versions de Transformer Engine antérieures à la v1.2.0.

Problèmes connus

  • La Déchargement de l'activation fonctionnalité SMP ne fonctionne pas actuellement. Utilisez plutôt le déchargement PyTorch d'activation natif.

Autres modifications

Conteneur SMP Docker

L'équipe de la bibliothèque SMP distribue des conteneurs Docker en remplacement des conteneurs du SageMaker PyTorch framework. Si vous utilisez la classe d' PyTorch estimateur dans le SDK SageMaker Python et que vous spécifiez la configuration de distribution pour utiliser SMP v2, SageMaker AI récupère automatiquement les conteneurs SMP Docker. Pour utiliser cette version de SMP v2, mettez à niveau votre SDK SageMaker Python 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

      • La bibliothèque SMDDP v2.2.0

      • CUDNN v8.9.5.29

      • FlashAttention v2.3.3

      • TransformerEngine v1.2.1

      • Hugging Face Transformers v4.37.1

      • Bibliothèque d'ensembles de données Hugging Face v2.16.1

      • EFA v1.30.0

      • NCCL v2.19.4

La bibliothèque de parallélisme des SageMaker modèles v2.1.0

Date : 6 février 2024

Mises à jour monétaires

  • Ajout du support pour la PyTorch version 2.1.2.

Obsolète

  • Suppression du support pour Hugging Face Transformers v4.31.0.

Problèmes connus

  • Un problème est découvert : le réglage précis du modèle Hugging Face Llama 2 avec attn_implementation=flash_attention_2 le FSDP entraîne une divergence du modèle. Pour référence, consultez le ticket d'émission dans le référentiel Hugging Face GitHub Transformers. Pour éviter le problème de divergence, utilisezattn_implementation=sdpa. Vous pouvez également utiliser l'implémentation du modèle de transformateur SMP lors de la configuration. use_smp_implementation=True

Conteneur SMP Docker

L'équipe de la bibliothèque SMP distribue des conteneurs Docker en remplacement des conteneurs du SageMaker PyTorch framework. Si vous utilisez la classe d' PyTorch estimateur du SDK SageMaker Python et que vous spécifiez la configuration de distribution pour utiliser SMP v2, les conteneurs SMP SageMaker Docker sont automatiquement récupérés. Pour utiliser cette version de SMP v2, mettez à niveau votre SDK SageMaker Python 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

      • La bibliothèque SMDDP v2.1.0

      • CUDNN v8.9.5.29

      • FlashAttention v2.3.3

      • TransformerEngine v1.2.1

      • Hugging Face Transformers v4.37.1

      • Bibliothèque d'ensembles de données Hugging Face v2.16.1

      • EFA v1.30.0

Canal SMP Conda

Le bucket S3 suivant est un 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 telles que des SageMaker HyperPod clusters, utilisez ce canal Conda pour installer correctement la bibliothèque SMP.

  • 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 la section Canaux dans la documentation de Conda.

La bibliothèque de parallélisme des SageMaker modèles v2.0.0

Date : 19 décembre 2023

Nouvelles fonctionnalités

Publication de la bibliothèque de parallélisme des SageMaker modèles (SMP) v2.0.0 avec les nouvelles offres suivantes.

  • Un nouveau torch.sagemaker package, entièrement remanié par rapport au smdistributed.modelparallel.torch package précédent dans SMP v1.x.

  • Support pour PyTorch 2.0.1.

  • Support pour le PyTorch FSDP.

  • Implémentation du parallélisme tensoriel en l'intégrant à la bibliothèque Transformer Engine.

  • Support à la fois pour SageMaker la formation et SageMaker HyperPod.

Changements marquants

  • SMP v2 l'a APIs entièrement remanié et fournit le package. torch.sagemaker La plupart du temps, il suffit de l'initialiser avec le torch.sagemaker.init() module et de transmettre les paramètres de configuration du model parallel. 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 à l'utilisation de SMP v2, consultezUtiliser la bibliothèque de parallélisme des SageMaker modèles v2.

  • Si vous avez utilisé SMP v1 pour entraîner des modèles de Hugging Face Transformer et que vous souhaitez réutiliser les modèles dans SMP v2, consultez. Mise à niveau de SMP v1 vers SMP v2

  • Pour la formation PyTorch FSDP, vous devez utiliser le SMP v2.

Problèmes connus

  • Le point de contrôle d'activation ne fonctionne actuellement qu'avec les politiques d'encapsulation suivantes avec FSDP.

    • auto_wrap_policy = functools.partial(transformer_auto_wrap_policy, ...)

  • Pour être utiliséDéchargement de l'activation, le type de point de contrôle d'activation FSDP doit être REENTRANT.

  • Lorsque vous exécutez avec tensor parallel activé avec le degré de parallélisme des données fragmentées défini sur1, vous devez utiliser. backend = nccl L'option smddp backend n'est pas prise en charge dans ce scénario.

  • Transformer Engine doit être utilisé PyTorch avec la bibliothèque SMP même si le parallélisme des tenseurs n'est pas utilisé.

Autres modifications

Dépréciations

  • Support interrompu pour TensorFlow.

  • Le parallélisme des pipelines n'est pas pris en charge dans SMP v2.

  • La DeepSpeed bibliothèque n'est pas prise en charge en faveur du PyTorch FSDP natif.

Conteneur SMP Docker

L'équipe de la bibliothèque SMP distribue des conteneurs Docker en remplacement des conteneurs du SageMaker PyTorch framework. Si vous utilisez la classe d' PyTorch estimateur dans le SDK SageMaker Python et que vous spécifiez la configuration de distribution pour utiliser SMP v2, SageMaker AI récupère automatiquement les conteneurs SMP Docker. Pour utiliser cette version de SMP v2, mettez à niveau votre SDK SageMaker Python 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