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:
-
Die Bibliothek für SageMaker verteilte Datenparallelität (SMDDP), die kollektive Kommunikationsoperationen bietet, die optimiert sind für. AWS
-
Die Bibliothek SageMaker Model Parallelism (SMP), die verschiedene Techniken der Modellparallelität implementiert.
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.AllGather
ist 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.24xlarge
undml.p4de.24xlarge
, welche Instanztypen werden von der Bibliothek unterstützt SMDDP -
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 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
.whlAnmerkung
Wenn Sie in einer Conda-Umgebung arbeiten, stellen Sie sicher, dass Sie die Installation PyTorch mit
conda install
stattpip
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