Versionshinweise zur Modell-Parallelitätsbibliothek von SageMaker AI - Amazon SageMaker AI

Versionshinweise zur Modell-Parallelitätsbibliothek von SageMaker AI

In den folgenden Versionshinweisen finden Sie die neuesten Aktualisierungen der SageMaker-Modellparallelitätsbibliothek (SMP). Wenn Sie weitere Fragen zur SMP-Bibliothek haben, wenden Sie sich an das SMP-Serviceteam unter sm-model-parallel-feedback@amazon.com.

SageMaker-Modellparallelitätsbibliothek v2.8.0 oder später

Datum: 01. April 2025

Aktualisierungen der SMP-Bibliothek

Fehlerbehebungen

  • Das SMP-Gradientennorm-Clipping unterstützt jetzt die Aktivierungsauslagerung.

SMP-Docker- und Enroot-Container

Das SMP-Bibliotheksteam verteilt Docker-Container als Ersatz für die Framework-Container von SageMaker PyTorch. Wenn Sie die PyTorch-Schätzerklasse im SageMaker Python SDK verwenden und die Verteilungskonfiguration zur Verwendung von SMP v2 angeben, wählt SageMaker AI automatisch die SMP-Docker-Container aus. Um diese Version von SMP v2 zu verwenden, aktualisieren Sie Ihr SageMaker Python SDK auf v2.243.0 oder höher.

Aktualisierungen der Währungen

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

  • Die CUDA-Unterstützung wurde auf v12.4 aktualisiert.

  • Die NCCL-Unterstützung wurde auf v2.23.4 aktualisiert.

  • Die SMDDP-Bibliothek wurde auf 2.6.0 aktualisiert.

Details zum Container

  • SMP-Docker-Container für PyTorch v2.5.1 mit CUDA v12.4

    658645717510.dkr.ecr.<us-west-2>.amazonaws.com/smdistributed-modelparallel:2.5.1-gpu-py311-cu124
  • SMP-Enroot-Container für PyTorch v2.5.1 mit CUDA v12.4

    https://sagemaker-distributed-model-parallel.s3.<us-west-2>.amazonaws.com/enroot/2.5.1-gpu-py311-cu124.sqsh
  • Vorinstallierte Pakete

    • SMP-Bibliothek v2.8.0

    • SMDDP-Bibliothek v2.6.0

    • CUDNN v9.4.0

    • FlashAttention v2.5.8

    • TransformerEngine v1.10

    • Megatron v0.8.0

    • Hugging Face Transformers v4.44.2

    • Hugging Face Datensatz-Bibliothek v2.19.0

    • EFA v1.36.0

    • NCCL v2.23.4

    • AWS-OFI-NCCL v1.13.2

SMP-Conda-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 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.

SageMaker-Modellparallelitätsbibliothek v2.7.0 oder später

Datum: 04. Dezember 2024

Aktualisierungen der SMP-Bibliothek

Neue Features

SMP-Docker- und Enroot-Container

Das SMP-Bibliotheksteam verteilt Docker- und Enroot-Container als Ersatz für die Framework-Container von SageMaker PyTorch. Wenn Sie die PyTorch-Schätzerklasse im SageMaker Python SDK verwenden und die Verteilungskonfiguration zur Verwendung von SMP v2 angeben, wählt SageMaker automatisch die SMP-Docker-Container aus. Um diese Version von SMP v2 zu verwenden, aktualisieren Sie Ihr SageMaker Python SDK auf v2.237.0 oder höher.

Details zum Container

  • SMP-Docker-Container für PyTorch v2.4.1 mit CUDA v12.1

    658645717510.dkr.ecr.<us-west-2>.smdistributed-modelparallel:2.4.1-gpu-py311-cu121
  • SMP-Enroot-Container für PyTorch v2.4.1 mit CUDA v12.1

    https://sagemaker-distributed-model-parallel.s3.<us-west-2>.amazonaws.com/enroot/2.4.1-gpu-py311-cu121.sqsh
  • Vorinstallierte Pakete

    • SMP-Bibliothek v2.7.0

    • SMDDP-Bibliothek v2.5.0

    • CUDNN v9.4.0

    • FlashAttention v2.5.8

    • TransformerEngine v1.10

    • Megatron v0.8.0

    • Hugging Face Transformers v4.44.2

    • Hugging Face Datensatz-Bibliothek v2.19.0

    • EFA v1.32.0

    • NCCL v2.21.5

