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.
Einen SageMaker HyperPod Cluster erstellen
Erfahren Sie, wie Sie von Amazon EKS orchestrierte SageMaker HyperPod Cluster mithilfe der AWS CLI erstellen.
-
Bevor Sie einen SageMaker HyperPod Cluster erstellen:
-
Stellen Sie sicher, dass ein vorhandener Amazon EKS-Cluster aktiv ist und läuft. Detaillierte Anweisungen zur Einrichtung eines Amazon EKS-Clusters finden Sie unter Erstellen eines Amazon EKS-Clusters im Amazon EKS-Benutzerhandbuch.
-
Installieren Sie das Helm-Diagramm wie unter beschriebenInstallation von Paketen auf dem Amazon EKS-Cluster mithilfe von Helm. Wenn Sie eine erstellenErstellen eines HyperPod EKS-Clusters mit eingeschränkter Instanzgruppe (RIG), benötigen Sie eine separate Helm-Karte.
-
-
Bereiten Sie ein Lifecycle-Konfigurationsskript vor und laden Sie es in einen Amazon S3 S3-Bucket hoch, z.
s3://
B.amzn-s3-demo-bucket
/Lifecycle-scripts
/base-config
/Laden Sie für einen schnellen Start das Beispielskript
on_create.sh
aus dem AWS Home Distributed Training GitHub Repository herunter und laden Sie es in den S3-Bucket hoch. Sie können auch zusätzliche Setup-Anweisungen, eine Reihe von Setup-Skripten oder Befehle hinzufügen, die während der HyperPod Cluster-Bereitstellungsphase ausgeführt werden sollen. Wichtig
Wenn Sie nur die verwalteten Buckets IAM-Rolle für SageMaker HyperPod anhängen
AmazonSageMakerClusterInstanceRolePolicy
, hat Ihr Cluster Zugriff auf Amazon S3 S3-Buckets mit dem spezifischen Präfix.sagemaker-
Wenn Sie eine eingeschränkte Instance-Gruppe erstellen, müssen Sie das Lifecycle-Skript nicht herunterladen und ausführen. Stattdessen müssen Sie ausführen
install_rig_dependencies.sh
.Zu den Voraussetzungen für die Ausführung des
install_rig_dependencies.sh
Skripts gehören:-
AWS Node (CNI) und CoreDNS sollten beide aktiviert sein. Dies sind Standard-EKS-Add-Ons, die nicht vom SageMaker HyperPod Standard-Helm verwaltet werden, aber einfach in der EKS-Konsole unter Add-Ons aktiviert werden können.
-
Das SageMaker HyperPod Standard-Helm-Diagramm sollte installiert werden, bevor dieses Skript ausgeführt wird.
Das
install_rig_dependencies.sh
Skript führt die folgenden Aktionen aus.-
aws-node
(CNI): Neuesrig-aws-node
Daemonset erstellt; vorhandenes wurdeaws-node
gepatcht, um RIG-Knoten zu vermeiden. -
coredns
: In Daemonset umgewandelt, um die Verwendung mehrerer RIGs RIGs zu unterstützen und eine Überlastung zu verhindern. -
training-operators: Das Update enthält jetzt die Toleranzen von RIG-Worker-Fehlern und NodeAffinity, das Instances bevorzugt, die nicht mit RIG verbunden sind.
-
Elastic Fabric Adapter (EFA): Aktualisiert, um RIG-Worker-Verschmutzungen zu tolerieren und korrekte Container-Images für jede Region zu verwenden.
-
-
Bereiten Sie eine CreateClusterAPI-Anforderungsdatei im JSON-Format vor. Geben Sie für den ARN der IAM-Rolle an
ExecutionRole
, die Sie mit derAmazonSageMakerClusterInstanceRolePolicy
aus dem Abschnitt IAM-Rolle für SageMaker HyperPod verwalteten Rolle erstellt haben.Anmerkung
Stellen Sie sicher, dass Ihr SageMaker HyperPod Cluster in derselben Virtual Private Cloud (VPC) wie Ihr Amazon EKS-Cluster bereitgestellt wird. Die in der SageMaker HyperPod Cluster-Konfiguration angegebenen Subnetze und Sicherheitsgruppen müssen Netzwerkkonnektivität und Kommunikation mit dem API-Serverendpunkt des Amazon EKS-Clusters ermöglichen.
// create_cluster.json
{ "ClusterName":"string"
, "InstanceGroups": [{ "InstanceGroupName":"string"
, "InstanceType":"string"
, "InstanceCount":number
, "LifeCycleConfig": { "SourceS3Uri":"s3://amzn-s3-demo-bucket-sagemaker>/<lifecycle-script-directory>/src/"
, "OnCreate":"on_create.sh"
}, "ExecutionRole":"string"
, "ThreadsPerCore":number
, "OnStartDeepHealthChecks": ["InstanceStress", "InstanceConnectivity"
] }], "RestrictedInstanceGroups": [ { "EnvironmentConfig": { "FSxLustreConfig": { "PerUnitStorageThroughput":number
, "SizeInGiB":number
} }, "ExecutionRole":"string"
, "InstanceCount":number
, "InstanceGroupName":"string"
, "InstanceStorageConfigs": [ { ... } ], "InstanceType":"string"
, "OnStartDeepHealthChecks": ["string"
], "OverrideVpcConfig": { "SecurityGroupIds": ["string"
], "Subnets": ["string"
] }, "ScheduledUpdateConfig": { "DeploymentConfig": { "AutoRollbackConfiguration": [ { "AlarmName":"string"
} ], "RollingUpdatePolicy": { "MaximumBatchSize": { "Type":"string"
, "Value":number
}, "RollbackMaximumBatchSize": { "Type":"string"
, "Value":number
} }, "WaitIntervalInSeconds":number
}, "ScheduleExpression":"string"
}, "ThreadsPerCore":number
, "TrainingPlanArn":"string"
} ], "VpcConfig": { "SecurityGroupIds": ["string"
], "Subnets": ["string"
] }, "Tags": [{ "Key":"string"
, "Value":"string"
}], "Orchestrator": { "Eks": { "ClusterArn":"string"
, } }, "NodeRecovery": "Automatic" }Beachten Sie bei der Konfiguration zur Erstellung eines neuen SageMaker HyperPod Clusters, der einem EKS-Cluster zugeordnet ist, Folgendes.
-
Sie können bis zu 20 Instanzgruppen unter dem
InstanceGroups
Parameter konfigurieren. -
Geben Sie für
Orchestator.Eks.ClusterArn
den ARN des EKS-Clusters an, den Sie als Orchestrator verwenden möchten. -
Für
OnStartDeepHealthChecks
, hinzufügenInstanceStress
undInstanceConnectivity
aktivierenUmfassende Integritätsprüfungen. -
Geben Sie für an
NodeRecovery
,Automatic
ob die automatische Knotenwiederherstellung aktiviert werden soll. SageMaker HyperPod ersetzt Instanzen (Knoten) oder startet sie neu, wenn der Health Monitoring Agent Probleme feststellt. -
Für den
Tags
Parameter können Sie benutzerdefinierte Tags hinzufügen, um den SageMaker HyperPod Cluster als Ressource zu verwalten. AWS Sie können Ihrem Cluster auf die gleiche Weise Tags hinzufügen, wie Sie sie in anderen AWS Diensten hinzufügen, die Tagging unterstützen. Weitere Informationen zum Taggen von AWS Ressourcen im Allgemeinen finden Sie im Tagging AWS Resources User Guide. -
Geben Sie für den
VpcConfig
Parameter die Informationen der VPC an, die im EKS-Cluster verwendet wird. Die Subnetze müssen privat sein.
-
-
Führen Sie den Befehl create-cluster wie folgt aus.
Wichtig
Wenn Sie den
create-cluster
Befehl mit dem--cli-input-json
Parameter ausführen, müssen Sie dasfile://
Präfix vor dem vollständigen Pfad zur JSON-Datei angeben. Dieses Präfix ist erforderlich, um sicherzustellen, dass der die Eingabe als Dateipfad AWS CLI erkennt. Das Weglassen desfile://
Präfixes führt zu einem Parsing-Parameterfehler.aws sagemaker create-cluster \ --cli-input-json
file://complete/path/to/create_cluster.json
Dies sollte den ARN des neuen Clusters zurückgeben.
Wichtig
Sie können den Vorgang „Cluster aktualisieren“ verwenden, um eine eingeschränkte Instanzgruppe (RIG) zu entfernen. Wenn ein RIG auf 0 herunterskaliert wird, wird das FSx for Lustre-Dateisystem nicht gelöscht. Um das FSx for Lustre-Dateisystem vollständig zu entfernen, müssen Sie das RIG vollständig entfernen.
Durch das Entfernen eines RIG werden keine Artefakte gelöscht, die im serviceverwalteten Amazon S3 S3-Bucket gespeichert sind. Sie sollten jedoch sicherstellen, dass alle Artefakte im FSx for Lustre-Dateisystem vollständig mit Amazon S3 synchronisiert sind, bevor Sie sie entfernen. Wir empfehlen, nach Abschluss des Auftrags mindestens 30 Minuten zu warten, um die vollständige Synchronisation aller Artefakte aus dem FSx for Lustre-Dateisystem mit dem service-verwalteten Amazon S3 S3-Bucket sicherzustellen.