Versionshinweise für die SageMaker Modellparallelitätsbibliothek - Amazon SageMaker

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Versionshinweise für die SageMaker Modellparallelitätsbibliothek

In den folgenden Versionshinweisen finden Sie die neuesten Updates für die SageMaker Modellparallelism () -Bibliothek. SMP Wenn Sie weitere Fragen zur SMP Bibliothek haben, wenden Sie sich an das SMP Serviceteam unter. sm-model-parallel-feedback@amazon.com

Die SageMaker Modellparallelismus-Bibliothek v2.5.0

Datum: 28. August 2024

SMPAktualisierungen der Bibliothek

Neue Features

  • Unterstützung für Training mit gemischter Genauigkeit unter Verwendung des FP8 Datenformats auf P5-Instances für das Mixtral-Modell hinzugefügt.

  • Unterstützung für die folgenden Modellkonfigurationen Kontext-Parallelität wurde hinzugefügt.

    • LLama-v2:7B und 70B

    • LLama-v3:8B und 70B

    • GPT-NeoX: 20 B

  • Unterstützung für das asynchrone Speichern von Checkpoints hinzugefügt. Weitere Informationen hierzu finden Sie unter Checkpointing mit SMP.

    • Support für das direkte Speichern von Checkpoints in S3, ohne Amazon EBS oder Dateiserver zu verwenden.

Fehlerkorrekturen

  • Es wurde ein Problem behoben, das bei der Lama-Feinabstimmung zu einem unerwartet hohen Anfangsverlust führte, wenn ein vorab trainierter Modell-Checkpoint geladen und Tensorparallelität verwendet wurde.

Hinweise

  • Um das Aktivierungs-Checkpointing für Mixtral mit FP8 gemischter Präzision zu verwenden, müssen Sie die Aufmerksamkeits- und Expertenebene separat überprüfen. Ein Beispiel für die korrekte Einrichtung finden Sie im Beispiel-Trainingsskript im Amazon SageMaker Examples Repository.

Bekannte Probleme

  • Der Balancing-Typ „Balancing Load Balancing“ in der MoE-Konfiguration (torch.sagemaker.moe.moe_config.MoEConfig) ist derzeit nicht mit dem Aktivierungs-Checkpointing kompatibel.

  • Aufgrund der Kontextparallelität weist GPT -NeoX sowohl vor dem Training als auch bei der Feinabstimmung Leistungsrückgänge auf.

  • Bei GPT -NeoX auf P4-Instances führt das direkte Laden von Gewichten aus einem transformierten Modell mit verzögertem Parameter in ein Hugging Face Face-Transformatormodell zu einer Verlustanpassung im ersten Schritt.

SMPDocker-Container

Das SMP Bibliotheksteam verteilt Docker-Container als Ersatz für die SageMaker PyTorch Framework-Container. Wenn Sie die PyTorch Estimator-Klasse in SageMaker Python verwenden SDK und die Distributionskonfiguration für die Verwendung von SMP v2 angeben, SageMaker werden die SMP Docker-Container automatisch übernommen. Um diese Version von SMP v2 zu verwenden, aktualisieren Sie Ihr SageMaker Python SDK auf v2.224.0 oder höher.

Aktualisierungen der Währungen

Details zum Container

  • SMP PyTorch CUDADocker-Container für v2.3.1 mit v12.1

    658645717510.dkr.ecr.<region>.amazonaws.com/smdistributed-modelparallel:2.3.1-gpu-py311-cu121

    Eine vollständige Liste der unterstützten Regionen finden Sie unter AWS-Regionen.

  • Vorinstallierte Pakete

    • Die SMP Bibliothek v2.5.0

    • Die SMDDP Bibliothek v2.3.0

    • CUDNNv8.9.7.29

    • FlashAttention v2.5.8

    • TransformerEngine v1.8

    • Megatron v0.7.0

    • Transformers mit umarmtem Gesicht v4.40.1

    • Hugging Face Datasets-Bibliothek v2.19.0

    • EFAv1.32.0

    • NCCLv2.21.5