SMP-Conda-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 Conda-Umgebung 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.

SageMaker-Modellparallelitätsbibliothek v2.6.1 oder später

Datum: 31. Oktober 2024

Aktualisierungen der SMP-Bibliothek

Fehlerbehebungen

  • Es wurde ein ImportError-Problem behoben, das bei der Verwendung älterer Trainingsskripte mit SMP v2.6.0 auftrat. Dies behebt die Abwärtsinkompatibilität mit SMP v2.6.0.

  • Es wurde eine DeprecationWarning für torch.sagemaker.distributed.fsdp.checkpoint hinzugefügt. Dieses Modul wird in SMP v2.7.0 nicht mehr unterstützt und entfernt. Wenn Sie derzeit torch.sagemaker.distributed.fsdp.checkpoint in Ihrem Code verwenden, sollten Sie Ihre Skripts vor der Veröffentlichung von SMP v2.7.0 aktualisieren, um zukünftige Probleme zu vermeiden.

  • Ein in SMP v2.6.0 festgestelltes Problem mit der Abwärtskompatibilität wurde behoben. Dieses Problem stand im Zusammenhang mit der veralteten Checkpoint-Methode USE_PG_WITH_UTIL in SMP v2.6.0, wodurch die Abwärtskompatibilität mit früheren Versionen von Trainingsskripten beeinträchtigt wurde. Um dieses Problem zu beheben, führen Sie Ihre PyTorch-Trainingsjobs erneut aus, um den neuesten SMP-Container abzurufen, der mit SMP v2.6.1 vorkonfiguriert ist.

SMP-Docker-Container

Das SMP-Bibliotheksteam verteilt Docker-Container als Ersatz für die Framework-Container von SageMaker PyTorch. Wenn Sie die PyTorch-Schätzerklasse im SageMaker Python SDK verwenden und die Verteilungskonfiguration zur Verwendung von SMP v2 angeben, wählt SageMaker AI automatisch die SMP-Docker-Container aus.

Details zum Container

  • SMP-Docker-Container für PyTorch v2.4.1 mit CUDA v12.1

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

    • SMP-Bibliothek v2.6.1

    • SMDDP-Bibliothek v2.5.0

    • CUDNN v9.4.0

    • FlashAttention v2.5.8

    • TransformerEngine v1.10

    • Megatron v0.8.0

    • Hugging Face Transformers v4.44.2

    • Hugging Face Datensatz-Bibliothek v2.19.0

    • EFA v1.32.0

    • NCCL v2.21.5

SMP-Conda-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.

SageMaker-Modellparallelitätsbibliothek v2.6.0 oder später

Datum: 17. Oktober 2024

Aktualisierungen der SMP-Bibliothek

Neue Features

  • Die folgenden LLM-Modellkonfigurationen werden nun unterstützt. Sie können mit der Verwendung von Kontextparallelität und Tensor-Parallelität beginnen.

  • Für die folgenden Mixtral-Modellkonfigurationen wird nun Tensor-Parallelität unterstützt.

  • Eine AllGather-basierte Implementierung von Kontextparallelität wird nun unterstützt, die die kollektive AllGather-Kommunikation nutzt, um die vollständige Sequenz von Schlüssel- und Wert-Tensoren zu erhalten. Verfügbare Implementierungen sind p2p und all_gather. Die p2p-Implementierung verwendet Peer-to-Peer-Aufrufe zum Senden/Empfangen für die Ansammlung von Schlüssel- und Werte-Tensoren (KV) während der Aufmerksamkeitsberechnung. Sie läuft asynchron, sodass Überschneidungen von Kommunikation und Datenverarbeitung möglich sind. Andererseits verwendet die all_gather-Implementierung die kollektive AllGather-Kommunikationsoperation für die Ansammlung von KV-Tensoren. Informationen zur Anwendung dieser Implementierung von Kontextparallelität finden Sie unter Kontextparallelität.

  • Die Einstellung des RoPE-Theta-Werts (Rotary Position Embedding) wird nun unterstützt.

