View a markdown version of this page

Erste Schritte mit der SageMaker HyperPod Verwendung der SageMaker KI-Konsole - Amazon SageMaker KI

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 der SageMaker KI-Konsole

Das folgende Tutorial zeigt, wie Sie einen neuen SageMaker HyperPod Cluster erstellen und ihn mit Slurm über die Benutzeroberfläche der SageMaker AI-Konsole einrichten. Im Anschluss an das Tutorial erstellen Sie einen HyperPod Cluster mit drei Slurm-Knoten, my-controller-groupmy-login-group, und. worker-group-1

Anmerkung

HyperPod unterstützt jetzt die Erstellung von Slurm-Clustern ohne Lifecycle-Skripte. Sie können mithilfe der AMI-based Konfiguration einen voll funktionsfähigen Cluster erstellen, ihn mit einem Erweiterungsskript erweitern oder weiterhin benutzerdefinierte Lifecycle-Skripten verwenden, um die volle Kontrolle zu erhalten.

Cluster erstellen

Gehen Sie wie folgt vor, um zur SageMaker HyperPod Cluster-Seite zu navigieren und Slurm-Orchestration auszuwählen.

  1. Öffnen Sie die Amazon SageMaker AI-Konsole unter https://console.aws.amazon.com/sagemaker/.

  2. Wählen Sie im linken Navigationsbereich HyperPod Clusters und dann Cluster Management aus.

  3. Wählen Sie auf der Seite SageMaker HyperPod Cluster die Option HyperPod Cluster erstellen aus.

  4. Wählen Sie im Drop-down-Menü HyperPod Cluster erstellen die Option Orchestrated by Slurm aus.

  5. Auf der Seite zur Erstellung eines Slurm-Clusters sehen Sie zwei Optionen. Wählen Sie die Option aus, die Ihren Bedürfnissen am besten entspricht.

    1. Quick Setup: Um sofort mit den Standardeinstellungen zu beginnen, wählen Sie Quick Setup aus. Mit dieser Option erstellt SageMaker KI bei der Erstellung Ihres Clusters neue Ressourcen wie VPC, Subnetze, Sicherheitsgruppen, Amazon S3 S3-Bucket, IAM-Rolle und FSx for Lustre.

    2. Benutzerdefinierte Einrichtung: Um eine Integration mit vorhandenen Ressourcen vorzunehmen oder bestimmte Anforderungen hinsichtlich Netzwerk, Sicherheit oder Speicher zu erfüllen, wählen Sie Benutzerdefinierte Einrichtung aus. Mit dieser Option können Sie wählen, ob Sie die vorhandenen Ressourcen verwenden oder neue erstellen möchten, und Sie können die Konfiguration an Ihre Bedürfnisse anpassen.

Folgen Sie im Abschnitt Schnelleinrichtung diesen Schritten, um Ihren HyperPod Cluster mit Slurm-Orchestrierung zu erstellen.

Allgemeine Einstellungen

Geben Sie einen Namen für den neuen Cluster ein. Sie können den Namen nicht ändern, nachdem der Cluster erstellt wurde.

Instance-Gruppen

Um eine Instance-Gruppe hinzuzufügen, wählen Sie Gruppe hinzufügen aus. Jede Instance-Gruppe kann anders konfiguriert werden und Sie können einen heterogenen Cluster erstellen, der aus mehreren Instance-Gruppen mit verschiedenen Instance-Typen besteht. Um einen Cluster bereitzustellen, müssen Sie mindestens eine Instance-Gruppe für die Gruppentypen „Controller“ und „Compute“ hinzufügen.

Wichtig

Sie können jeweils eine Instance-Gruppe hinzufügen. Wenn Sie mehrere Instance-Gruppen erstellen möchten, wiederholen Sie den Vorgang für jede Instance-Gruppe.

