Voraussetzungen für die Verwendung von SageMaker HyperPod
Die folgenden Abschnitte bieten schrittweise Anleitungen für die Voraussetzungen, bevor Sie mit SageMaker HyperPod beginnen.
Themen
SageMaker-HyperPod-Kontingente
Sie können SageMaker-HyperPod-Cluster unter Berücksichtigung der Kontingente für die Clusternutzung in Ihrem AWS-Konto erstellen.
Wichtig
Weitere Informationen zu den Preisen von SageMaker HyperPod finden Sie unter Preise von SageMaker HyperPod und Amazon SageMaker – Preise
Anzeigen von Kontingenten für Amazon SageMaker HyperPod unter Verwendung der AWS-Managementkonsole
Suchen Sie nach den Standardwerten und den angewendeten Werten eines Kontingents, das auch als Limit bezeichnet wird, für die Cluster-Nutzung, das für SageMaker HyperPod verwendet wird.
-
Öffnen Sie die Service Quotas-Konsole
. -
Wählen Sie im linken Navigationsbereich AWS services aus.
-
Suchen Sie in der Liste der AWS-Services nach Amazon SageMaker AI und wählen Sie es aus.
-
In der Liste Service Quotas wird der Name der Service Quota, der angewendete Wert (falls verfügbar) und das AWS-Standardkontingent angezeigt. Zudem wird angezeigt, ob der Kontingentwert anpassbar ist.
-
Geben Sie in die Suchleiste Cluster-Nutzung ein. Hier werden die Kontingente für die Cluster-Nutzung, die angewendeten Kontingente und die Standardkontingente angezeigt.
Beantragen einer Erhöhung des Kontingents für Amazon SageMaker HyperPod unter Verwendung der AWS-Managementkonsole
Erhöhen Sie Ihre Kontingente auf Konto- oder Ressourcenebene.
-
Um das Kontingent der Instances für die Cluster-Nutzung zu erhöhen, wählen Sie das Kontingent aus, das Sie erhöhen möchten.
-
Wenn das Kontingent anpassbar ist, können Sie eine Erhöhung des Kontingents entweder auf Konto- oder Ressourcenebene beantragen, basierend auf dem Wert, der in der Spalte Anpassbarkeit aufgeführt ist.
-
Geben Sie unter Kontingentwert erhöhen den neuen Wert ein. Der neue Wert muss größer als der aktuelle Wert sein.
-
Wählen Sie Request (Anfrage).
-
Um ausstehende oder kürzlich gelöste Anfragen in der Konsole anzuzeigen, navigieren Sie auf der Detailseite des Services zur Registerkarte Anfrageverlauf oder wählen Sie im Navigationsbereich Dashboard aus. Wählen Sie für ausstehende Anfragen den Status der Anfrage, um die Anfrage zu öffnen. Der Anfangsstatus einer Anfrage ist Pending (Ausstehend). Nachdem sich der Status in Kontingent angefordert geändert hat, wird die Fallnummer mit AWS Support angezeigt. Wählen Sie die Fallnummer, um das Ticket für Ihre Anfrage zu öffnen.
Weitere Informationen zur Anforderung einer Erhöhung eines Kontingents finden Sie unter Beantragen einer Kontingenterhöhung im Benutzerhandbuch zu AWS-Service-Quotas.
Einrichtung von SageMaker HyperPod mit einer benutzerdefinierten Amazon VPC
Um einen SageMaker-HyperPod-Cluster mit einer benutzerdefinierten Amazon-VPC einzurichten, überprüfen Sie die folgenden Voraussetzungen.
Anmerkung
Die VPC-Konfiguration ist für die Amazon-EKS-Orchestrierung obligatorisch. Für die Slurm-Orchestrierung ist die VPC-Einrichtung optional.
-
Überprüfen Sie die Kapazität der Elastic-Network-Schnittstelle (ENI) in Ihrem AWS-Konto, bevor Sie einen SageMaker-HyperPod-Cluster mit einer benutzerdefinierten VPC erstellen. Das ENI-Limit wird von Amazon EC2 gesteuert und variiert je nach AWS-Region. SageMaker HyperPod kann nicht automatisch Kontingenterhöhungen anfordern.
So überprüfen Sie Ihr aktuelles ENI-Kontingent:
-
Öffnen Sie die Service Quotas-Konsole
. -
Verwenden Sie im Abschnitt Kontingente verwalten die Drop-Down-Liste AWS-Services, um nach VPC zu suchen.
-
Wählen Sie die Option zum Anzeigen der Kontingente von Amazon Virtual Private Cloud (Amazon VPC).
-
Suchen Sie nach dem Service Quota, den Netzwerkschnittstellen pro Region oder dem Kontingentcode
L-DF5E4CA3.
Wenn Ihr derzeitiges ENI-Limit nicht ausreicht, um die Anforderungen Ihres SageMaker-HyperPod-Clusters zu erfüllen, fordern Sie eine Erhöhung des Kontingents an. Wenn Sie im Voraus eine ausreichende ENI-Kapazität sicherstellen, können Sie Ausfälle bei der Cluster-Bereitstellung vermeiden.
-
-
Wenn Sie eine benutzerdefinierte VPC verwenden, um einen SageMaker-HyperPod-Cluster mit AWS-Ressourcen zu verbinden, geben Sie bei der Clustererstellung den VPC-Namen, die ID ,AWS-Region, die Subnetz-IDs und die Sicherheitsgruppen-IDs an.
Anmerkung
Wenn Ihre Amazon VPC und Subnetze IPv6 in der
VPCConfigim Cluster oder auf Instance-Gruppenebene mithilfe desOverrideVPCConfig-Attributs vonClusterInstanceGroupSpecificationunterstützen, unterscheiden sich die Netzwerkkommunikationen je nach Cluster-Orchestrierungsplattform:-
Slurm-orchestrierte Cluster konfigurieren automatisch Knoten mit dualen IPv6- und IPv4-Adressen und ermöglichen so eine sofortige IPv6-Netzwerkkommunikation. Neben den
VPCConfig-IPv6-Einstellungen ist keine zusätzliche Konfiguration erforderlich. -
In EKS-orchestrierten Clustern erhalten Knoten eine Dual-Stack-Adressierung, aber Pods können IPv6 nur verwenden, wenn der Amazon-EKS-Cluster explizit IPv6-fähig ist. Sie müssen einen neuen IPv6-Cluster von Amazon EKS erstellen. Bestehende IPv4-Cluster von Amazon EKS können nicht in IPv6 konvertiert werden. Informationen zur Bereitstellung eines IPv6-Clusters von Amazon EKS finden Sie unter Amazon EKSIPv6-Cluster-Bereitstellung.
Zusätzliche Ressourcen für die IPv6-Konfiguration:
-
Informationen zum Hinzufügen von IPv6-Unterstützung zu Ihrer VPC finden Sie unter IPv6-Unterstützung für VPC.
-
Informationen zum Konfigurieren von SageMaker HyperPod mit einer benutzerdefinierten Amazon VPC finden Sie unter Einrichten einer benutzerdefinierten Amazon VPC für SageMaker HyperPod.
-
-
Stellen Sie sicher, dass alle Ressourcen in derselben AWS-Region wie der SageMaker-HyperPod-Cluster bereitgestellt werden. Konfigurieren Sie Sicherheitsgruppenregeln, um die Kommunikation zwischen Ressourcen innerhalb der VPC zu ermöglichen, wenn Sie beispielsweise eine VPC in
us-west-2erstellen, Subnetze in einer oder mehreren Availability Zones (z.B.us-west-2aoderus-west-2b) bereitstellen und eine Sicherheitsgruppe erstellen, die gruppeninternen Datenverkehr ermöglicht.Anmerkung
SageMaker HyperPod unterstützt die Bereitstellung in mehreren Availability Zones. Weitere Informationen finden Sie unter Einrichtung von SageMaker-HyperPod-Clustern für mehrere AZs.
-
Stellen Sie Amazon Simple Storage Service-Konnektivität (Amazon S3) für von VPC bereitgestellte Instance-Gruppen von SageMaker HyperPod her, indem Sie einen VPC-Endpunkt erstellen. Ohne Internetzugang können Instance-Gruppen keine Lebenszyklusskripte, Trainingsdaten oder Modellartefakte speichern oder abrufen. Wir empfehlen Ihnen, eine benutzerdefinierte IAM-Richtlinie zu erstellen, die den Zugriff des Amazon-S3-Buckets auf die private VPC einschränkt. Weitere Informationen finden Sie unter Endpunkte für Amazon S3 im AWS PrivateLink-Benutzerhandbuch.
-
Für HyperPod-Cluster, die Elastic Fabric Adapter (EFA) verwenden, konfigurieren Sie die Sicherheitsgruppe so, dass der gesamte eingehende und ausgehende Datenverkehr zur und von der Sicherheitsgruppe selbst zugelassen wird. Vermeiden Sie insbesondere die Verwendung von
0.0.0.0/0für ausgehende Regeln, da dies dazu führen kann, dass die EFA-Zustandsprüfung fehlschlägt. Weitere Informationen zu den Richtlinien zur Vorbereitung von EFA-Sicherheitsgruppen finden Sie unter Schritt 1: Vorbereiten einer EFA-fähigen Sicherheitsgruppe im Benutzerhandbuch für Amazon EC2. -
Überlegen Sie sich vor der Erstellung von HyperPod-Clustern sorgfältig die CIDR-Blockgröße (Classless Inter-Domain Routing) Ihres Subnetzes.
-
Die Größe des CIDR-Blocks des Subnetzes kann nach der Erstellung nicht mehr geändert werden. Dies ist besonders wichtig, wenn Sie große beschleunigte Instances wie P5 verwenden. Ohne ausreichende Blockgröße müssen Sie Ihre Cluster bei der Skalierung neu erstellen.
-
Berücksichtigen Sie bei der Auswahl der geeigneten CIDR-Blockgröße für das Subnetz folgende Faktoren: Ihre Instance-Typen, die erwartete Anzahl von Instances und die Anzahl der von jeder Instance belegten IP-Adressen.
-
Bei SLURM-orchestrierten Clustern kann jede P5-Instance 32 IP-Adressen (eine pro Netzwerkkarte) erstellen. Bei EKS-orchestrierten Clustern kann jede P5-Instance 81 IP-Adressen erstellen (50 von der primären Karte plus eine von jeder der verbleibenden 31 Karten). Detaillierte Spezifikationen finden Sie unter Netzwerkspezifikationen im Entwicklerhandbuch für Instance-Typen von Amazon EC2.
-
Beispiele für CloudFormation-Vorlagen, die die CIDR-Blockgröße des Subnetzes festlegen, finden Sie in der HyperPod-Slurm-Vorlage
und der Vorlage von HyperPod Amazon EKS im Repository awesome-distributed-training .
-
Einrichtung von SageMaker-HyperPod-Clustern für mehrere AZs
Sie können Ihre SageMaker HyperPod-Cluster über mehrere Availability Zones (AZs) hinweg konfigurieren, um die Zuverlässigkeit und Verfügbarkeit zu verbessern.
Anmerkung
Der Datenverkehr über Elastic Fabric Adapter (EFA) kann keine AZs oder VPCs kreuzen. Dies gilt nicht für normalen IP-Verkehr vom ENA-Gerät einer EFA-Schnittstelle. Weitere Informationen finden Sie unter EFA-Einschränkungen.
-
Standardverhalten
HyperPod stellt alle Cluster-Instances in einer einzigen Availability Zone bereit. Die VPC-Konfiguration bestimmt die Bereitstellungs-AZ:
-
Für SLURM-orchestrierte Cluster ist die VPC-Konfiguration optional. Wenn keine VPC-Konfiguration angegeben ist, verwendet HyperPod standardmäßig ein Subnetz aus der Plattform-VPC.
-
Für EKS-orchestrierte Cluster ist die VPC-Konfiguration erforderlich.
-
Sowohl für Slurm- als auch für EKS-Orchestratoren wählt HyperPod, sofern
VpcConfigangegeben ist, ein Subnetz aus der angegebenen Subnetzliste aus. Alle Instance-Gruppen erben die AZ des Subnetzes.
Anmerkung
Sobald Sie einen Cluster erstellt haben, können Sie seine
VpcConfig-Einstellungen nicht mehr ändern.Weitere Informationen zur Konfiguration von VPCs für HyperPod-Cluster finden Sie im vorherigen Abschnitt, Einrichtung von SageMaker HyperPod mit einer benutzerdefinierten Amazon VPC.
-
-
Multi-AZ-Konfiguration
Sie können Ihren HyperPod-Cluster über mehrere AZs hinweg einrichten, wenn Sie einen Cluster erstellen oder eine neue Instance-Gruppe zu einem bestehenden Cluster hinzufügen. Um Multi-AZ-Bereitstellungen zu konfigurieren, können Sie die VPC-Standardeinstellungen des Clusters überschreiben, indem Sie für einzelne Instance-Gruppen innerhalb Ihres Clusters unterschiedliche Subnetze und Sicherheitsgruppen angeben, möglicherweise über verschiedene Availability Zones hinweg.
Benutzer der SageMaker-HyperPod-API können die
OverrideVpcConfig-Eigenschaft innerhalb der ClusterInstanceGroupSpecification verwenden, wenn sie mit denCreateCluster- oderUpdateCluster-APIs arbeiten.Das Feld
OverrideVpcConfig:-
Kann nicht geändert werden, nachdem die Instance-Gruppe erstellt wurde.
-
ist optional. Wenn nicht anders angegeben, wird standardmäßig die Cluster-Ebene
VpcConfigverwendet. -
Kann für Slurm-orchestrierte Cluster nur angegeben werden, wenn die Clusterebene
VpcConfigangegeben ist. Wenn auf ClusterebeneVpcConfigangegeben ist, kannOverrideVpcConfigfür keine Instance-Gruppe verwendet werden. -
Enthält zwei Pflichtfelder:
-
Subnets– akzeptiert zwischen 1 und 16 Subnetz-IDs -
SecurityGroupIds– akzeptiert zwischen 1 und 5 Sicherheitsgruppen-IDs
-
Weitere Informationen zum Erstellen oder Aktualisieren eines SageMaker-HyperPod-Clusters mit der Benutzeroberfläche der SageMaker-HyperPod-Konsole oder der AWS CLI:
-
Slurm-Orchestrierung: siehe Betrieb von Slurm-orchestrierten HyperPod-Clustern.
-
EKS-Orchestrierung. Siehe Betrieb von EKS-orchestrierten HyperPod-Clustern.
-
Anmerkung
Beachten Sie bei der Ausführung von Workloads auf mehreren AZs, dass die Netzwerkkommunikation zwischen AZs zu zusätzlicher Latenz führt. Berücksichtigen Sie diese Auswirkungen bei der Entwicklung latenzempfindlicher Anwendungen.
Einrichtung von AWS Systems Manager und „Ausführung als“ für die Cluster-Benutzerzugriffskontrolle
SageMaker HyperPod DLAMI wird standardmäßig mit AWS Systems Manager
Anmerkung
Wenn Benutzern Zugriff auf HyperPod-Clusterknoten gewährt wird, können sie benutzerverwaltete Software auf den Knoten installieren und betreiben. Stellen Sie sicher, dass Sie das Prinzip der geringsten Berechtigung für Benutzer beibehalten.
Aktivieren von „Ausführen als“ in Ihrem AWS-Konto
Als AWS-Kontoadministrator oder Cloud-Administrator können Sie den Zugriff auf SageMaker-HyperPod-Cluster auf IAM-Rollen- oder Benutzerebene verwalten, indem Sie das Feature „Ausführen als“ in SSM verwenden. Mit diesem Feature können Sie jede SSM-Sitzung mit dem Betriebssystembenutzer starten, der der IAM-Rolle oder dem IAM-Benutzer zugeordnet ist.
Um „Ausführen als“ in Ihrem AWS-Konto zu aktivieren, folgen Sie den Schritten unter Aktivieren der „Ausführung als“-Unterstützung für verwaltete Linux- und macOS-Knoten. Wenn Sie bereits Betriebssystembenutzer in Ihrem Cluster erstellt haben, stellen Sie sicher, dass Sie sie IAM-Rollen oder -Benutzern zuordnen, indem Sie sie wie in Option 2 von Schritt 5 unter So aktivieren Sie die Unterstützung von „Ausführen als“ für verwaltete Linux- und macOS-Knoten beschrieben markieren.
(Optional) Einrichtung von SageMaker HyperPod mit Amazon FSx für Lustre
Um SageMaker HyperPod zu verwenden und Datenpfade zwischen dem Cluster und Ihrem Dateisystem von FSx für Lustre zuzuordnen, wählen Sie eine der von SageMaker HyperPod unterstützten AWS-Regionen aus. Nachdem Sie die von Ihnen bevorzugte AWS-Regionausgewählt haben, sollten Sie auch festlegen, welche Availability Zone (AZ) Sie verwenden möchten.
Wenn Sie SageMaker-HyperPod-Rechenknoten in AZs verwenden, die sich von den AZs unterscheiden, in denen Ihr Dateisystem von FSx für Lustre innerhalb derselben AZ eingerichtet ist, kann es zu Kommunikations- und Netzwerk-Overhead kommen. Wir empfehlen Ihnen, dieselbe physische AZ wie für das SageMaker-HyperPod-Servicekonto zu verwenden, um jeglichen AZ-übergreifenden Datenverkehr zwischen SageMaker-HyperPod-Clustern und Ihrem Dateisystem von FSx für Lustre zu vermeiden. Stellen Sie außerdem sicher, dass Sie es mit Ihrer VPC konfiguriert haben. Wenn Sie Amazon FSx als Hauptdateisystem für die Speicherung verwenden möchten, müssen Sie SageMaker-HyperPod-Cluster mit Ihrer VPC konfigurieren.