Ausführung verteilter Trainingsworkloads mit aktiviertem 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 aktiviertem Slurm HyperPod

SageMaker HyperPod ist auf das Training großer Sprachmodelle (LLMs) und Basismodelle () spezialisiert. FMs 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 können Sie die folgenden verteilten SageMaker KI-Schulungs-Frameworks 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 Kommunikationsoperationen ab, indem sie Folgendes für anbietet. SageMaker HyperPod

  • Die Bibliothek bietet AllGather optimierte Angebote für. AWS AllGatherist eine wichtige Operation, die beim Sharded Data Parallel Training 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 ermöglicht eine optimierte node-to-node Kommunikation, indem sie die Netzwerkinfrastruktur und die KI-ML-Instanztopologie vollständig nutzt. 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.

Um eine Umgebung für die Verwendung der SMDDP-Bibliothek einzurichten 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.

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

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

So installieren Sie die SMDDP-Bibliothek auf dem DLAMI 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 die Installation mit statt mit. 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 Containers () vorinstalliert. DLCs Eine Liste der SageMaker KI-Frameworks DLCs für PyTorch die SMDDP-Bibliothek finden Sie in der Dokumentation zur SMDDP-Bibliothek unter Unterstützte Frameworks. 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 Ihren eigenen Docker-Container mit der SMDDP-Bibliothek (SageMaker AI Distributed Data Parallel) erstellen.

    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 SMDDP-Bibliothek (SageMaker AI Distributed Data Parallelism).

SMP auf einem Cluster verwenden SageMaker HyperPod

Die SageMaker AI-Bibliothek für Modellparallelismus (SMP) bietet verschiedene Techniken zur state-of-the-artModellparallelität, darunter:

  • Parallelität vollständig fragmentierter Daten

  • Expertenparallelität

  • gemischtes Präzisionstraining mit/und Datentypen FP16 BF16 FP8

  • 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