Gehen Sie folgendermaßen vor, um eine Instance-Gruppe hinzuzufügen.

  1. Wählen Sie unter Instance-Gruppentyp einen Typ für die Instance-Gruppe aus. Für dieses Tutorial wählen Sie Controller (Head) für my-controller-group, Login für my-login-group und Compute (Worker) für worker-group-1 aus.

  2. Geben Sie unter Name einen Namen für die Instance-Gruppe an. Für dieses Tutorial erstellen Sie drei Instance-Gruppen mit den Namen my-controller-group, my-login-group und worker-group-1.

  3. Wählen Sie als Instance-Kapazität entweder On-Demand-Kapazität oder einen Trainingsplan aus, um Ihre Datenverarbeitungsressourcen zu reservieren.

  4. Wählen Sie unter Instance-Typ die Instance für die Instance-Gruppe aus. Wählen Sie für dieses Tutorial ml.c5.xlarge für my-controller-group, ml.m5.4xlarge für my-login-group und ml.trn1.32xlarge für worker-group-1.

    Wichtig

    Stellen Sie sicher, dass Sie einen Instance-Typ mit ausreichenden Kontingenten und ausreichend nicht zugewiesenen IP-Adressen für Ihr Konto auswählen. Informationen zum Anzeigen oder Anfordern zusätzlicher Kontingente finden Sie unter SageMaker HyperPod Kontingente.

  5. Geben Sie unter Instance-Anzahl eine Ganzzahl an, die das Instance-Kontingent für die Cluster-Nutzung nicht überschreitet. Für dieses Tutorial geben Sie 1 für alle drei Gruppen ein.

  6. Wählen Sie als Ziel-Availability-Zone die Availability Zone aus, in der Ihre Instances bereitgestellt werden. Die Availability Zone sollte dem Standort Ihrer beschleunigten Datenverarbeitungskapazität entsprechen.

  7. Geben Sie unter Zusätzliches Speichervolumen pro Instance (GB) – optional eine Ganzzahl zwischen 1 und 16 384 an, um die Größe eines zusätzlichen Elastic Book Store (EBS)-Volume in Gigabyte (GB) festzulegen. Das EBS-Volume ist an jede Instance der Instance-Gruppe angefügt. Der Standard-Bereitstellungspfad für das zusätzliche EBS-Volume ist /opt/sagemaker. Nachdem der Cluster erfolgreich erstellt wurde, können Sie per SSH auf die Cluster-Instances (Knoten) zugreifen und überprüfen, ob das EBS-Volume korrekt gemountet wurde, indem Sie den df -h-Befehl ausführen. Durch das Anfügen eines zusätzlichen EBS-Volumes wird stabiler, Instance-unabhängiger persistenter Speicher bereitgestellt, wie im Abschnitt Amazon-EBS-Volumes im Benutzerhandbuch für Amazon Elastic Block Store beschrieben.

  8. Wählen Sie Instance-Gruppe hinzufügen aus.

Quick Setup – Standardwerte

In diesem Abschnitt sind alle Standardeinstellungen für Ihre Clustererstellung aufgeführt, einschließlich aller neuen AWS Ressourcen, die während des Clustererstellungsprozesses erstellt werden. Überprüfen Sie die Standardeinstellungen.

Anmerkung

Bei der Schnellinstallation werden automatisch standardmäßige Lebenszyklusskripts verwendet. Die neue AMI-based Konfigurationsoption (keine Lebenszyklusskripts) ist nur über das benutzerdefinierte Setup verfügbar. Wenn Sie einen Cluster ohne Lebenszyklusskripten erstellen möchten, wählen Sie Benutzerdefiniertes Setup und dann unter Lebenszyklusskripts die Option Keine aus.

Gehen Sie im Abschnitt Benutzerdefiniertes Setup wie folgt vor, um Ihren HyperPod Cluster mit Slurm-Orchestrierung zu erstellen.

Allgemeine Einstellungen

Geben Sie einen Namen für den neuen Cluster ein. Sie können den Namen nicht ändern, nachdem der Cluster erstellt wurde.