SMPConda-Kanal

Der folgende S3-Bucket ist der öffentliche Conda-Kanal der SMP Bibliothek, der vom SMP Serviceteam gehostet wird. Wenn Sie die SMP v2-Bibliothek in einer Umgebung mit hochgradig anpassbaren Rechenressourcen wie SageMaker HyperPod Clustern installieren möchten, verwenden Sie diesen Conda-Kanal, um die SMP Bibliothek ordnungsgemäß zu installieren.

  • https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/

Weitere Informationen zu Conda-Kanälen im Allgemeinen finden Sie unter Kanäle in der Conda-Dokumentation.

Die SageMaker Modellparallelismus-Bibliothek v2.4.0

Datum: 20. Juni 2024

SMPAktualisierungen der Bibliothek

Fehlerkorrekturen

  • Es wurde ein Fehler behoben, der bei Verwendung des SMP Transformers zu falschen Logit-Formen führte, wenn Labels im Forward-Durchlauf nicht übergeben wurden.

Währungsaktualisierungen

  • Unterstützung für PyTorch v2.3.1 hinzugefügt.

  • Unterstützung für Python v3.11 hinzugefügt.

  • Unterstützung für die Hugging Face Transformers-Bibliothek v4.40.1 hinzugefügt.

Veraltete Versionen

  • Die Unterstützung für Python v3.10 wurde eingestellt.

  • Die Unterstützung für die Hugging Face Transformers-Bibliotheksversionen vor Version 4.40.1 wurde eingestellt.

Andere Änderungen

  • Es wurde ein Patch hinzugefügt, mit dem das Speichern deduplizierter Tensoren auf verschiedenen Rängen umgeschaltet werden kann. Weitere Informationen finden Sie im Diskussionsthread im Repository. PyTorch GitHub

Bekannte Probleme

  • Bei der Feinabstimmung von Llama-3 70B mit Tensorparallelität besteht ein bekanntes Problem, bei dem der Verlust stark ansteigen und dann bei einem höheren Verlustwert wieder aufgenommen werden kann.

SMPDocker-Container

Das SMP Bibliotheksteam verteilt Docker-Container als Ersatz für die SageMaker PyTorch Framework-Container. Wenn Sie die PyTorch Estimator-Klasse in SageMaker Python verwenden SDK und die Distributionskonfiguration für die Verwendung von SMP v2 angeben, SageMaker werden die SMP Docker-Container automatisch übernommen. Um diese Version von SMP v2 zu verwenden, aktualisieren Sie Ihr SageMaker Python SDK auf v2.224.0 oder höher.

Aktualisierungen der Währungen

  • Die SMDDP Bibliothek wurde auf Version 2.3.0 aktualisiert.

  • Die NCCL Bibliothek wurde auf Version 2.21.5 aktualisiert.

  • Die EFA Software wurde auf Version 1.32.0 aktualisiert.

Veraltete Versionen

Details zum Container

  • SMPDocker-Container für v2.3.1 mit v12.1 PyTorch CUDA

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.3.1-gpu-py311-cu121
  • Vorinstallierte Pakete

    • Die SMP Bibliothek v2.4.0

    • Die SMDDP Bibliothek v2.3.0

    • CUDNNv8.9.7.29

    • FlashAttention v2.3.3

    • TransformerEngine v1.2.1

    • Transformers mit umarmtem Gesicht v4.40.1

    • Hugging Face Datasets-Bibliothek v2.19.0

    • EFAv1.32.0

    • NCCLv2.21.5

SMPConda-Kanal

Der folgende S3-Bucket ist der öffentliche Conda-Kanal der SMP Bibliothek, der vom SMP Serviceteam gehostet wird. Wenn Sie die SMP v2-Bibliothek in einer Umgebung mit hochgradig anpassbaren Rechenressourcen wie SageMaker HyperPod Clustern installieren möchten, verwenden Sie diesen Conda-Kanal, um die SMP Bibliothek ordnungsgemäß zu installieren.

  • https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/

