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.
GitHub Repositorien
Um einen Trainingsjob zu starten, verwenden Sie Dateien aus zwei verschiedenen GitHub Repositorys:
Diese Repositorys enthalten wichtige Komponenten für die Initiierung, Verwaltung und Anpassung von Trainingsprozessen für große Sprachmodelle (LLMs). Sie verwenden die Skripte aus den Repositorys, um die Trainingsjobs für Sie LLMs einzurichten und auszuführen.
HyperPod Rezept-Repository
Verwenden Sie das SageMaker HyperPod Rezept-Repository
-
main.py: Diese Datei dient als primärer Einstiegspunkt für die Einleitung des Prozesses, bei dem ein Schulungsjob entweder einem Cluster oder einem SageMaker Schulungsjob zugewiesen wird. -
launcher_scripts: Dieses Verzeichnis enthält eine Sammlung häufig verwendeter Skripte, die den Trainingsprozess für verschiedene Large Language Models (LLMs) erleichtern sollen. -
recipes_collection: Dieser Ordner enthält eine Zusammenstellung von vordefinierten LLM-Rezepten, die von den Entwicklern bereitgestellt wurden. Benutzer können diese Rezepte in Verbindung mit ihren benutzerdefinierten Daten nutzen, um LLM-Modelle zu trainieren, die auf ihre spezifischen Anforderungen zugeschnitten sind.
Sie verwenden die SageMaker HyperPod Rezepte, um Schulungs- oder Feinabstimmungsaufgaben zu starten. Unabhängig davon, welchen Cluster Sie verwenden, ist der Prozess zum Einreichen des Jobs derselbe. Sie können beispielsweise dasselbe Skript verwenden, um einen Job an einen Slurm- oder Kubernetes-Cluster zu senden. Der Launcher sendet einen Trainingsjob auf der Grundlage von drei Konfigurationsdateien aus:
-
Allgemeine Konfiguration (
config.yaml): enthält allgemeine Einstellungen wie die Standardparameter oder Umgebungsvariablen, die im Trainingsjob verwendet werden. -
Cluster-Konfiguration (Cluster): nur für Trainingsjobs, bei denen Cluster verwendet werden. Wenn Sie einen Trainingsjob an einen Kubernetes-Cluster senden, müssen Sie möglicherweise Informationen wie Volumen, Bezeichnung oder Neustartrichtlinie angeben. Für Slurm-Cluster müssen Sie möglicherweise den Slurm-Jobnamen angeben. Alle Parameter beziehen sich auf den spezifischen Cluster, den Sie verwenden.
-
Rezept (Rezepte): Rezepte enthalten die Einstellungen für Ihren Trainingsjob, z. B. die Modelltypen, den Grad der Aufteilung oder die Datensatzpfade. Beispielsweise können Sie Llama als Ihr Trainingsmodell festlegen und es mithilfe von Modell- oder Datenparallelismus-Techniken wie Fully Sharded Distributed Parallel (FSDP) auf acht Maschinen trainieren. Sie können auch verschiedene Checkpoint-Frequenzen oder Pfade für Ihren Trainingsjob angeben.
Nachdem Sie ein Rezept angegeben haben, führen Sie das Launcher-Skript aus, um einen end-to-end Trainingsjob auf einem Cluster auf der Grundlage der Konfigurationen über den main.py Einstiegspunkt anzugeben. Für jedes Rezept, das Sie verwenden, gibt es zugehörige Shell-Skripte im Ordner launch_scripts. Diese Beispiele führen Sie durch das Einreichen und Initiieren von Trainingsjobs. Die folgende Abbildung zeigt, wie ein SageMaker HyperPod Rezept-Launcher einen Trainingsjob auf der Grundlage des Vorhergehenden an einen Cluster weiterleitet. Derzeit basiert der SageMaker HyperPod Recipe Launcher auf dem Nvidia NeMo Framework Launcher. Weitere Informationen finden Sie im NeMo Launcher-Handbuch
HyperPod Rezeptadapter-Repository
Der SageMaker HyperPod Trainingsadapter ist ein Trainingsframework. Sie können damit den gesamten Lebenszyklus Ihrer Trainingsjobs verwalten. Verwenden Sie den Adapter, um das Vortraining oder die Feinabstimmung Ihrer Modelle auf mehrere Maschinen zu verteilen. Der Adapter verwendet verschiedene Parallelitätstechniken, um das Training zu verteilen. Er kümmert sich auch um die Implementierung und Verwaltung der Speicherung der Checkpoints. Weitere Details finden Sie unter Erweiterte Einstellungen.
Verwenden Sie das SageMaker HyperPod Rezeptadapter-Repository
-
src: Dieses Verzeichnis enthält die Implementierung des Trainings für große Sprachmodelle (LLMs) und umfasst verschiedene Features wie Modellparallelität, Training mit gemischter Genauigkeit und Checkpoint-Verwaltung. -
examples: Dieser Ordner enthält eine Sammlung von Beispielen, die zeigen, wie ein Einstiegspunkt für das Training eines LLM-Modells erstellt wird, und dient als praktischer Leitfaden für Benutzer.