Wählen Sie für die Instance-Wiederherstellung Automatisch – empfohlen oder Keine.

Netzwerk

Konfigurieren Sie Ihre Netzwerkeinstellungen für die Clustererstellung. Nachdem der Cluster erstellt wurde, können diese Einstellungen nicht mehr geändert werden.

  1. Wählen Sie für VPC Ihre eigene VPC aus, falls Sie bereits eine haben, die SageMaker KI Zugriff auf Ihre VPC gewährt. Um eine neue VPC zu erstellen, folgen Sie den Anweisungen unter Erstellen einer VPC im Benutzerhandbuch für Amazon Virtual Private Cloud. Sie können es auf None belassen, um die standardmäßige SageMaker KI-VPC zu verwenden.

  2. Geben Sie für den VPC IPv4 CIDR-Block die Start-IP Ihrer VPC ein.

  3. Wählen Sie für Availability Zones die Availability Zones (AZ) aus, in denen Subnetze für Ihren Cluster erstellt HyperPod werden sollen. Wählen Sie AZs aus, die dem Standort Ihrer beschleunigten Rechenkapazität entsprechen.

  4. Erstellen Sie für Sicherheitsgruppen eine Sicherheitsgruppe oder wählen Sie bis zu fünf Sicherheitsgruppen aus, die mit Regeln konfiguriert sind, um die Kommunikation zwischen Ressourcen innerhalb der VPC zu ermöglichen.

Instance-Gruppen

Um eine Instance-Gruppe hinzuzufügen, wählen Sie Gruppe hinzufügen aus. Jede Instance-Gruppe kann anders konfiguriert werden und Sie können einen heterogenen Cluster erstellen, der aus mehreren Instance-Gruppen mit verschiedenen Instance-Typen besteht. Um einen Cluster bereitzustellen, müssen Sie mindestens eine Instance-Gruppe hinzufügen.

Wichtig

Sie können jeweils eine Instance-Gruppe hinzufügen. Wenn Sie mehrere Instance-Gruppen erstellen möchten, wiederholen Sie den Vorgang für jede Instance-Gruppe.

Gehen Sie folgendermaßen vor, um eine Instance-Gruppe hinzuzufügen.

  1. Wählen Sie unter Instance-Gruppentyp einen Typ für die Instance-Gruppe aus. Für dieses Tutorial wählen Sie Controller (Head) für my-controller-group, Login für my-login-group und Compute (Worker) für worker-group-1 aus.

  2. Geben Sie unter Name einen Namen für die Instance-Gruppe an. Für dieses Tutorial erstellen Sie drei Instance-Gruppen mit den Namen my-controller-group, my-login-group und worker-group-1.

  3. Wählen Sie als Instance-Kapazität entweder On-Demand-Kapazität oder einen Trainingsplan aus, um Ihre Datenverarbeitungsressourcen zu reservieren.

  4. Wählen Sie unter Instance-Typ die Instance für die Instance-Gruppe aus. Wählen Sie für dieses Tutorial ml.c5.xlarge für my-controller-group, ml.m5.4xlarge für my-login-group und ml.trn1.32xlarge für worker-group-1.

    Wichtig

    Stellen Sie sicher, dass Sie einen Instance-Typ mit ausreichenden Kontingenten und ausreichend nicht zugewiesenen IP-Adressen für Ihr Konto auswählen. Informationen zum Anzeigen oder Anfordern zusätzlicher Kontingente finden Sie unter SageMaker HyperPod Kontingente.

  5. Geben Sie unter Instance-Anzahl eine Ganzzahl an, die das Instance-Kontingent für die Cluster-Nutzung nicht überschreitet. Für dieses Tutorial geben Sie 1 für alle drei Gruppen ein.

  6. Wählen Sie als Ziel-Availability-Zone die Availability Zone aus, in der Ihre Instances bereitgestellt werden. Die Availability Zone sollte dem Standort Ihrer beschleunigten Datenverarbeitungskapazität entsprechen.

  7. Geben Sie unter Zusätzliches Speichervolumen pro Instance (GB) – optional eine Ganzzahl zwischen 1 und 16 384 an, um die Größe eines zusätzlichen Elastic Book Store (EBS)-Volume in Gigabyte (GB) festzulegen. Das EBS-Volume ist an jede Instance der Instance-Gruppe angefügt. Der Standard-Bereitstellungspfad für das zusätzliche EBS-Volume ist /opt/sagemaker. Nachdem der Cluster erfolgreich erstellt wurde, können Sie per SSH auf die Cluster-Instances (Knoten) zugreifen und überprüfen, ob das EBS-Volume korrekt gemountet wurde, indem Sie den df -h-Befehl ausführen. Durch das Anfügen eines zusätzlichen EBS-Volumes wird stabiler, Instance-unabhängiger persistenter Speicher bereitgestellt, wie im Abschnitt Amazon-EBS-Volumes im Benutzerhandbuch für Amazon Elastic Block Store beschrieben.

  8. Geben Sie unter Slurm-Partitionsname (nur Compute-Gruppen) den Slurm-Partitionsnamen für diese Compute-Instanzgruppe ein. Partitionen fungieren als logische Warteschlangen, die organisieren, wie Jobs über verschiedene Knotengruppen hinweg geplant werden.

  9. Wählen Sie Instance-Gruppe hinzufügen aus.

