Führen Sie verteilte Trainingsworkloads mit aktiviertem Slurm aus 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.

Führen Sie verteilte Trainingsworkloads mit aktiviertem Slurm aus HyperPod

SageMaker HyperPod ist auf Workloads spezialisiert, die mit dem Training großer Sprachmodelle (LLMs) und Basismodelle () verbunden sind. 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 KI 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 des parallel Trainings mit verteilten Daten verbessert. Die SMDDP-Bibliothek funktioniert mit den folgenden verteilten Open-Source-Trainingsframeworks:

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

Sehen Sie sich die folgenden verteilten Trainingsbeispiele an, in denen Datenparallelitätstechniken mithilfe der SMDDP-Bibliothek implementiert werden.

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++Runtime-Version größer als 3

  • Python v3.10.x und höher

  • ml.p4d.24xlargeundml.p4de.24xlarge, welche Instanztypen werden von der SMDDP-Bibliothek unterstützt

  • imdsv2auf 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
Um die SMDDP-Bibliothek auf einem Docker-Container zu verwenden
  • 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 mitbringen, 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 Distributed Data Parallel Library

    Wichtig

    Um die SMDDP-Bibliothek in einem Docker-Container zu verwenden, mounten Sie das /var/log Verzeichnis vom Host-Computer auf den Container. /var/log 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 zum allgemeinen Ausführen von datenparallelen Trainingsaufträgen mit SMDDP finden Sie unter. Verteiltes Training mit der SageMaker KI-Bibliothek für verteilte Datenparallelität

Verwenden von SMP auf einem Cluster SageMaker HyperPod

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

  • vollständig fragmentierte Datenparallelität

  • Parallelität für Experten

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

  • Tensorparallelitä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 modellparallelen Trainings-Workload aus

Die SageMaker KI-Serviceteams stellen Beispiele für Trainingsaufgaben zur Implementierung von Modellparallelität mit der SMP-Bibliothek unter zur Verfügung. awsome-distributed-training/3.test_cases/17.SM-modelparallelv2