Passen Sie SageMaker HyperPod Cluster mithilfe von Lebenszyklusskripten an - 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.

Passen Sie SageMaker HyperPod Cluster mithilfe von Lebenszyklusskripten an

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. Bei den folgenden Themen handelt es sich um 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

Allgemeiner Überblick

Das folgende Verfahren ist der Hauptablauf der Bereitstellung eines HyperPod Clusters und seiner Einrichtung mit Slurm. Die Schritte sind nach einem Bottom-up-Ansatz angeordnet.

  1. Planen Sie, wie Sie Slurm-Knoten auf einem HyperPod Cluster erstellen möchten. Wenn Sie beispielsweise zwei Slurm-Knoten konfigurieren möchten, müssen Sie zwei Instanzgruppen in einem HyperPod Cluster einrichten.

  2. Bereiten Sie eine provisioning_parameters.json Datei vor, die eine Konfigurationsformular für die Bereitstellung von Slurm-Knoten auf HyperPod ist. provisioning_parameters.jsonsollte Informationen zur Konfiguration des Slurm-Knotens enthalten, der HyperPod auf dem Cluster bereitgestellt werden soll. Dies sollte das Design der Slurm-Knoten aus Schritt 1 widerspiegeln.

  3. Bereiten Sie eine Reihe von Lifecycle-Skripten vor, auf denen Slurm eingerichtet wird, HyperPod um Softwarepakete zu installieren und eine Umgebung im Cluster für Ihren Anwendungsfall einzurichten. Sie sollten die Lifecycle-Skripten so strukturieren, dass sie gemeinsam in einem zentralen Python-Skript (lifecycle_script.py) ausgeführt werden, und ein Einstiegs-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 solltenresource_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 dasARNs, was Sie für die Konfiguration von Slurm verwenden müssen.

  4. 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
  5. 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 beginnt, sagemaker- da Sie einen IAMRolle für SageMaker HyperPod angehängten With-Pfad wählen müssen AmazonSageMakerClusterInstanceRolePolicy, der nur S3-Bucket-Pfade zulässt, die mit dem Präfix beginnensagemaker-. Der folgende Befehl ist ein Beispielbefehl zum Hochladen aller Dateien in einen S3-Bucket.

    aws s3 cp --recursive ./lifecycle_files s3://sagemaker-hyperpod-lifecycle/src
  6. Bereiten Sie eine Anfrage zur HyperPod Clustererstellung vor.

    • Option 1: Wenn Sie den verwenden AWS CLI, schreiben Sie eine Anfrage zur Clustererstellung im JSON Format (create_cluster.json) gemäß den Anweisungen unterErstellen Sie einen neuen Cluster.

    • Option 2: Wenn Sie die Benutzeroberfläche der SageMaker Konsole verwenden, füllen Sie das Formular Create a cluster request in der Benutzeroberfläche der HyperPod Konsole aus. Folgen Sie dabei den Anweisungen unterErstellen Sie einen SageMaker HyperPod Cluster.

    Stellen Sie zu diesem Zeitpunkt sicher, dass Sie Instanzgruppen in derselben Struktur erstellen, die Sie in Schritt 1 und 2 geplant haben. Stellen Sie außerdem sicher, dass Sie den S3-Bucket aus Schritt 5 in den Anforderungsformularen angeben.

  7. Reichen Sie die Anfrage zur Clustererstellung ein. HyperPod stellt auf der Grundlage der Anfrage einen Cluster bereit, erstellt dann eine resource_config.json Datei 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.