Lebenszykluskonfiguration — optional

Konfigurieren Sie, wie Knoten in Ihrem Cluster bereitgestellt werden. Ihre Wahl wirkt sich auf die Amazon S3 S3-Bucket-Anforderungen, die Anforderungen an den Internetzugang und die Komplexität der Bereitstellung aus. HyperPod unterstützt drei Konfigurationsoptionen für den Knotenlebenszyklus, von denen jede ein unterschiedliches Maß an Kontrolle über den Bereitstellungsprozess bietet.

  1. Wählen Sie für Lifecycle-Skripts eine der folgenden Optionen, um zu steuern, wie Knoten in Ihrem Cluster bereitgestellt werden:

    • Keine — HyperPod konfiguriert Knoten automatisch mithilfe AMI-based der Konfiguration. Slurm-Daemons, Docker, Enroot, Pyxis, Slurm-Buchhaltung mit MariaDB, SSH-Schlüsselgenerierung und -verbreitung, Protokollrotation und Einrichtung des Home-Verzeichnisses werden alle ohne Skripte oder Amazon S3 S3-Bucket konfiguriert. Die gesamte Software ist im AMI vorkonfiguriert, sodass während der Bereitstellung kein Internetzugang erforderlich ist. Dies ist der einfachste Weg für neue Cluster.

    • Standard-Lifecycle-Skripten verwenden — Standard-Lifecycle-Skripten werden in den ausgewählten Amazon S3 S3-Bucket hochgeladen und zur Bereitstellung von Knoten verwendet. Diese Option verwendet die Skripte aus dem Awsome Distributed Training Repository (ADTR).

    • Verwenden Sie benutzerdefinierte Lebenszyklus-Skripten — Wählen Sie Lebenszyklus-Skripte aus einem Amazon S3 S3-Bucket aus. Dies entspricht dem OnCreate Pfad in der API, in dem Ihre Skripte für die gesamte Bereitstellungssequenz verantwortlich sind, einschließlich des Starts von Slurm. HyperPod führt die AMI-based Konfiguration nicht aus, wenn diese Option ausgewählt ist.

    In der folgenden Tabelle sind die drei Optionen zusammengefasst:

    Option Was bedeutet HyperPod Amazon S3 S3-Bucket benötigt? Internetzugang erforderlich?
    Keine (AMI-basedKonfiguration) Konfiguriert Knoten automatisch mit Slurm und essenziellen Paketen Nein Nein
    Verwenden Sie standardmäßige Lebenszyklusskripte Lädt ADTR-Skripts von Amazon S3 hoch und führt sie aus Ja Ja
    Verwenden Sie benutzerdefinierte Lebenszyklus-Skripten Führt Ihre Skripts von Amazon S3 aus; Sie besitzen die vollständige Bereitstellungssequenz Ja Hängt von Ihren Skripten ab
  2. Geben Sie für Erweiterungsskriptdatei in S3 — optional (erscheint, wenn Sie unter Lifecycle-Skripten die Option Keine auswählen) den Amazon S3 S3-URI Ihres Erweiterungsskripts ein. Mit dem Erweiterungsskript können Sie zusätzlich zu den Standardkonfigurationen zusätzliche optionale Funktionen wie Observability, System Security Services Daemon (SSSD) und Amazon S3 S3-Bucket-Mounting bereitstellen, ohne den gesamten Satz von Lifecycle-Skripten verwalten zu müssen.

    Geben Sie den vollständigen Amazon S3 S3-URI für das Einstiegspunktskript ein, zum Beispiel:

    s3://DOC-EXAMPLE-BUCKET/extensions/run_extensions.sh

    HyperPod lädt den gesamten Ordner herunter, in dem sich das Einstiegspunktskript befindet. Strukturieren Sie Ihren Amazon S3 S3-Ordner so, dass sich alle unterstützenden Dateien im selben Verzeichnis wie das Einstiegspunktskript befinden.

    Anmerkung

    In der API entspricht dies der Angabe OnInitComplete in LifeCycleConfig withSourceS3Uri. Die Konsole kombiniert diese in einem einzigen Amazon S3 S3-URI-Feld, das direkt auf das Einstiegspunktskript verweist.

    Tipp

    Gebrauchsfertige Erweiterungsskripte finden Sie im Ordner Extensions im Awsome Distributed Training Repository. Das run_extensions.sh Skript orchestriert mehrere Funktionen mit einfachen booleschen Umschaltern, um jede einzelne zu aktivieren oder zu deaktivieren.

  3. Wählen Sie für den S3-Bucket für Lebenszyklusskripte (wird angezeigt, wenn Sie Standard-Lebenszyklusskripts verwenden oder Benutzerdefinierte Lebenszyklusskripts verwenden wählen), ob Sie einen neuen Bucket erstellen oder einen vorhandenen Bucket zum Speichern der Lebenszyklusskripts verwenden möchten.

