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 Sie über einen bestehenden Amazon-EKS-Cluster verfügen, der betriebsbereit ist. Detaillierte Anweisungen zur Einrichtung eines Amazon-EKS-Clusters finden Sie unter Erstellen eines Amazon-EKS-Clusters im Benutzerhandbuch für Amazon EKS.
-
Installieren Sie das Helm-Chart wie unter Installation von Paketen auf dem Amazon-EKS-Cluster mit Helm beschrieben. Wenn Sie einen Erstellen eines HyperPod EKS-Clusters mit eingeschränkter Instanzgruppe (RIG) erstellen, benötigen Sie einen separaten Helm-Chart.
-
-
Bereiten Sie ein Skript zur Lebenszykluskonfiguration vor und laden Sie sie in einen Amazon-S3-Bucket hoch, z. B.
s3://.amzn-s3-demo-bucket/Lifecycle-scripts/base-config/Laden Sie für einen schnellen Start das Beispielskript
on_create.shaus dem AWS ome 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 IAM-Rolle für SageMaker HyperPod erstellen und nur die verwaltete
AmazonSageMakerClusterInstanceRolePolicyanfügen, hat Ihr Cluster Zugriff auf Amazon-S3-Buckets mit dem spezifischen Präfixsagemaker-.Wenn Sie eine eingeschränkte Instances erstellen, müssen Sie das Lebenszyklusskript nicht herunterladen und ausführen. Stattdessen müssen Sie
install_rig_dependencies.shausführen.Zu den Voraussetzungen für die Ausführung des
install_rig_dependencies.sh-Skripts gehören:-
AWSNode (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-nodeDaemonset wurde erstellt; vorhandenesaws-nodewurde gepatcht, um RIG-Knoten zu vermeiden. -
coredns: In Daemonset konvertiert, um die Verwendung mehrerer RIGs RIGs zu unterstützen und eine Überlastung zu verhindern. -
training-operators: Es wurden nun auch RIG-Worker-Toleranzen und NodeAffinity zur Bevorzugung von Nicht-RIG-Instances hinzugefügt.
-
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
ExecutionRoleden ARN der IAM-Rolle an, die Sie mit der verwaltetenAmazonSageMakerClusterInstanceRolePolicyaus Abschnitt IAM-Rolle für SageMaker HyperPod 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", "KubernetesConfig": { "Labels": {"nvidia.com/mig.config": "all-3g.40gb"} } } }, "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 Instance-Gruppen unter dem Parameter konfigurieren.
InstanceGroups -
Geben Sie für
Orchestator.Eks.ClusterArnden ARN des EKS-Clusters an, den Sie als Orchestrator verwenden möchten. -
Für
OnStartDeepHealthChecks, hinzufügenInstanceStressundInstanceConnectivityaktivierenTiefgreifende Zustandsprüfungen. -
Geben Sie für an
NodeRecovery, obAutomaticdie automatische Knotenwiederherstellung aktiviert werden soll. SageMaker HyperPod ersetzt Instanzen (Knoten) oder startet sie neu, wenn der Health Monitoring Agent Probleme feststellt. -
Für den
TagsParameter 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-Services hinzufügen, die das Markieren unterstützen. Weitere Informationen zum Markieren von AWS-Ressourcen im Allgemeinen finden Sie im Benutzerhandbuch zur Markierung von AWS-Ressourcen. -
Geben Sie für den
VpcConfigParameter die Informationen der VPC an, die im EKS-Cluster verwendet wird. Die Subnetze müssen privat sein. -
Für
Orchestrator.Eks.KubernetesConfig.Labelskönnen Sie optional Kubernetes-Labels angeben, die auf die Knoten angewendet werden sollen. Um die GPU-Partitionierung mit Multi-Instance-GPU (MIG) zu aktivieren, fügen Sie dasnvidia.com/mig.configLabel mit dem gewünschten MIG-Profil hinzu."nvidia.com/mig.config": "all-3g.40gb"Konfiguriert beispielsweise alle GPUs mit dem 3G.40GB-Partitionsprofil. Weitere Informationen zur GPU-Partitionierung und zu verfügbaren Profilen finden Sie unter. Verwenden von GPU-Partitionen in Amazon SageMaker HyperPod
-
-
Führen Sie den Befehl create-cluster aus, um den Cluster zu erstellen.
Wichtig
Wenn Sie den
create-clusterBefehl mit dem--cli-input-jsonParameter 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-jsonfile://complete/path/to/create_cluster.jsonDies sollte den ARN des neuen Clusters zurückgeben.
Wichtig
Sie können den Vorgang „Cluster aktualisieren“ verwenden, um eine eingeschränkte Instance-Gruppe (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.
Wichtig
Wenn Sie eine Onboard-On-Demand-Kapazitätsreservierung (ODCR) verwenden, müssen Sie Ihre Instance-Gruppe derselben Availability Zone ID (AZ ID) wie die ODCR zuordnen, indem Sie sie
OverrideVpcConfigmit einem Subnetz in der entsprechenden AZ-ID festlegen.WICHTIG: Überprüfen Sie die
OverrideVpcConfigKonfiguration vor der Bereitstellung, um zu vermeiden, dass doppelte Gebühren sowohl für ODCR als auch für On-Demand-Kapazität anfallen.