Unterstützung für die Verbesserung dieser Seite beitragen
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.
Um zu diesem Benutzerhandbuch beizutragen, wählen Sie den GitHub Link Diese Seite bearbeiten auf, der sich im rechten Bereich jeder Seite befindet.
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.
Rechenleistung für AI/ML Workloads auf Amazon EKS mit Knotengruppen verwalten
Tipp
Melden Sie sich
In diesem Abschnitt wird beschrieben, wie Sie beschleunigte Rechenleistung (AWS Trainium, NVIDIA-GPUs) für KI-Trainings- und Inferenz-Workloads mithilfe von Amazon EKS-verwalteten Knotengruppen oder selbstverwalteten Knoten verwalten.
Von EKS verwaltete Knotengruppen und selbstverwaltete Knoten verwenden EC2 Auto Scaling Groups (ASG). Von EKS verwaltete Knotengruppen verfügen über spezielle EKS-APIs zum Erstellen, Aktualisieren und Löschen von Knoten sowie über integrierte Knotenreparaturfunktionen und Lifecycle-Termination-Hooks. Selbstverwaltete EKS-Knoten werden direkt über EC2-APIs bereitgestellt und verwaltet.
Mit diesen Optionen definieren Sie den Instance-Typ, die gewünschte Anzahl, die Skalierungsgrenzen und die EC2-Startvorlage im Voraus. Erwägen Sie die Verwendung von EKS-verwalteten Knotengruppen oder selbstverwalteten Knoten, wenn Sie auch Workloads haben, die nicht von EKS stammen, und Sie Konfigurationskonsistenz mithilfe von EC2-Startvorlagen bevorzugen. EKS-Knotengruppen eignen sich für das Training und die Feinabstimmung von Workloads, bei denen der beschleunigte Rechenaufwand im Voraus bekannt ist. Beachten Sie, dass sowohl EKS Auto Mode als auch Karpenter auch statische Kapazitätsbereitstellung unterstützen. Weitere Informationen finden Sie unter. Rechenleistung für AI/ML Workloads mit EKS Auto Mode und Karpenter verwalten
Von EKS verwaltete Knotengruppen und selbstverwaltete Knoten unterstützen alle Optionen zum beschleunigten Kauf von Rechenleistung (SpotOn-Demand, On-Demand Kapazitätsreservierungen, Kapazitätsblöcke für ML). Sie erstellen pro Kapazitätstyp eine separate verwaltete oder selbstverwaltete Knotengruppe mit jeweils eigener Startvorlage, Instance-Typen und Skalierungskonfiguration. Dadurch erhalten Sie die explizite ASG-backed Kontrolle über jeden Kapazitätspool ohne heterogene dynamische Bereitstellungslogik.
Von EKS verwaltete Knotengruppen im Vergleich zu selbstverwalteten Knoten
Die Wahl zwischen verwalteten EKS-Knotengruppen und selbstverwalteten Knoten hängt vom Grad der Anpassung und Kontrolle ab, den Sie benötigen. Von EKS verwaltete Knotengruppen ermöglichen einen Teil der Anpassung von EC2-Startvorlagen, wohingegen selbstverwaltete Knoten die gesamte Bandbreite der EC2-Startvorlage unterstützen. Wenn Sie keinen bestimmten Grund haben, den Knotenlebenszyklus selbst anzupassen und zu verwalten, beginnen Sie mit von EKS verwalteten Knotengruppen und wechseln Sie nur dann zu selbstverwalteten Knoten, wenn eine bestimmte Anforderung dies erfordert.
Verwenden Sie verwaltete Knotengruppen, wenn: Sie möchten, dass EKS die AMI-Auswahl, das Bootstrapping von Knoten, fortlaufende Updates, die Knotenreparatur und die Workflows für den Graceful Drain in Ihrem Namen abwickelt. Von EKS verwaltete Knotengruppen sind der empfohlene Ausgangspunkt, wenn Sie EKS Auto Mode oder Karpenter nicht für Trainings- und Inferenz-Workloads verwenden möchten. Wenn Sie Capacity Blocks for ML verwenden, erstellen die von EKS verwalteten Knotengruppen automatisch eine geplante Skalierungsrichtlinie, die die Knotengruppe 40 Minuten vor Ende der Reservierung entleert, sodass Sie den Node Termination Handler oder Ihre eigene AWS Scale-Down-Automatisierung
Verwenden Sie selbstverwaltete Knotengruppen, wenn: Sie volle Kontrolle über die EC2-Startvorlage, das AMI, die Kernel-Parameter, die Container-Laufzeitkonfiguration oder benutzerdefinierte Bootstrap-Skripts benötigen. Zu den gängigen ML-Szenarien gehören die Optimierung der Kernel- und NIC-Einstellungen für verteiltes Training mit dem Elastic Fabric Adapter (EFA) oder die Integration mit einem benutzerdefinierten Node Lifecycle Controller. Self-managed Nodes bieten Ihnen die Flexibilität, alle benötigten Benutzerdaten und IAM-Instanzprofile bereitzustellen. Sie übernehmen jedoch die Verantwortung für Updates, geplante Skalierungsrichtlinien und Lifecycle-Hooks wie den AWS Node Termination
Reservieren Sie GPUs mit Kapazitätsblöcken für ML
Mit Kapazitätsblöcken für maschinelles Lernen (ML) können Sie GPU-Instanzen zu einem future Zeitpunkt für zeitgebundene Trainings- oder Inferenz-Workloads reservieren. Weitere Informationen finden Sie unter Capacity Blocks for ML im Amazon EC2 EC2-Benutzerhandbuch.
Sie können Capacity Block-Reservierungen über von EKS verwaltete Knotengruppen und selbstverwaltete Knoten verwenden. Die Konfiguration der EC2-Startvorlage ist in beiden Fällen identisch. Der Arbeitsablauf bei der Knotenerstellung, das Scale-Down-Verhalten und die Lifecycle-Hooks für die Workloadbeendigung unterscheiden sich je nach Bereitstellungsoption.
Überlegungen
-
Kapazitätsblöcke sind nur für bestimmte Amazon EC2 EC2-Instance-Typen und AWS Regionen verfügbar. Weitere Informationen finden Sie unter Voraussetzungen für das Arbeiten mit Kapazitätsblöcken.
-
Kapazitätsblöcke sind zonal. Bei der Erstellung der Knotengruppe müssen Sie das Subnetz in derselben Availability Zone (AZ) wie die Kapazitätsblock-Reservierung verwenden.
-
Wenn Sie eine Knotengruppe erstellen, bevor die Kapazitätsblock-Reservierung aktiv wird, legen Sie
0bei der Erstellung der Knotengruppe die gewünschte Kapazität auf fest. -
Um genügend Zeit für einen ordnungsgemäßen Abbau der Arbeitslast zu haben, sollten Sie die Skalierung auf Null mehr als 30 Minuten vor dem Ende der Kapazitätsblock-Reservierung einplanen. EC2 beginnt 30 Minuten vor Ende der Reservierung mit dem Herunterfahren der Instances.
Erstellen Sie Knotengruppen mit Kapazitätsblöcken für ML
Von EKS verwaltete Knotengruppen und selbstverwaltete Knoten erfordern die Verwendung einer benutzerdefinierten EC2-Startvorlage, die auf die Kapazitätsblockreservierung abzielt. Im Folgenden werden die mindestens erforderlichen Felder für von EKS verwaltete Knotengruppen und selbstverwaltete Knoten aufgeführt. Für selbstverwaltete Knoten sind zusätzliche Felder erforderlich, wie in den folgenden Self-managed Knotenschritten dargestellt.
Sie LaunchTemplateData müssen Folgendes beinhalten:
-
InstanceMarketOptionsmit der Einstellung"capacity-block"fürMarketType -
CapacityReservationSpecification: CapacityReservationTargetmitCapacityReservationIdEinstellung auf die Capacity-Block-ID. Beispiel,cr-0123456789abcdef0. -
InstanceTypeauf den Instance-Typ Ihrer Capacity Block-Reservierung festgelegt. Beispiel,p5.48xlarge.
Diese Anforderungen werden in den folgenden Beispielen für die Erstellung der Startvorlage für EKS-verwaltete Knotengruppen und selbstverwaltete Knoten dargestellt.