Anmerkung

Die optionale Konfiguration des Knotenlebenszyklus wird nur für Slurm-orchestrated Cluster unterstützt. EKS-orchestrated Amazon-Cluster und Slurm-Cluster, die Continuous verwenden, benötigen NodeProvisioningMode weiterhin Lifecycle-Skripte für jede Instance-Gruppe.

Anmerkung

Die Option Keine mit einem Erweiterungsskript und die Option Benutzerdefinierte Lebenszyklusskripten verwenden schließen sich gegenseitig aus. Sie können die AMI-based Konfiguration nicht mit Erweiterungsskripten und benutzerdefinierten Lebenszyklusskripten in derselben Instanzgruppe kombinieren. In der API bedeutet OnCreate dies, dass es OnInitComplete nicht zusammen spezifiziert werden kann.

Berechtigungen

Wählen oder erstellen Sie eine IAM-Rolle, mit der Sie die erforderlichen AWS Ressourcen in Ihrem Namen ausführen und darauf zugreifen können HyperPod .

Speicher

Konfigurieren Sie das FSx for Lustre-Dateisystem, das auf dem Cluster bereitgestellt werden soll. HyperPod Die FSx-Konfiguration ist für die Clustererstellung optional, wird jedoch für ML-Produktionsworkloads empfohlen.

  1. Wählen Sie für Dateisystem ein vorhandenes Dateisystem von FSx für Lustre aus, um ein neues Dateisystem von FSx für Lustre zu erstellen, oder stellen Sie kein Dateisystem von FSx für Lustre bereit.

  2. Wählen Sie für Durchsatz pro Speichereinheit den Durchsatz aus, der pro TiB bereitgestellten Speichers verfügbar sein soll.

  3. Geben Sie für Speicherkapazität einen Kapazitätswert in TB ein.

  4. Wählen Sie als Datenkomprimierungstyp LZ4 aus, um die Datenkomprimierung zu aktivieren.

  5. Sehen Sie sich für die Lustre-Version den Wert an, der für die neuen Dateisysteme empfohlen wird.