Fehlerbehebungen

  • Es wurde ein Fehler behoben, bei dem Rotary Position Embedding (RoPE) beim Vortraining nicht richtig initialisiert wurde, wenn die verzögerte Parameterinitialisierung aktiviert war.

Bekannte Probleme

  • Transformer Engine unterstützt derzeit keine Kontextparallelität oder FP8 bei aktivierter Sliding Window Attention. Daher unterstützt die SMP-Version von Mistral Transformers keine Kontextparallelität und kein FP8-Training, wenn die Sliding-Window-Konfiguration auf einen Wert ungleich Null gesetzt ist.

SMP-Docker-Container

Das SMP-Bibliotheksteam verteilt Docker-Container als Ersatz für die Framework-Container von SageMaker PyTorch. Wenn Sie die PyTorch-Schätzerklasse im SageMaker Python SDK verwenden und die Verteilungskonfiguration zur Verwendung von SMP v2 angeben, wählt SageMaker AI automatisch die SMP-Docker-Container aus.

Aktualisierungen der Währungen

  • PyTorch wurde auf v2.4.1 upgegradet

  • Megatron auf v0.8.0 aktualisiert

  • TransformerEngine-Bibliothek auf v1.10 aktualisiert

  • Transformers auf v4.44.2 aktualisiert

  • cuDNN auf v9.4.0.58 aktualisiert

Details zum Container

  • SMP-Docker-Container für PyTorch v2.4.1 mit CUDA v12.1

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

    • SMP-Bibliothek v2.6.0

    • SMDDP-Bibliothek v2.5.0

    • CUDNN v9.4.0

    • FlashAttention v2.5.8

    • TransformerEngine v1.10

    • Megatron v0.8.0

    • Hugging Face Transformers v4.44.2

    • Hugging Face Datensatz-Bibliothek v2.19.0

    • EFA v1.32.0

    • NCCL v2.21.5

SMP-Conda-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.

SageMaker-Modellparallelitätsbibliothek v2.5.0 oder später

Datum: 28. August 2024

Aktualisierungen der SMP-Bibliothek

Neue Features

  • Das Training mit gemischter Präzision unter Verwendung des FP8-Datenformats auf P5-Instances für das Mixtral-Modell wird nun unterstützt.

  • Kontextparallelität wird nun für die folgenden Modellkonfigurationen unterstützt.

    • Llama-v2: 7B und 70B

    • Llama-v3: 8B und 70B

    • GPT-NeoX: 20B

  • Das asynchrone Speichern von Checkpoints wird nun unterstützt. Weitere Informationen hierzu finden Sie unter Checkpointing mit SMP.

    • Unterstützung für das direkte Speichern von Checkpoints in S3 ohne Amazon EBS oder Dateiserver

Fehlerbehebungen

  • Es wurde ein Problem behoben, das bei der Llama-Optimierung zu unerwartet hohen Anfangsverlusten führte, wenn ein vortrainierter Modell-Checkpoint geladen und die Tensorparallelität verwendet wurde.

Hinweise

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

Bekannte Probleme

  • Der Lastenausgleich in der MoE-Konfiguration (torch.sagemaker.moe.moe_config.MoEConfig) ist derzeit nicht mit dem Aktivierungs-Checkpoint kompatibel.

  • Bei der Kontextparallelität weist GPT-NeoX sowohl bei dem Vortraining als auch bei der Optimierung einen Leistungsrückgang auf.

  • Bei GPT-NeoX auf P4-Instances führt das direkte Laden von Gewichtungen aus einem transformierten Modell mit verzögerter Parameterinitialisierung in ein Transformer-Modell von Hugging Face zu einer Verlust-Fehlanpassung im ersten Schritt.

SMP-Docker-Container