Weitere Informationen zu Conda-Kanälen im Allgemeinen finden Sie unter Kanäle in der Conda-Dokumentation.

Die SageMaker Modellparallelismus-Bibliothek v2.3.1

Datum: 9. Mai 2024

Fehlerkorrekturen

  • Ein ImportError Problem bei der Verwendung von moe_load_balancing=balanced In torch.sagemaker.moe.moe_config.MoEConfig für Expertenparallelität wurde behoben.

  • Es wurde ein Problem mit der Feinabstimmung behoben, bei dem der torch.sagemaker.transform Anruf ausgelöst wurde, KeyError wenn er aktiviert warload_state_dict_from_rank0.

  • Es wurde ein Fehler out-of-memory (OOM) behoben, der beim Laden großer Mixture of Experts (MoE) -Modelle wie Mixtral 8x22B zur Feinabstimmung auftrat.

SMPDocker-Container

Das SMP Bibliotheksteam verteilt Docker-Container als Ersatz für die SageMaker PyTorch Framework-Container. Diese Version enthält die oben genannten Bugfixes in das folgende SMP Docker-Image.

  • SMPDocker-Container für PyTorch v2.2.0 mit v12.1 CUDA

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

Die Modellparallelismus-Bibliothek v2.3.0 SageMaker

Datum: 11. April 2024

Neue Features

  • Es wurde eine neue Kernfunktion hinzugefügt, die Expertenparallelität, zur Unterstützung von Mixture of Experts-Transformatormodellen. Weitere Informationen hierzu finden Sie unter Parallelität für Experten.

SMPDocker-Container

Das SMP Bibliotheksteam verteilt Docker-Container als Ersatz für die SageMaker PyTorch Framework-Container. Wenn Sie die PyTorch Estimator-Klasse in SageMaker Python verwenden SDK und die Distributionskonfiguration für die Verwendung von SMP v2 angeben, SageMaker werden die SMP Docker-Container automatisch übernommen. Um diese Version von SMP v2 zu verwenden, aktualisieren Sie Ihr SageMaker Python SDK auf v2.214.4 oder höher.

  • SMPDocker-Container für v2.2.0 mit v12.1 PyTorch CUDA

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.2.0-gpu-py310-cu121
    • Vorinstallierte Pakete in diesem Docker-Container

      • Die SMDDP Bibliothek v2.2.0

      • CUDNNv8.9.5.29

      • FlashAttention v2.3.3

      • TransformerEngine v1.2.1

      • Transformers mit umarmtem Gesicht v4.37.1

      • Hugging Face Datasets-Bibliothek v2.16.1

      • Megatron-Kern 0.5.0

      • EFAv1.30.0

      • NCCLv2.19.4

Die SageMaker Modellparallelitätsbibliothek v2.2.0

Datum: 7. März 2024

Neue Funktionen

  • Unterstützung für das FP8Training der folgenden Hugging Face Face-Transformer-Modelle auf P5-Instances mit Transformer Engine-Integration hinzugefügt:

    • GPT-NeoX

    • Lama 2

Fehlerbehebungen

  • Es wurde ein Fehler behoben, bei dem vor dem AllGather Sammelaufruf während des Tensorparallelitätstrainings nicht garantiert wurde, dass Tensoren zusammenhängend waren.

Aktualisierungen der Währungen

  • Unterstützung für PyTorch v2.2.0 hinzugefügt.

  • Die SMDDP Bibliothek wurde auf Version 2.2.0 aktualisiert.

  • Die FlashAttention Bibliothek wurde auf Version 2.3.3 aktualisiert.

  • Die NCCL Bibliothek wurde auf Version 2.19.4 aktualisiert.

Veraltet

  • Die Unterstützung für Transformer Engine-Versionen vor v1.2.0 wurde eingestellt.

Bekannte Probleme

  • Die SMP Aktivierung, Entladung Funktion funktioniert derzeit nicht. Verwenden Sie stattdessen das native PyTorch Aktivierungs-Offloading.

