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

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 SageMaker bibliothèque model parallelism (SMP). Si vous avez d'autres questions concernant la SMP bibliothèque, contactez l'équipe du SMP service à l'adressesm-model-parallel-feedback@amazon.com.

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

Date : 28 août 2024

SMPmises à jour de bibliothèque

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 de 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 de formation dans le référentiel Amazon SageMaker 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.

  • Avec le parallélisme du contexte, GPT -NeoX montre une régression des performances à la fois lors de la pré-formation et lors du réglage précis.

  • Pour les instances GPT -NeOx on 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.

SMPConteneur Docker

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

Mises à jour monétaires

Détails du conteneur

  • SMPConteneur Docker pour PyTorch v2.3.1 avec v12.1 CUDA

    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 SMP bibliothèque v2.5.0

    • La SMDDP bibliothèque v2.3.0

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

    • EFAv1.32.0

    • NCCLv2.21.5

SMPChaîne Conda

Le bucket S3 suivant est le canal Conda public de la SMP bibliothèque hébergé par l'équipe de SMP service. 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 SMP bibliothèque.

  • 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

SMPmises à jour de bibliothèque

Corrections de bugs

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

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.

SMPConteneur Docker

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

Mises à jour monétaires

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

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

  • Mise à niveau du EFA logiciel vers la version v1.32.0.

Dépréciations

Détails du conteneur

  • SMPConteneur Docker pour PyTorch v2.3.1 avec v12.1 CUDA

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.3.1-gpu-py311-cu121
  • Packages préinstallés

    • La SMP bibliothèque v2.4.0

    • La SMDDP bibliothèque v2.3.0

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

    • EFAv1.32.0

    • NCCLv2.21.5

SMPChaîne Conda

Le bucket S3 suivant est le canal Conda public de la SMP bibliothèque hébergé par l'équipe de SMP service. 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 SMP bibliothèque.

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

SMPConteneur Docker

L'équipe de la SMP bibliothèque 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 SMP Docker suivante.

  • SMPConteneur Docker pour PyTorch v2.2.0 avec v12.1 CUDA

    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.

SMPConteneur Docker

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

  • SMPConteneur Docker pour PyTorch v2.2.0 avec v12.1 CUDA

    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 SMDDP bibliothèque v2.2.0

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

      • EFAv1.30.0

      • NCCLv2.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'FP8entraînement des modèles de transformateurs Hugging Face suivants sur des instances P5 avec intégration de Transformer Engine :

    • GPT-NéOx

    • 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 SMDDP bibliothèque vers la version 2.2.0.

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

  • Mise à niveau de la NCCL bibliothèque 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 SMP Déchargement de l'activation fonctionnalité ne fonctionne pas actuellement. Utilisez plutôt le déchargement PyTorch d'activation natif.

Autres modifications

SMPConteneur Docker

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

  • SMPConteneur Docker pour PyTorch v2.2.0 avec v12.1 CUDA

    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 SMDDP bibliothèque v2.2.0

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

      • EFAv1.30.0

      • NCCLv2.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 a été découvert : le réglage précis du modèle Hugging Face Llama 2 avec le modèle FSDP provoque attn_implementation=flash_attention_2 sa divergence. 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 SMP transformateur en configurantuse_smp_implementation=True.

SMPConteneur Docker

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

  • SMPConteneur Docker pour PyTorch v2.1.2 avec v12.1 CUDA

    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 SMDDP bibliothèque v2.1.0

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

      • EFAv1.30.0

SMPChaîne Conda

Le bucket S3 suivant est un canal Conda public hébergé par l'équipe de SMP service. 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 SMP bibliothèque.

  • 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

A publié la bibliothèque SageMaker model parallelism (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 de la version v1.x. SMP

  • Support pour PyTorch 2.0.1.

  • Support pour 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

  • SMPv2 l'a APIs entièrement remanié et fournit le torch.sagemaker package. 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 la version 2, consultezUtiliser la bibliothèque de parallélisme des SageMaker modèles v2.

  • Si vous avez utilisé la version SMP 1 pour entraîner les modèles de Hugging Face Transformer et que vous souhaitez réutiliser les modèles SMP dans la version 2, Passez de la SMP v1 à la SMP v2 consultez.

  • Pour l' PyTorch FSDPentraînement, vous devez utiliser la SMP version 2.

Problèmes connus

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

    • 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'FSDPactivation 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 SMP bibliothèque même si le parallélisme des tenseurs n'est pas utilisé.

Autres modifications

  • À partir de cette version, la documentation de la bibliothèque de parallélisme des SageMaker modèles est entièrement disponible dans ce guide du SageMaker développeur Amazon. Au profit de ce guide complet du développeur pour la SMP v2 dans le manuel du SageMaker développeur Amazon, la référence supplémentaire pour la SMP v1.x dans la SDKdocumentation SageMaker Python est obsolète. Si vous avez toujours besoin de la documentation pour la SMP v1.x, le guide du développeur pour la SMP v1.x est disponible à l'adresse(Archivé) bibliothèque de parallélisme de SageMaker modèles v1.x, et la référence de la bibliothèque SMP Python v1.x est disponible dans la documentation SageMaker Python SDK v2.199.0.

Dépréciations

  • Support interrompu pour TensorFlow.

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

  • Il n'y a aucun support pour la DeepSpeed bibliothèque en faveur du natif PyTorchFSDP.

SMPConteneur Docker

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

  • SMPConteneur Docker pour PyTorch v2.0.1 avec v12.1 CUDA

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.0.1-gpu-py310-cu121