Das SMP-Bibliotheksteam verteilt Docker-Container als Ersatz für die Framework-Container von SageMaker PyTorch. Wenn Sie die PyTorch-Schätzerklasse im SageMaker Python SDK verwenden und die Verteilungskonfiguration zur Verwendung von SMP v2 angeben, wählt SageMaker AI automatisch die SMP-Docker-Container aus. 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 FlashAttention-Bibliothek wurde auf v2.5.8 aktualisiert.

  • TransformerEngine-Bibliothek auf v1.8 aktualisiert

    • Wenn Sie Transformer Engine in einer Conda-Umgebung installieren möchten, müssen Sie auf dem Quellcode aufbauen und die spezifischen Upstream-Korrekturen auswählen (744624d, 27c6342, 7669bf3).

Details zum Container

  • SMP-Docker-Container für PyTorch v2.3.1 mit CUDA 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

    • SMP-Bibliothek v2.5.0

    • SMDDP-Bibliothek 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

    • Hugging Face Datensatz-Bibliothek v2.19.0

    • EFA v1.32.0

    • NCCL v2.21.5

SMP-Conda-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.

SageMaker-Modellparallelitätsbibliothek v2.4.0 oder später

Datum: 20. Juni 2024

Aktualisierungen der SMP-Bibliothek

Fehlerbehebungen

  • Es wurde ein Fehler behoben, der zu falschen Logit-Formen führte, wenn bei der Verwendung des SMP-Transformers im Vorwärtsdurchlauf keine Beschriftungen übergeben wurden.

Aktualisierungen der Währungen

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

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

  • Die Bibliothek Hugging Face Transformers v4.40.1 wird nun unterstützt.

Veraltungen

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

  • Die Unterstützung für die Versionen der Bibliothek Hugging Face Transformers vor v4.40.1 wurde eingestellt.

Weitere Änderungen

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

Bekannte Probleme

  • Es ist bekannt, dass es bei der Optimierung von Llama-3 70B mit Tensorparallelität zu Verlustspitzen und dann zu einem höheren Verlustwert kommen kann.

SMP-Docker-Container

Das SMP-Bibliotheksteam verteilt Docker-Container als Ersatz für die Framework-Container von SageMaker PyTorch. Wenn Sie die PyTorch-Schätzerklasse im SageMaker Python SDK verwenden und die Verteilungskonfiguration zur Verwendung von SMP v2 angeben, wählt SageMaker AI automatisch die SMP-Docker-Container aus. 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 v2.3.0 aktualisiert.

  • Die NCCL-Bibliothek wurde auf v2.21.5 aktualisiert.

  • Die EFA-Software wurde auf v1.32.0 aktualisiert.

Veraltungen

Details zum Container

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

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

    • SMP-Bibliothek v2.4.0

    • SMDDP-Bibliothek v2.3.0

    • CUDNN v8.9.7.29

    • FlashAttention v2.3.3

    • TransformerEngine v1.2.1

    • Hugging Face Transformers v4.40.1

    • Hugging Face Datensatz-Bibliothek v2.19.0

    • EFA v1.32.0

    • NCCL v2.21.5

SMP-Conda-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.

SageMaker-Modellparallelitätsbibliothek v2.3.1 oder später

Datum: 9. Mai 2024

Fehlerbehebungen

  • Es wurde ein ImportError-Problem behoben, das bei der Verwendung von moe_load_balancing=balanced in torch.sagemaker.moe.moe_config.MoEConfig zur Expertenparallelität auftrat.

  • Es wurde ein Problem bei der Optimierung behoben, bei dem beim Aufruf von torch.sagemaker.transform ein KeyError ausgelöst wurde, wenn load_state_dict_from_rank0 aktiviert war.

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

SMP-Docker-Container

Das SMP-Bibliotheksteam verteilt Docker-Container als Ersatz für die Framework-Container von SageMaker PyTorch. Diese Version enthält die oben genannten Fehlerbehebungen im folgenden SMP-Docker-Image.

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

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

SageMaker-Modellparallelitätsbibliothek v2.3.0 oder später

Datum: 11. April 2024

Neue Features

  • Zur Unterstützung von MoE-Transformer-Modellen (Mixture of Experts) wurde die Expertenparallelität als neue Kernfunktion hinzugefügt. Weitere Informationen hierzu finden Sie unter Expertenparallelität.

SMP-Docker-Container

