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.
Erste Schritte mit der SageMaker HyperPod Verwendung von AWS CLI
Erstellen Sie Ihren ersten SageMaker HyperPod Cluster mit den AWS CLI Befehlen für HyperPod.
Erstelle deinen ersten SageMaker HyperPod Cluster mit Slurm
Das folgende Tutorial zeigt, wie Sie mithilfe der AWS CLIBefehle für einen neuen SageMaker HyperPod Cluster erstellen und ihn mit Slurm einrichten. SageMaker HyperPod Im Anschluss an das Tutorial erstellen Sie einen HyperPod Cluster mit drei Slurm-Knoten, my-controller-groupmy-login-group, und. worker-group-1
-
Bereiten Sie zunächst Lebenszyklusskripte vor und laden Sie sie in einen Amazon-S3-Bucket hoch. HyperPod Führt sie während der Clustererstellung in jeder Instanzgruppe aus. Laden Sie mithilfe des folgenden Befehls Lebenszyklusskripte in Amazon S3 hoch.
aws s3 sync \ ~/local-dir-to-lifecycle-scripts/* \ s3://sagemaker-<unique-s3-bucket-name>/<lifecycle-script-directory>/srcAnmerkung
Der S3-Bucket-Pfad sollte mit dem Präfix
sagemaker-beginnen, da IAM-Rolle für SageMaker HyperPod mitAmazonSageMakerClusterInstanceRolePolicynur den Zugriff auf Amazon-S3-Buckets ermöglicht, die mit dem spezifischen Präfix beginnen.Wenn Sie bei Null anfangen, verwenden Sie Lebenszyklus-Beispielskripts, die im Awsome Distributed Training GitHub Repository
bereitgestellt werden. In den folgenden Teilschritten wird gezeigt, wie Sie die Beispiel-Lebenszyklusskripte herunterladen, ändern und in einen Amazon-S3-Bucket hochladen. -
Laden Sie eine Kopie der Beispiel-Lebenszyklusskripte in ein Verzeichnis auf Ihrem lokalen Computer herunter.
git clone https://github.com/aws-samples/awsome-distributed-training/ -
Gehen Sie in das Verzeichnis
1.architectures/5.sagemaker_hyperpods/LifecycleScripts/base-config, in dem Sie eine Reihe von Lebenszyklusskripten finden. cd awsome-distributed-training/1.architectures/5.sagemaker_hyperpods/LifecycleScripts/base-configWeitere Informationen zu den Lebenszyklusskript-Beispielen finden Sie unter Anpassen von SageMaker HyperPod Clustern mithilfe von Lebenszyklusskripten.
-
Schreiben Sie eine Slurm-Konfigurationsdatei und speichern Sie sie unter
provisioning_parameters.json. Geben Sie in der Datei grundlegende Slurm-Konfigurationsparameter an, um Slurm-Knoten den SageMaker HyperPod Cluster-Instanzgruppen ordnungsgemäß zuzuweisen. Richten Sie in diesem Tutorial drei Slurm-Knoten mit den Namenmy-controller-group,my-login-group, undworker-group-1ein, wie in der folgenden Beispielkonfigurationprovisioning_parameters.jsongezeigt.{ "version": "1.0.0", "workload_manager": "slurm", "controller_group": "my-controller-group", "login_group": "my-login-group", "worker_groups": [ { "instance_group_name": "worker-group-1", "partition_name": "partition-1" } ] } -
Laden Sie die Skripte auf
s3://sagemaker-hoch. Sie können dazu die Amazon-S3-Konsole oder den folgenden AWS CLI-Amazon-S3-Befehl ausführen.<unique-s3-bucket-name>/<lifecycle-script-directory>/srcaws s3 sync \ ~/local-dir-to-lifecycle-scripts/* \ s3://sagemaker-<unique-s3-bucket-name>/<lifecycle-script-directory>/src
-
-
Bereiten Sie eine CreateClusterAnforderungsdatei im JSON-Format vor und speichern Sie sie unter.
create_cluster.jsonDie folgende Anforderungsvorlage entspricht der inprovisioning_parameters.jsonin Schritt 1.c definierten Slurm-Knotenkonfiguration. Geben Sie fürExecutionRoleden ARN der IAM-Rolle an, die Sie mit der verwaltetenAmazonSageMakerClusterInstanceRolePolicyin Voraussetzungen für die Verwendung von SageMaker HyperPod erstellt haben.{// Required: Specify the name of the cluster."ClusterName": "my-hyperpod-cluster",// Required: Configure instance groups to be launched in the cluster"InstanceGroups": [ {// Required: Specify the basic configurations to set up a controller node."InstanceGroupName": "my-controller-group", "InstanceType": "ml.c5.xlarge", "InstanceCount":1, "LifeCycleConfig": { "SourceS3Uri": "s3://sagemaker-<unique-s3-bucket-name>/<lifecycle-script-directory>/src", "OnCreate": "on_create.sh" }, "ExecutionRole": "${ROLE}",// Optional: Configure an additional storage per instance group."InstanceStorageConfigs": [ {// Attach an additional EBS volume to each instance within the instance group.// The default mount path for the additional EBS volume is /opt/sagemaker."EbsVolumeConfig":{// Specify an integer between 1 and 16384 in gigabytes (GB)."VolumeSizeInGB":<integer>} } ] }, { "InstanceGroupName": "my-login-group", "InstanceType": "ml.m5.4xlarge", "InstanceCount":1, "LifeCycleConfig": { "SourceS3Uri": "s3://sagemaker-<unique-s3-bucket-name>/<lifecycle-script-directory>/src", "OnCreate": "on_create.sh" }, "ExecutionRole": "${ROLE}" }, { "InstanceGroupName": "worker-group-1", "InstanceType": "ml.trn1.32xlarge", "InstanceCount":1, "LifeCycleConfig": { "SourceS3Uri": "s3://sagemaker-<unique-s3-bucket-name>/<lifecycle-script-directory>/src", "OnCreate": "on_create.sh" }, "ExecutionRole": "${ROLE}" } ] } -
Führen Sie den folgenden Befehl aus, um den Cluster zu erstellen.
aws sagemaker create-cluster --cli-input-jsonfile://complete/path/to/create_cluster.jsonDies sollte den ARN des erstellten Clusters zurückgeben.
Wenn Sie aufgrund von Ressourcenbeschränkungen eine Fehlermeldung erhalten, stellen Sie sicher, dass Sie den Instance-Typ in Ihrem Konto in einen mit ausreichenden Kontingenten ändern oder zusätzliche Kontingente anfordern, indem Sie den folgenden Schritten folgen.
-
Führen Sie
describe-clusteraus, um den Status des -Clusters zu prüfen.aws sagemaker describe-cluster --cluster-namemy-hyperpod-clusterNachdem der Status des Clusters auf
InServicegeändert wurde, fahren Sie mit dem nächsten Schritt fort. -
Führen Sie
list-cluster-nodesaus, um die Details der Clusterknoten zu überprüfen.aws sagemaker list-cluster-nodes --cluster-namemy-hyperpod-clusterDies gibt eine Antwort zurück und Ihre Cluster-Benutzer benötigen
InstanceId, um sich anzumelden (aws ssm). Weitere Informationen zur Anmeldung bei den Clusterknoten und zum Ausführen von ML-Workloads finden Sie unter Jobs auf Clustern SageMaker HyperPod .
Löschen des Clusters und Bereinigen der Ressourcen
Nachdem Sie die Erstellung eines SageMaker HyperPod Clusters erfolgreich getestet haben, läuft er im InService Status weiter, bis Sie den Cluster löschen. Wir empfehlen, dass Sie alle Cluster löschen, die mithilfe von SageMaker On-Demand-KI-Kapazität erstellt wurden, wenn sie nicht genutzt werden, um zu vermeiden, dass weitere Servicegebühren aufgrund von On-Demand-Preisen anfallen. In diesem Tutorial haben Sie einen Cluster erstellt, der aus zwei Instance-Gruppen besteht. Einer davon verwendet eine C5-Instance. Stellen Sie daher sicher, dass Sie den Cluster löschen, indem Sie den folgenden Befehl ausführen.
aws sagemaker delete-cluster --cluster-namemy-hyperpod-cluster
Um die Lebenszyklusskripte aus dem für dieses Tutorial verwendeten Amazon-S3-Bucket zu bereinigen, wechseln Sie zu dem Amazon-S3-Bucket, den Sie bei der Clustererstellung verwendet haben, und entfernen Sie die Dateien vollständig.
Wenn Sie die Ausführung von Modelltraining-Workloads auf dem Cluster getestet haben, überprüfen Sie auch, ob Sie Daten hochgeladen haben oder ob Ihr Job Artefakte in verschiedenen Amazon S3 S3-Buckets oder Dateisystemdiensten wie Amazon FSx for Lustre und Amazon Elastic File System gespeichert hat. Um Gebühren zu vermeiden, löschen Sie alle Artefakte und Daten aus dem Speicher- oder Dateisystem.