View a markdown version of this page

Ausführung verteilter Trainingsworkloads mit eingeschaltetem Slurm HyperPod - Amazon SageMaker KI

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.

Ausführung verteilter Trainingsworkloads mit eingeschaltetem Slurm HyperPod

SageMaker HyperPod ist auf Workloads im Zusammenhang mit dem Training großer Sprachmodelle (LLMs) und Basismodelle (FMs) spezialisiert. Diese Workloads erfordern häufig den Einsatz mehrerer Parallelitätstechniken und optimierter Abläufe für die ML-Infrastruktur und -Ressourcen. Mithilfe von SageMaker HyperPod KI können Sie die folgenden verteilten SageMaker AI-Trainingsframeworks verwenden:

Verwenden von SMDDP auf einem SageMaker HyperPod

Die SMDDP-Bibliothek ist eine kollektive Kommunikationsbibliothek, die die Rechenleistung von parallelem Training mit verteilten Daten verbessert. Die SMDDP-Bibliothek funktioniert mit den folgenden verteilten Trainings-Frameworks (Open Source):

Die SMDDP-Bibliothek deckt den Kommunikationsaufwand der wichtigsten kollektiven Kommunikationsvorgänge ab, indem sie das folgende Formular anbietet. SageMaker HyperPod

  • Die Bibliothek bietet AllGather optimierte Angebote für. AWSAllGatherist eine wichtige Operation, die beim parallelen Training mit geteilten Daten verwendet wird. Dabei handelt es sich um eine speichereffiziente Technik zur Datenparallelität, die von gängigen Bibliotheken angeboten wird. Dazu gehören die Bibliothek SageMaker AI Model Parallelism (SMP), DeepSpeed Zero Redundancy Optimizer (ZeRO) und Fully Sharded Data Parallelism (FSDP). PyTorch

  • Die Bibliothek sorgt für eine optimierte Kommunikation von Knoten zu Knoten, indem sie die Netzwerkinfrastruktur und die AI ML-Instanztopologie voll ausnutzt. AWS SageMaker

So führen Sie Beispiele für datenparallele Trainingsjobs aus

Entdecken Sie die folgenden verteilten Trainingsbeispiele, die Datenparallelitätstechniken unter Verwendung der SMDDP-Bibliothek implementieren.

So richten Sie eine Umgebung für die Verwendung der SMDDP-Bibliothek ein SageMaker HyperPod

Im Folgenden sind die Anforderungen an die Trainingsumgebung für die Verwendung der SMDDP-Bibliothek aufgeführt. SageMaker HyperPod

  • PyTorch v2.0.1 und höher

  • CUDA v11.8 und höher

  • libstdc++-Laufzeitversion 3 oder höher

  • Python v3.10.x oder höher

  • ml.p4d.24xlarge und ml.p4de.24xlarge, die von der SMDDP-Bibliothek unterstützte Instance-Typen sind

  • imdsv2 auf dem Trainingshost aktiviert

Je nachdem, wie Sie den verteilten Trainingsjob ausführen möchten, gibt es zwei Möglichkeiten, die SMDDP-Bibliothek zu installieren:

  • Eine direkte Installation mithilfe der SMDDP-Binärdatei.

  • Verwendung der SageMaker AI Deep Learning Container (DLCs), auf denen die SMDDP-Bibliothek vorinstalliert ist.

Docker-Images, auf denen die SMDDP-Bibliothek oder die URLs zu den SMDDP-Binärdateien vorinstalliert sind, sind in der Dokumentation zur SMDDP-Bibliothek unter Unterstützte Frameworks aufgeführt.

Um die SMDDP-Bibliothek auf dem DLAMI zu installieren SageMaker HyperPod
  • pip install --no-cache-dir https://smdataparallel.s3.amazonaws.com/binary/pytorch/<pytorch-version>/cuXYZ/YYYY-MM-DD/smdistributed_dataparallel-X.Y.Z-cp310-cp310-linux_x86_64.whl

    Anmerkung

    Wenn Sie in einer Conda-Umgebung arbeiten, stellen Sie sicher, dass Sie anstelle von installieren. PyTorch conda install pip

    conda install pytorch==X.Y.Z torchvision==X.Y.Z torchaudio==X.Y.Z pytorch-cuda=X.Y.Z -c pytorch -c nvidia
So verwenden Sie die SMDDP-Bibliothek in einem Docker-Container
  • Die SMDDP-Bibliothek ist auf den SageMaker AI Deep Learning Containern (DLCs) vorinstalliert. Eine Liste der SageMaker KI-Framework-DLCs für PyTorch die SMDDP-Bibliothek finden Sie unter Unterstützte Frameworks in der SMDDP-Bibliotheksdokumentation. Sie können auch Ihren eigenen Docker-Container einspielen, in dem die erforderlichen Abhängigkeiten installiert sind, um die SMDDP-Bibliothek zu verwenden. Weitere Informationen zum Einrichten eines benutzerdefinierten Docker-Containers zur Verwendung der SMDDP-Bibliothek finden Sie auch unter Erstellen Sie Ihren eigenen Docker-Container mit der SageMaker AI-Bibliothek für verteilte parallele Daten.

    Wichtig

    Um die SMDDP-Bibliothek in einem Docker-Container zu verwenden, mounten Sie das /var/log-Verzeichnis vom Host-Computer auf /var/log im Container. Dies kann erreicht werden, indem Sie beim Ausführen Ihres Containers die folgende Option hinzufügen.

    docker run <OTHER_OPTIONS> -v /var/log:/var/log ...

Informationen zur Ausführung datenparalleler Trainingsaufträge mit SMDDP im Allgemeinen finden Sie unter Verteiltes Training mit der SageMaker KI-Bibliothek für verteilte Datenparallelität.

Verwenden von SMP auf einem Cluster SageMaker HyperPod

Die Bibliothek für SageMaker KI-Modellparallelismus (SMP) bietet verschiedene hochmoderne Techniken zur Modellparallelität, darunter:

  • Parallelität vollständig fragmentierter Daten

  • Expertenparallelität

  • Training mit gemischter Präzision mit und FP8-Datentypen FP16/BF16

  • Tensor-Parallelität

Die SMP-Bibliothek ist auch mit Open-Source-Frameworks wie PyTorch FSDP, NVIDIA Megatron und NVIDIA Transformer Engine kompatibel.

So führen Sie ein Beispiel für einen Workload mit modellparallelem Training aus

Die SageMaker KI-Serviceteams bieten unter Beispielschulungen zur Implementierung der Modellparallelität mit der SMP-Bibliothek an. awsome-distributed-training/3.test_cases/17.SM-modelparallelv2