Das SMP-Bibliotheksteam verteilt Docker-Container als Ersatz für die Framework-Container von SageMaker PyTorch. Wenn Sie die PyTorch-Schätzerklasse im SageMaker Python SDK verwenden und die Verteilungskonfiguration zur Verwendung von SMP v2 angeben, wählt SageMaker automatisch die SMP-Docker-Container aus. Um diese Version von SMP v2 zu verwenden, aktualisieren Sie Ihr SageMaker Python SDK auf v2.214.4 oder höher.

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

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

      • SMDDP-Bibliothek v2.2.0

      • CUDNN v8.9.5.29

      • FlashAttention v2.3.3

      • TransformerEngine v1.2.1

      • Hugging Face Transformers v4.37.1

      • Hugging Face Datensatz-Bibliothek v2.16.1

      • Megatron-Kern 0.5.0

      • EFA v1.30.0

      • NCCL v2.19.4

SageMaker-Modellparallelitätsbibliothek v2.2.0 oder später

Datum: 7. März 2024

Neue Features

  • Das FP8-Training der folgenden Transformer-Modelle von Hugging Face auf P5-Instances mit Transformer-Engine-Integration wird nun unterstützt:

    • GPT-NeoX

    • Llama 2

Fehlerbehebungen

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

Aktualisierungen der Währungen

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

  • Die SMDDP-Bibliothek wurde auf v2.2.0 aktualisiert.

  • Die FlashAttention-Bibliothek wurde auf v2.3.3 aktualisiert.

  • Die NCCL-Bibliothek wurde auf v2.19.4 aktualisiert.

Ablehnung

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

Bekannte Probleme

  • Das SMP-Feature Aktivierung, Entladung funktioniert derzeit nicht. Verwenden Sie stattdessen die native PyTorch-Aktivierungsauslagerung.

Weitere Änderungen

SMP-Docker-Container

Das SMP-Bibliotheksteam verteilt Docker-Container als Ersatz für die Framework-Container von SageMaker PyTorch. Wenn Sie die PyTorch-Schätzerklasse im SageMaker Python SDK verwenden und die Verteilungskonfiguration zur Verwendung von SMP v2 angeben, wählt SageMaker AI automatisch die SMP-Docker-Container aus. Um diese Version von SMP v2 zu verwenden, aktualisieren Sie Ihr SageMaker Python SDK auf v2.212.0 oder höher.

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

    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

      • SMDDP-Bibliothek v2.2.0

      • CUDNN v8.9.5.29

      • FlashAttention v2.3.3

      • TransformerEngine v1.2.1

      • Hugging Face Transformers v4.37.1

      • Hugging Face Datensatz-Bibliothek v2.16.1

      • EFA v1.30.0

      • NCCL v2.19.4

SageMaker-Modellparallelitätsbibliothek v2.1.0 oder später

Datum: 6. Februar 2024

Aktualisierungen der Währungen

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

Ablehnung

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

Bekannte Probleme

  • Es wurde festgestellt, dass die Optimierung des Llama-2-Modells von Hugging Face mit attn_implementation=flash_attention_2 und FSDP zu Modellabweichungen führt. Weitere Informationen finden Sie im Problem-Ticket im GitHub-Repository von Hugging Face Transformers. Um das Divergenzproblem zu vermeiden, verwenden Sie attn_implementation=sdpa. Verwenden Sie alternativ die Implementierung des SMP-Transformer-Modells, indem Sie use_smp_implementation=True einrichten.

SMP-Docker-Container

Das SMP-Bibliotheksteam verteilt Docker-Container als Ersatz für die Framework-Container von SageMaker PyTorch. Wenn Sie die PyTorch-Schätzerklasse im SageMaker Python SDK verwenden und die Verteilungskonfiguration zur Verwendung von SMP v2 angeben, wählt SageMaker automatisch die SMP-Docker-Container aus. Um diese Version von SMP v2 zu verwenden, aktualisieren Sie Ihr SageMaker Python SDK auf v2.207.0 oder höher.

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

    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

      • SMDDP-Bibliothek v2.1.0

      • CUDNN v8.9.5.29

      • FlashAttention v2.3.3

      • TransformerEngine v1.2.1

      • Hugging Face Transformers v4.37.1

      • Hugging Face Datensatz-Bibliothek v2.16.1

      • EFA v1.30.0