Andere Änderungen

SMPDocker-Container

Das SMP Bibliotheksteam verteilt Docker-Container als Ersatz für die SageMaker PyTorch Framework-Container. Wenn Sie die PyTorch Estimator-Klasse in SageMaker Python verwenden SDK und die Distributionskonfiguration für die Verwendung von SMP v2 angeben, SageMaker werden die SMP Docker-Container automatisch übernommen. Um diese Version von SMP v2 zu verwenden, aktualisieren Sie Ihr SageMaker Python SDK auf v2.212.0 oder höher.

  • SMPDocker-Container für v2.2.0 mit v12.1 PyTorch CUDA

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.2.0-gpu-py310-cu121
    • Verfügbar für P4d-, P4de- und P5-Instances

    • Vorinstallierte Pakete in diesem Docker-Container

      • Die SMDDP Bibliothek v2.2.0

      • CUDNNv8.9.5.29

      • FlashAttention v2.3.3

      • TransformerEngine v1.2.1

      • Transformers mit umarmtem Gesicht v4.37.1

      • Hugging Face Datasets-Bibliothek v2.16.1

      • EFAv1.30.0

      • NCCLv2.19.4

Die SageMaker Modellparallelitätsbibliothek v2.1.0

Datum: 6. Februar 2024

Währungsaktualisierungen

  • Unterstützung für PyTorch v2.1.2 hinzugefügt.

Veraltet

  • Die Unterstützung für Hugging Face Transformers v4.31.0 wurde eingestellt.

Bekannte Probleme

  • Es wurde ein Problem entdeckt, bei dem die Feinabstimmung des Modells Hugging Face Llama 2 mit dem Modell übereinstimmt attn_implementation=flash_attention_2 und zu FSDP Abweichungen führt. Weitere Informationen finden Sie im Issue-Ticket im Hugging Face GitHub Transformers-Repository. Um das Divergenzproblem zu vermeiden, verwenden Sie. attn_implementation=sdpa Verwenden Sie alternativ die Implementierung des SMP Transformer-Modells durch Einrichtenuse_smp_implementation=True.

SMPDocker-Container

Das SMP Bibliotheksteam verteilt Docker-Container als Ersatz für die SageMaker PyTorch Framework-Container. Wenn Sie die PyTorch Estimator-Klasse in SageMaker Python verwenden SDK und die Distributionskonfiguration für die Verwendung von SMP v2 angeben, SageMaker werden die SMP Docker-Container automatisch übernommen. Um diese Version von SMP v2 zu verwenden, aktualisieren Sie Ihr SageMaker Python SDK auf v2.207.0 oder höher.

  • SMPDocker-Container für v2.1.2 mit v12.1 PyTorch CUDA

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.1.2-gpu-py310-cu121
    • Verfügbar für P4d-, P4de- und P5-Instances

    • Vorinstallierte Pakete in diesem Docker-Container

      • Die SMDDP Bibliothek v2.1.0

      • CUDNNv8.9.5.29

      • FlashAttention v2.3.3

      • TransformerEngine v1.2.1

      • Transformers mit umarmtem Gesicht v4.37.1

      • Hugging Face Datasets-Bibliothek v2.16.1

      • EFAv1.30.0

SMPConda-Kanal

Der folgende S3-Bucket ist ein öffentlicher Conda-Kanal, der vom SMP Serviceteam gehostet wird. Wenn Sie die SMP v2-Bibliothek in einer Umgebung mit hochgradig anpassbaren Rechenressourcen wie SageMaker HyperPod Clustern installieren möchten, verwenden Sie diesen Conda-Kanal, um die SMP Bibliothek ordnungsgemäß zu installieren.

  • https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/

Weitere Informationen zu Conda-Kanälen im Allgemeinen finden Sie unter Kanäle in der Conda-Dokumentation.

Die SageMaker Modellparallelismus-Bibliothek v2.0.0

Datum: 19. Dezember 2023

Neue Features

