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

Führen Sie verteilte Trainingsworkloads mit aktiviertem Slurm aus 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 SageMaker verteilten Schulungs-Frameworks verwenden:

SMDDPVerwenden auf einem SageMaker HyperPod

Die SMDDPBibliothek ist eine kollektive Kommunikationsbibliothek, die die Rechenleistung des parallel Trainings mit verteilten Daten verbessert. Die SMDDP Bibliothek arbeitet mit den folgenden verteilten Open-Source-Trainingsframeworks:

Die SMDDP Bibliothek befasst sich mit dem Kommunikationsaufwand der wichtigsten kollektiven Kommunikationsoperationen, indem sie Folgendes anbietet. SageMaker HyperPod

  • Die Bibliotheksangebote sind AllGather optimiert 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 SageMaker Modellparallelism (SMP) -Bibliothek, der DeepSpeed Zero Redundancy Optimizer (ZerO) und Fully Sharded Data Parallelism (). PyTorch FSDP

  • Die Bibliothek ermöglicht eine optimierte node-to-node Kommunikation, indem sie die AWS Netzwerkinfrastruktur und die ML-Instanztopologie voll ausnutzt. 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 Bibliothek implementiert werden. SMDDP

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

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

  • PyTorch v2.0.1 und höher

  • CUDAv11.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 Bibliothek unterstützt SMDDP

  • 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 in der SMDDP Bibliothek vorinstallierten SageMaker Deep Learning Containers (DLCs).

Docker-Images, die mit der SMDDP Bibliothek oder den SMDDP Binärdateien vorinstalliert sindURLs, sind in der Bibliotheksdokumentation unter Unterstützte Frameworks aufgeführt. SMDDP

Um die SMDDP Bibliothek auf dem zu installieren SageMaker HyperPod DLAMI
  • 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 PyTorch mit conda install statt pip mit.

    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 in einem Docker-Container zu verwenden
  • Die SMDDP Bibliothek ist auf den SageMaker Deep Learning Containers (DLCs) vorinstalliert. Eine Liste der SageMaker Frameworks DLCs für PyTorch die Bibliothek finden Sie in der SMDDP Bibliotheksdokumentation unter Unterstützte Frameworks. SMDDP 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 für die Verwendung der SMDDP Bibliothek finden Sie auch unter. Erstellen Sie Ihren eigenen Docker-Container mit der SageMaker verteilten Datenparallelbibliothek

    Wichtig

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

SMPAuf einem SageMaker HyperPod Cluster verwenden

Die SageMaker Modellparallelism (SMP) -Bibliothek bietet verschiedene Techniken zur state-of-the-artModellparallelität, darunter:

  • vollständig fragmentierte Datenparallelität

  • Parallelität für Experten

  • gemischtes Präzisionstraining mitFP16/BF16und Datentypen FP8

  • Tensorparallelität

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

So führen Sie ein Beispiel für einen modellparallelen Trainings-Workload aus

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