SMP-Conda-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.

SageMaker-Modellparallelitätsbibliothek v2.0.0 oder später

Datum: 19. Dezember 2023

Neue Features

Die SageMaker-Modellparallelitätsbibliothek (SMP) v2.0.0 mit den folgenden neuen Angeboten wurde veröffentlicht.

  • Ein neues torch.sagemaker-Paket wurde gegenüber dem vorherigen smdistributed.modelparallel.torch-Paket in SMP v1.x vollständig überarbeitet.

  • Unterstützung für PyTorch 2.0.1

  • Unterstützung für PyTorch FSDP

  • Implementierung der Tensorparallelität durch Integration in die Transformer-Engine-Bibliothek

  • Unterstützung für SageMaker Training und SageMaker HyperPod

Abwärtskompatible Änderungen

  • SMP v2 bietet eine vollständige Überarbeitung der APIs und stellt das torch.sagemaker-Paket bereit. In den meisten Fällen sind nur die Initialisierung mit dem torch.sagemaker.init()-Modul und die Übergabe der Konfigurationsparameter zur Modellparallelität erforderlich. Mit diesem neuen Paket können Sie Codeänderungen in Ihrem Trainingsskript erheblich vereinfachen. Weitere Informationen zur Anpassung Ihres Trainingsskripts an SMP v2 finden Sie unter Verwendung der SageMaker-Modellparallelitätsbibliothek v2.

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

  • Für das PyTorch-FSDP-Training sollten Sie SMP v2 verwenden.

Bekannte Probleme

  • Aktivierungs-Checkpointing funktioniert derzeit nur mit den folgenden Wrapping-Richtlinien mit FSDP.

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

  • Für die Verwendung von Aktivierung, Entladung muss der Typ des FSDP-Aktivierungs-Checkpoints REENTRANT sein.

  • Bei der Ausführung mit aktivierter Tensorparallelität und dem Parallelitätsgrad 1 der fragmentierten Daten müssen Sie backend = nccl verwenden. Die smddp-Backend-Option wird in diesem Szenario nicht unterstützt.

  • Transformer Engine ist erforderlich, um PyTorch mit der SMP-Bibliothek zu verwenden, auch wenn keine Tensorparallelität verwendet wird.

Weitere Änderungen

  • Ab dieser Version ist die vollständige Dokumentation für die SageMaker-Modellparallelitätsbibliothek in diesem Entwicklerhandbuch für Amazon SageMaker AI verfügbar. Zu Gunsten des vollständigen Entwicklerhandbuchs für SMP v2, das im Entwicklerhandbuch für Amazon SageMaker AI enthalten ist, wird die Dokumentation für die zusätzliche Referenz für SMP v1.x in der Dokumentation zum SageMaker Python SDK nicht mehr unterstützt. Wenn Sie die Dokumentation für SMP v1.x weiterhin benötigen, finden Sie das Entwicklerhandbuch für SMP v1.x unter (Archiviert) SageMaker-Modellparallelitätsbibliothek v1.x und die Referenz zur SMP-Python-Bibliothek v1.x finden Sie in der Dokumentation zum SageMaker Python SDK v2.199.0.

Veraltungen

  • Die Unterstützung für TensorFlow wurde eingestellt.

  • Die Pipeline-Parallelität wird in SMP v2 nicht unterstützt.

  • Die DeepSpeed-Bibliothek wird zugunsten des nativen PyTorch FSDP nicht unterstützt.

SMP-Docker-Container

Das SMP-Bibliotheksteam verteilt Docker-Container als Ersatz für die Framework-Container von SageMaker PyTorch. Wenn Sie die PyTorch-Schätzerklasse im SageMaker Python SDK verwenden und die Verteilungskonfiguration zur Verwendung von SMP v2 angeben, wählt SageMaker AI automatisch die SMP-Docker-Container aus. Um diese Version von SMP v2 zu verwenden, aktualisieren Sie Ihr SageMaker Python SDK auf v2.207.0 oder höher.

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

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