Die SageMaker Model Parallelism (SMP) -Bibliothek v2.0.0 wurde mit den folgenden neuen Angeboten veröffentlicht.

  • Ein neues torch.sagemaker Paket, das gegenüber dem vorherigen Paket in v1.x komplett überarbeitet wurde. smdistributed.modelparallel.torch SMP

  • Support für PyTorch 2.0.1.

  • Support für PyTorch FSDP.

  • Implementierung der Tensor-Parallelität durch Integration in die Transformer Engine-Bibliothek.

  • Support sowohl für SageMaker Schulungen als auch SageMaker HyperPod.

Bahnbrechende Änderungen

  • SMPv2 hat das APIs komplett überarbeitet und bietet das torch.sagemaker Paket. Meist müssen Sie nur mit dem torch.sagemaker.init() Modul initialisieren und die parallel Konfigurationsparameter des Modells übergeben. Mit diesem neuen Paket können Sie Codeänderungen in Ihrem Trainingsskript erheblich vereinfachen. Weitere Informationen zur Anpassung Ihres Trainingsskripts an die Verwendung von SMP Version 2 finden Sie unterVerwenden Sie die SageMaker Modellparallelitätsbibliothek v2.

  • Wenn Sie SMP Version 1 für das Training von Hugging Face Transformer-Modellen verwendet haben und die Modelle in SMP Version 2 wiederverwenden möchten, finden Sie weitere Informationen unter. Upgrade von Version SMP 1 auf SMP Version 2

  • Für das PyTorch FSDP Training sollten Sie v2 verwendenSMP.

Bekannte Probleme

  • Aktivierungsprüfpunkte funktionieren derzeit nur mit den folgenden Wrapping-Richtlinien mitFSDP.

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

  • Zur Verwendung Aktivierung, Entladung muss der FSDP Aktivierungs-Checkpoint-Typ sein. REENTRANT

  • Wenn Sie mit aktiviertem Tensor Parallel laufen und der Grad für Sharded Data Parallel auf eingestellt ist1, müssen Sie Folgendes verwenden. backend = nccl Die smddp Backend-Option wird in diesem Szenario nicht unterstützt.

  • Die Transformer Engine muss PyTorch mit der SMP Bibliothek verwendet werden, auch wenn keine Tensorparallelität verwendet wird.

Andere Änderungen

  • Ab dieser Version ist die Dokumentation für die SageMaker Modellparallelismus-Bibliothek vollständig in diesem Amazon SageMaker Developer Guide verfügbar. Zugunsten dieses vollständigen Entwicklerhandbuchs für SMP v2 im Amazon SageMaker Developer Guide ist die zusätzliche Referenz für SMP v1.x in der SageMaker SDKPython-Dokumentation veraltet. Wenn Sie die Dokumentation für SMP v1.x weiterhin benötigen, finden Sie das Entwicklerhandbuch für SMP v1.x unter(Archivierte) SageMaker Modellparallelismus-Bibliothek v1.x, und die SMP Python-Bibliothek v1.x-Referenz finden Sie in der SageMaker Python SDK v2.199.0-Dokumentation.

Veraltete Versionen

  • Der Support für wurde eingestellt. TensorFlow

  • In Version 2 gibt es keine Unterstützung für Pipeline-Parallelität. SMP

  • Es gibt keine Unterstützung für die DeepSpeed Bibliothek zugunsten von Native. PyTorch FSDP

SMPDocker-Container

Das SMP Bibliotheksteam verteilt Docker-Container als Ersatz für die SageMaker PyTorch Framework-Container. Wenn Sie die PyTorch Estimator-Klasse in SageMaker Python verwenden SDK und die Distributionskonfiguration für die Verwendung von SMP v2 angeben, SageMaker werden die SMP Docker-Container automatisch übernommen. Um diese Version von SMP v2 zu verwenden, aktualisieren Sie Ihr SageMaker Python SDK auf v2.207.0 oder höher.

  • SMPDocker-Container für v2.0.1 mit v12.1 PyTorch CUDA

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