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.
Anpassen von SageMaker HyperPod Clustern mithilfe von Lebenszyklusskripten
SageMaker HyperPod bietet up-and-running Always-Compute-Cluster, die in hohem Maße anpassbar sind, da Sie Lebenszyklus-Skripte schreiben können, die angeben, SageMaker HyperPod wie die Cluster-Ressourcen eingerichtet werden. Die folgenden Themen enthalten bewährte Methoden für die Vorbereitung von Lebenszyklusskripten für die Einrichtung von SageMaker HyperPod Clustern mit Open-Source-Workload-Manager-Tools.
In den folgenden Themen werden ausführliche bewährte Methoden für die Vorbereitung von Lifecycle-Skripten für die Einrichtung von Slurm-Konfigurationen erörtert. SageMaker HyperPod
Allgemeine Übersicht
Das folgende Verfahren ist der Hauptablauf der Bereitstellung eines HyperPod Clusters und seiner Einrichtung mit Slurm. Die Schritte werden dabei von unten nach oben angeordnet.
-
Planen Sie, wie Sie Slurm-Knoten auf einem Cluster erstellen möchten. HyperPod Wenn Sie beispielsweise zwei Slurm-Knoten konfigurieren möchten, müssen Sie zwei Instanzgruppen in einem HyperPod Cluster einrichten.
-
Bereiten Sie eine
provisioning_parameters.jsonDatei vor, bei der es sich um eine Konfigurationsformular für die Bereitstellung von Slurm-Knoten auf HyperPod handelt.provisioning_parameters.jsonsollte Informationen zur Konfiguration des Slurm-Knotens enthalten, der HyperPod auf dem Cluster bereitgestellt werden soll. Dies sollte das Design der Slurm-Knotens aus Schritt 1 widerspiegeln. -
Bereiten Sie eine Reihe von Lebenszyklus-Skripten vor, auf denen Slurm eingerichtet werden HyperPod soll, um Softwarepakete zu installieren und eine Umgebung im Cluster für Ihren Anwendungsfall einzurichten. Sie sollten die Lebenszyklusskripte so strukturieren, dass sie gemeinsam in einem zentralen Python-Skript (
lifecycle_script.py) ausgeführt werden, und ein Einstiegspunkt-Shell-Skript (on_create.sh) schreiben, um das Python-Skript auszuführen. Das Entrypoint-Shell-Skript müssen Sie später in Schritt 5 für eine Anfrage zur HyperPod Clustererstellung bereitstellen.Beachten Sie außerdem, dass Sie beim Schreiben der Skripts davon ausgehen sollten
resource_config.json, dass sie HyperPod bei der Clustererstellung generiert werden.resource_config.jsonenthält HyperPod Cluster-Ressourceninformationen wie IP-Adressen, Instanztypen und, und ist genau das ARNs, was Sie für die Konfiguration von Slurm verwenden müssen. -
Sammeln Sie alle Dateien aus den vorherigen Schritten in einem Ordner.
└── lifecycle_files // your local folder ├── provisioning_parameters.json ├── on_create.sh ├── lifecycle_script.py └── ... // more setup scrips to be fed into lifecycle_script.py -
Laden Sie alle Dateien in einen S3-Bucket hoch. Kopieren Sie den S3-Bucket-Pfad und behalten Sie ihn. Beachten Sie, dass Sie einen S3-Bucket-Pfad erstellen sollten, der mit
sagemaker-beginnt, da Sie eine IAM-Rolle für SageMaker HyperPod auswählen müssen, an die AmazonSageMakerClusterInstanceRolePolicy angefügt ist, wodurch nur S3-Bucket-Pfade zulässig sind, die mit dem Präfixsagemaker-beginnen. Der folgende Befehl ist ein Beispielbefehl zum Hochladen aller Dateien in einen S3-Bucket.aws s3 cp --recursive./lifecycle_filess3://sagemaker-hyperpod-lifecycle/src -
Bereiten Sie eine Anfrage zur HyperPod Clustererstellung vor.
-
Option 1: Wenn Sie die verwendenAWS CLI, schreiben Sie eine Anfrage zur Clustererstellung im JSON-Format (
create_cluster.json) gemäß den Anweisungen unterErstellen eines neuen Clusters. -
Option 2: Wenn Sie die Benutzeroberfläche der SageMaker AI-Konsole verwenden, füllen Sie das Formular „Clusteranfrage erstellen“ in der Benutzeroberfläche der HyperPod Konsole aus. Folgen Sie dabei den Anweisungen unterErstellen eines SageMaker HyperPod -Clusters.
Stellen Sie in dieser Phase sicher, dass Sie Instance-Gruppen in derselben Struktur erstellen, die Sie in Schritt 1 und 2 geplant haben. Achten Sie außerdem darauf, dass Sie den S3-Bucket aus Schritt 5 in den Anforderungsformularen angeben.
-
-
Reichen Sie die Anfrage zur Clustererstellung ein. HyperPod stellt auf der Grundlage der Anfrage einen Cluster bereit, erstellt dann eine
resource_config.jsonDatei in den HyperPod Cluster-Instanzen und richtet Slurm auf dem Cluster ein, auf dem die Lifecycle-Skripten ausgeführt werden.
Die folgenden Themen führen Sie durch die einzelnen Schritte und gehen detailliert darauf ein, wie Sie Konfigurationsdateien und Lebenszyklusskripte so organisieren, dass sie bei der HyperPod Clustererstellung ordnungsgemäß funktionieren.
Themen
Die grundlegenden Lebenszyklusskripte werden bereitgestellt von HyperPod
Welche speziellen Konfigurationen werden in Slurm-Konfigurationsdateien verwaltet HyperPod
Validierung der JSON-Konfigurationsdateien vor dem Erstellen eines Slurm-Clusters auf HyperPod
Interaktive Entwicklung von Lebenszyklus-Skripten auf einem Clusterknoten HyperPod