Anmerkung

Wenn Sie eine AMI-based Konfiguration (unter Lifecycle-Skripten wählen Sie „Keine“) oder ein Erweiterungsskript verwenden, wird das HyperPod Mounten von FSx for Lustre automatisch durchgeführt. Wenn Sie benutzerdefinierte Lifecycle-Skripten verwenden, sind Ihre Skripte für das Mounten des Dateisystems verantwortlich.

Tags – optional

Fügen Sie unter Tags — optional Schlüssel- und Wertepaare zum neuen Cluster hinzu und verwalten Sie den Cluster als AWS Ressource. Weitere Informationen finden Sie unter Markieren Ihrer AWS -Ressourcen.

Bereitstellen von Ressourcen

Nachdem Sie die Clusterkonfigurationen entweder mit Quick Setup oder Benutzerdefinierte Einrichtung abgeschlossen haben, wählen Sie die folgende Option aus, um mit der Ressourcenbereitstellung und Clustererstellung zu beginnen.

  • Absenden — SageMaker KI beginnt mit der Bereitstellung der Standardkonfigurationsressourcen und der Erstellung des Clusters.

  • CloudFormation Vorlagenparameter herunterladen — Sie laden die JSON-Datei mit den Konfigurationsparametern herunter und führen einen AWS CLI Befehl aus, um den CloudFormation Stack bereitzustellen, um die Konfigurationsressourcen bereitzustellen und den Cluster zu erstellen. Sie können die heruntergeladene Parameter-JSON-Datei bei Bedarf bearbeiten. Wenn Sie diese Option auswählen, finden Sie weitere Anweisungen unter SageMaker HyperPod Cluster erstellen mit CloudFormation Vorlagen.

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 mit On-Demand-AI-Instances SageMaker erstellt wurden, wenn sie nicht verwendet werden, um zu vermeiden, dass weitere Servicegebühren auf der Grundlage von On-Demand-Preisen anfallen. In diesem Tutorial haben Sie einen Cluster erstellt, der aus zwei Instance-Gruppen besteht. Eine davon verwendet eine C5-Instance. Stellen Sie also sicher, dass Sie den Cluster löschen, indem Sie den Anweisungen unter Löschen Sie einen SageMaker HyperPod Cluster folgen.

Wenn Sie jedoch einen Cluster mit reservierter Rechenkapazität erstellt haben, hat der Status der Cluster keinen Einfluss auf die Serviceabrechnung.

Wenn Sie „Standard-Lebenszyklusskripts verwenden“ oder „Benutzerdefinierte Lebenszyklusskripts verwenden“ verwendet haben, wechseln Sie zu dem Amazon S3 S3-Bucket, den Sie bei der Cluster-Erstellung verwendet haben, und entfernen Sie die Lebenszyklus-Skriptdateien.

Wenn Sie None (nur AMI-based Konfiguration) ohne Erweiterungsskript verwendet haben, ist keine Amazon S3 S3-Bereinigung für Lebenszyklusskripts erforderlich.

Wenn Sie None mit einem Erweiterungsskript verwendet haben, bereinigen Sie die Erweiterungsskriptdateien aus dem Amazon S3 S3-Bucket, den Sie angegeben haben.

Wenn Sie die Ausführung von Workloads auf dem Cluster getestet haben, vergewissern Sie sich, ob Sie Daten hochgeladen haben oder ob Ihr Auftrag Artefakte in verschiedenen S3-Buckets oder Dateisystemservices wie Amazon FSx für 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.