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.
Aufgabenverwaltung für die Modellbereitstellung am HyperPod
In diesem Abschnitt wird beschrieben, wie Sie Ihre gemeinsam genutzten Amazon SageMaker HyperPod EKS-Cluster für Inferenz-Workloads in Echtzeit optimieren können. Sie lernen, die Task-Governance-Funktionen von Kueue — einschließlich Quotenverwaltung, Prioritätsplanung und Richtlinien für die gemeinsame Nutzung von Ressourcen — zu konfigurieren, um sicherzustellen, dass Ihre Inferenz-Workloads die GPU-Ressourcen erhalten, die sie bei Verkehrsspitzen benötigen, und gleichzeitig eine faire Verteilung der Schulungs-, Evaluierungs- und Testaktivitäten Ihrer Teams gewährleisten. Weitere SageMaker HyperPod Verwaltung von Aufgaben allgemeine Informationen zur Aufgabenverwaltung finden Sie unter.
So funktioniert das Inferenz-Workload-Management
Um die Spitzen des Inferenzverkehrs in Echtzeit in gemeinsam genutzten HyperPod EKS-Clustern effektiv zu bewältigen, implementieren Sie die folgenden Task-Governance-Strategien unter Verwendung der vorhandenen Funktionen von Kueue.
Konfiguration der Prioritätsklasse
Definieren Sie spezielle Prioritätsklassen für Inferenz-Workloads mit hohen Gewichtungen (z. B. 100), um sicherzustellen, dass Inferenz-Pods vor anderen Tasktypen zugelassen und geplant werden. Diese Konfiguration ermöglicht es Inferenz-Workloads, Jobs mit niedrigerer Priorität während der Clusterlast zuvorzukommen, was für die Einhaltung niedriger Latenzanforderungen bei hohen Datenverkehrszahlen entscheidend ist.
Größe und Zuteilung von Kontingenten
Reservieren Sie ausreichend GPU-Ressourcen in Ihrem TeamClusterQueue
, um erwartete Inferenzspitzen zu bewältigen. In Zeiten mit geringem Inferenzverkehr können ungenutzte Quotenressourcen vorübergehend den Aufgaben anderer Teams zugewiesen werden. Wenn der Bedarf an Inferenzen steigt, können diese geliehenen Ressourcen zurückgewonnen werden, um ausstehende Inferenz-Pods zu priorisieren. Weitere Informationen finden Sie unter Cluster-Warteschlange.
Strategien zur gemeinsamen Nutzung von Ressourcen
Wählen Sie je nach Ihren Anforderungen zwischen zwei Ansätzen zur Aufteilung von Kontingenten:
-
Strikte Ressourcenkontrolle: Deaktivieren Sie das Ausleihen und Ausleihen von Kontingenten, um sicherzustellen, dass reservierte GPU-Kapazität immer für Ihre Workloads verfügbar ist. Bei diesem Ansatz müssen die Kontingente so dimensioniert werden, dass sie Spitzenlasten unabhängig voneinander bewältigen können. Dies kann dazu führen, dass Knoten in Zeiten mit geringem Datenverkehr inaktiv sind.
-
Flexible gemeinsame Nutzung von Ressourcen: Ermöglichen Sie die Ausleihe von Kontingenten, um bei Bedarf ungenutzte Ressourcen anderer Teams zu nutzen. Ausgeliehene Kapseln sind als vorrätig gekennzeichnet und können geräumt werden, wenn das Ausleihteam Kapazitäten zurückfordert.
Teaminterne Präemption
Aktivieren Sie die teaminterne Präemption, wenn gemischte Workloads (Evaluierung, Schulung und Inferenz) unter demselben Kontingent ausgeführt werden. Auf diese Weise kann Kueue Aufgaben mit niedrigerer Priorität innerhalb Ihres Teams vorwegnehmen, um Inferenz-Pods mit hoher Priorität zu unterstützen. Dadurch wird sichergestellt, dass Inferenz in Echtzeit ausgeführt werden kann, ohne auf externe Quotenausleihe angewiesen zu sein. Weitere Informationen finden
Beispiel für die Einrichtung eines Inferenz-Workloads
Das folgende Beispiel zeigt, wie Kueue GPU-Ressourcen in einem gemeinsam genutzten SageMaker HyperPod Amazon-Cluster verwaltet.
Cluster-Konfiguration und Richtlinien-Setup
Ihr Cluster hat die folgende Konfiguration:
-
Team A: 10-P4-GPU-Kontingent
-
Team B: 20-P4-GPU-Kontingent
-
Statische Bereitstellung: Keine automatische Skalierung
-
Gesamtkapazität: 30 P4 GPUs
Der gemeinsam genutzte GPU-Pool verwendet diese Prioritätsrichtlinie:
-
Inferenz in Echtzeit: Priorität 100
-
Schulung: Priorität 75
-
Bewertung: Priorität 50
In der Warteschlange werden Teamkontingente und Prioritätsklassen durchgesetzt, wobei Präemption und Quotenausleihe aktiviert sind.
Ausgangszustand: Normale Clusterauslastung
Im normalen Betrieb:
-
Team A führt Schulungs- und Bewertungsjobs auf allen 10 P4 durch GPUs
-
Team B führt Inferenz (10 P4s) und Evaluierungen (10 P4s) in Echtzeit im Rahmen seiner 20-GPU-Quote durch
-
Der Cluster ist voll ausgelastet, da alle Jobs zugelassen sind und ausgeführt werden
Inferenzanstieg: Team B benötigt zusätzliche GPUs
Wenn Team B einen Anstieg des Datenverkehrs verzeichnet, benötigen zusätzliche Inferenz-Pods 5 weitere P4. GPUs Kueue erkennt, dass es sich bei den neuen Pods um:
-
Im Namespace von Team B
-
Priorität 100 (Inferenz in Echtzeit)
-
Aufgrund von Quotenbeschränkungen steht die Zulassung noch aus
Bei der Reaktion von Kueue wird zwischen zwei Optionen gewählt:
Option 1: Quotenausleihe — Wenn Team A nur 6 seiner 10 P4 verwendet, kann Kueue die Pods von Team B zulassen, die die 4 P4 im Leerlauf verwenden. Diese geliehenen Ressourcen sind jedoch präventiv — wenn Team A Aufträge einreicht, um sein volles Kontingent zu erreichen, entfernt Kueue die geliehenen Inferenzkapseln von Team B.
Option 2: Selbstprävention (empfohlen) — Team B führt Bewertungsaufträge mit niedriger Priorität aus (Priorität 50). Wenn Inferenz-Pods mit hoher Priorität warten, nimmt Kueue die Evaluierungsjobs innerhalb des Kontingents von Team B vor und lässt die Inferenz-Pods zu. Dieser Ansatz ermöglicht eine sichere Ressourcenzuweisung ohne das Risiko einer externen Räumung.
Bei der Zuweisung von Ressourcen folgt Kueue einem dreistufigen Prozess:
-
Kontingentprüfung
Frage: Hat Team B ein ungenutztes Kontingent?
-
Ja → Gib die Pods zu
-
Nein → Fahren Sie mit Schritt 2 fort
-
-
Selbstprävention innerhalb von Team B
Frage: Können Team-B-Jobs mit niedrigerer Priorität ausgeschlossen werden?
-
Ja → Evaluierungsjobs (Priorität 50) zuvorkommen, 5 P4 freigeben und Inferenz-Pods zulassen
-
Nein → Weiter mit Schritt 3
Dieser Ansatz hält die Arbeitslast innerhalb der garantierten Quote von Team B und vermeidet so das Risiko einer externen Unternehmensräumung.
-
-
Kredite von anderen Teams aufnehmen
Frage: Gibt es ungenutzte, ausleihbare Quoten von anderen Teams?
-
Ja → Gib zu, ein geliehenes Kontingent genutzt zu haben (als präemptiv gekennzeichnet)
-
Nein → Der Pod bleibt im Status
NotAdmitted
-