Auf dieser Seite werden die verfügbaren Techniken beschrieben, mit denen Sie Computing-Beschleuniger wie GPUs oder TPUs basierend auf den Anforderungen Ihrer KI-/ML-Arbeitslasten erhalten können. Diese Techniken werden in GKE als Optionen für die Nutzung von Beschleunigern bezeichnet. Wenn Sie die verschiedenen Nutzungsoptionen kennen, können Sie die Ressourcennutzung optimieren, um eine Unterauslastung von Ressourcen zu vermeiden, die Wahrscheinlichkeit zu erhöhen, Ressourcen zu erhalten, und ein Gleichgewicht zwischen Kosten und Leistung zu finden.
Diese Seite richtet sich an Plattformadministratoren und ‑operatoren, die mit ML-Entwicklern zusammenarbeiten, um die erforderlichen Ressourcen für die erfolgreiche Bereitstellung von KI-/ML-Arbeitslasten zu erhalten.
Weitere Informationen zu gängigen Rollen und Beispielaufgaben, auf die wir in Google Cloud Inhalten verweisen, finden Sie unter Häufig verwendete GKE-Nutzerrollen und -Aufgaben.
Nutzungsoptionen
Sie können in GKE aus den folgenden Optionen auswählen, um Beschleuniger zu nutzen:
- On-Demand:Sie nutzen TPUs oder GPUs in GKE, ohne Kapazität im Voraus zu reservieren. Bevor Sie Ressourcen anfordern, müssen Sie genügend On-Demand-Kontingent für den jeweiligen Typ und die jeweilige Anzahl von Beschleunigern haben. On-Demand ist die flexibelste Nutzungsoption. Es gibt jedoch keine Garantie dafür, dass genügend On-Demand-Ressourcen verfügbar sind, um Ihre Anfrage zu erfüllen.
- Reservierungen:Sie reservieren Ressourcen für einen bestimmten Zeitraum. Eine Reservierung kann Folgendes sein:
- Vorausschauende Reservierungen:Sie reservieren Ressourcen für in der Regel längere Zeiträume für einen bestimmten Zeitpunkt in der Zukunft. Sie haben während dieses Zeitraums exklusiven Zugriff auf die reservierten Ressourcen. Für vorausschauende Reservierungen ist die Zusammenarbeit mit einem Technical Account Manager (TAM) erforderlich. Weitere Informationen finden Sie in der Anleitung zu TPU und GPUs.
- Vorausschauende Reservierungen für bis zu 90 Tage (im Kalendermodus) : Sie fordern Kapazität für einen bestimmten Zeitraum an. Ein Kalenderberater schlägt verfügbare Termine vor. Vorausschauende Reservierungen für bis zu 90 Tage (im Kalendermodus) bieten mehr Flexibilität für kürzere Zeiträume und die Suche nach Kapazität im Self-Service. Weitere Informationen finden Sie unter Anfragen für vorausschauende Reservierungen im Kalendermodus.
- On-Demand-Reservierungen:Sie können eine On-Demand-Reservierung anfordern, die bereitgestellt wird, sobald die Kapazität verfügbar ist. Das ist ähnlich wie bei der On-Demand-Option. Während die Reservierung aktiv ist, bezahlen Sie für die Ressourcen, unabhängig davon, ob Sie sie verwenden oder nicht.
- Flex-Start:Sie sichern sich eng zugewiesene Ressourcen für Arbeitslasten mit kurzer Ausführungsdauer ohne Reservierung. Sie fordern eine bestimmte Anzahl von GPUs oder TPUs an und Compute Engine stellt sie bereit, sobald Kapazität verfügbar ist. Die GPUs oder TPUs werden bis zu sieben Tage lang ohne Unterbrechung ausgeführt. Weitere Informationen finden Sie unter Flex-Start-Bereitstellung.
- Spot:Sie stellen Spot-VMs bereit, mit denen Sie erhebliche Rabatte erhalten. Spot-VMs können jedoch jederzeit mit einer 30-sekündigen Warnung vorzeitig beendet werden. Weitere Informationen finden Sie unter Spot-VMs.
Um den Erfolg der Bereitstellung bei Einschränkungen der Compute-Ressourcen zu optimieren, können Sie diese Optionen mit ComputeClasses orchestrieren.
Beschleunigerkontingent in GKE
Kontingente und Systemlimits beschränken Ihre Nutzung von Google Cloud Ressourcen, um die Ressourcenverfügbarkeit für alle Google Cloud Nutzer zu gewährleisten. Kontingente haben Standardwerte, aber Sie können in der Regel Anpassungen anfordern. Systemlimits sind feste Werte, die nicht geändert werden können. Standardmäßig haben Projekte in der Regel kein erhebliches Beschleunigerkontingent. Sie müssen ein Kontingent für bestimmte Beschleunigertypen und ‑regionen anfordern und genehmigen lassen.
Berücksichtigen Sie beim Verwalten der Kontingente, die für Ihre Arbeitslasten erforderlich sind, die folgenden Merkmale:
Sie müssen das für jede Nutzungsoption erforderliche Kontingent anfordern. Die erforderlichen Kontingente für die einzelnen Nutzungsoptionen finden Sie in der Tabelle Nutzungsoption auswählen in den entsprechenden Kontingentparametern. Wenn nicht genügend Kontingent vorhanden ist, schlagen Versuche, Cluster oder Knotenpools zu erstellen oder Arbeitslasten bereitzustellen, für die Beschleuniger erforderlich sind, mit dem Fehler
Quota exceededfehl.Sie müssen ein Kontingent anfordern, wenn Sie benutzerdefinierte ComputeClasses in Autopilot verwenden. Die Knoten, die zur Erfüllung der ComputeClass-Anforderungen bereitgestellt werden, verbrauchen weiterhin das Kontingent Ihres Projekts für die angegebenen Beschleuniger.
Google Cloud Für Konten im kostenlosen Testzeitraum gelten Einschränkungen bei der Anforderung von Kontingenterhöhungen für hochwertige Ressourcen wie GPUs und TPUs. Wenn Sie auf Beschleunigerkontingente zugreifen möchten, führen Sie ein Upgrade auf ein kostenpflichtiges Konto durch.
Wenn Sie Kontingente prüfen und anfordern möchten, rufen Sie in der Google Cloud Console die Seite Kontingente auf. Sie können nach Beschleunigerkontingenten filtern und Erhöhungen anfordern.
Nutzungsoption auswählen
Berücksichtigen Sie die folgenden Punkte, um die beste Nutzungsoption für Ihre KI-/ML-Arbeitslast auszuwählen:
- Arbeitslasttyp:Berücksichtigen Sie den Typ der Arbeitslast, die Sie implementieren möchten.
Die GKE-Anforderungen variieren, je nachdem, ob Sie eine Trainings- oder eine Inferenzarbeitslast ausführen:
- Training:Erfordert leistungsstarke Ressourcen mit erheblichem Arbeitsspeicher. Trainingsarbeitslasten haben in der Regel eine klar definierte Lebensdauer. Diese Arbeitslasten lassen sich in der Regel leichter planen, da sie weniger anfällig für plötzliche Spitzen im Ressourcenverbrauch sind.
- Inferenz:Erfordert in der Regel Beschleuniger, die für Skalierbarkeit und niedrigere Kosten optimiert sind. Inferenzarbeitslasten können bei plötzlichen Spitzen im Ressourcenverbrauch erheblichen Beschleunigerspeicher erfordern.
- Lebensdauer basierend auf der Implementierungsphase:Berücksichtigen Sie Ihr Geschäftsziel, wenn Sie einen Proof of Concept (POC), eine Plattformbewertung, eine Anwendungsentwicklung oder ‑prüfung, die Produktionsumgebung oder die Optimierung ausführen.
- Zeit bis zur Bereitstellung:Bestimmen Sie, ob Ihre Arbeitslast sofort ausgeführt werden muss oder ob sie in der Zukunft ausgeführt werden kann. Wenn die Ausführung in der Zukunft möglich ist, bestimmen Sie, wie flexibel die Startzeit sein kann.
- Gleichgewicht zwischen Kosten und Leistung:Bewerten Sie die Leistungsanforderungen Ihrer Arbeitslast und die Budgetbeschränkungen, um den kostengünstigsten Beschleuniger auszuwählen. Berücksichtigen Sie das Verhältnis zwischen den Kosten der Beschleuniger und ihren Leistungsmerkmalen. Neue Beschleuniger können zu einem besseren Kosten-Leistungs-Verhältnis führen.
Nutzungsoption auswählen
Wählen Sie in der folgenden Tabelle eine Nutzungsoption aus:
| Nutzungsoption | Bereitstellungsparameter | Unterstützte Beschleuniger | Details | Beispielarbeitslasten |
|---|---|---|---|---|
| On-Demand-Reservierungen |
|
|
|
|
| Vorausschauende Reservierungen |
|
|
|
|
| Vorausschauende Reservierungen für bis zu 90 Tage (im Kalendermodus) |
|
|
|
|
| Flex-Start-Bereitstellungsmodus |
|
|
|
|
| Spot-VMs |
|
|
|
|
| On-Demand (GPUs oder TPUs) |
|
|
|
Kosten und Bereitstellung von Arbeitslasten mit ComputeClasses optimieren
Mit ComputeClasses können Sie Ihre Strategie für die Nutzung von Beschleunigern dynamisch verwalten und automatisieren, indem Sie eine prioritätsbasierte Liste von Fallback-Konfigurationen definieren. Bei Scale-up-Vorgängen versucht GKE, Knoten gemäß der von Ihnen festgelegten Prioritätshierarchie bereitzustellen.
In der folgenden Liste werden die Nutzungsoptionen beschrieben, die mit ComputeClasses verfügbar sind, und wie Sie sie konfigurieren. Vollständige YAML-Manifeste finden Sie unter Beispiele für Nutzungsoptionen mit ComputeClasses.
- Reservierungen: Sie können den Namen der Reservierung im
reservationsFeld in Ihrer ComputeClass definieren. So wird sichergestellt, dass GKE zuerst versucht, Ihre reservierte Kapazität zu nutzen, bevor es auf eine Fallback-Option zurückgreift. - Flex-Start-Bereitstellungsmodus: Aktivieren Sie die Flex-Warteschlange mit dem
flexStartFeld in Ihrer ComputeClass und konfigurieren Sie die Dauer für den Austausch von Fallback-Knoten mit dennodeRecyclingFeldern. - Spot-VMs: Weisen Sie GKE an, Spot-VMs zu verwenden, wenn
Knoten für diese Prioritätsregel bereitgestellt werden, indem Sie das
spotFeld auftruesetzen. - On-Demand-Kapazität in Kombination mit einer multizonalen Standortrichtlinie:
Deklarieren Sie die Standardkonfigurationen für Maschinen in der Prioritätenliste und
konfigurieren Sie eine Fallback-Standortstrategie mit den
locationFeldern.
ComputeClasses unterstützen keine vorausschauenden Reservierungen oder vorausschauenden Reservierungen für bis zu 90 Tage (im Kalendermodus).
Beispiele für Nutzungsoptionen mit ComputeClasses
In den folgenden Abschnitten finden Sie Konfigurationsbeispiele für diese Strategien.
Reservierungen mit Fallback-Konfiguration
Diese Konfiguration eignet sich am besten für Arbeitslasten, die Unterbrechungen tolerieren können, und nicht für Arbeitslasten, die von nichtflüchtigen Daten abhängen oder bis zum Abschluss ausgeführt werden müssen.
Diese Konfiguration erstellt mit den folgenden Schritten eine robuste Fallback-Strategie:
- Reservierungen zuerst nutzen:GKE versucht, Knoten mit Ihrer spezifischen, im Voraus gekauften Kapazitätsreservierung bereitzustellen.
- Fallback auf Flex-Start:Wenn die Reservierungskapazität vollständig genutzt wird, greift GKE auf kurzfristige, rabattierte Flex-Start-Ressourcen zurück.
- Fallback auf On-Demand:Als letzte Fallback-Option stellt GKE Standard-On-Demand-Ressourcen bereit.
Zurück zu Reservierungen migrieren:Wenn Sie die aktive Migration aktivieren, weist GKE Arbeitslasten automatisch zusammen und migriert sie zurück zu den Reservierungsknoten mit höherer Priorität, sobald Kapazität verfügbar ist. Diese Migration kann zu Unterbrechungen führen.
apiVersion: cloud.google.com/v1 kind: ComputeClass metadata: name: ha-gpu-fallback spec: activeMigration: optimizeRulePriority: true # Migrate workloads back to reservation when capacity releases priorities: # Priority 1: Consume specific corporate reservation first - gpu: type: nvidia-l4 count: 1 reservations: affinity: Specific specific: - name: reserved-l4-pool project: my-project zones: [us-central1-a] # Priority 2: Fallback to Flex Start (short-duration allocation) - gpu: type: nvidia-l4 count: 1 flexStart: enabled: true # Priority 3: Fallback to On-demand resources - gpu: type: nvidia-l4 count: 1
Flex-Start-Bereitstellungsmodus mit Knoten-Recycling-Konfiguration
Diese Konfiguration verwaltet kurzfristige, rabattierte Kapazität mit kontinuierlicher Verfügbarkeit. Dazu werden die folgenden Schritte ausgeführt:
- Flex-Start-VMs anfordern:GKE fordert VM-Instanzen aus der Flex-Start-Warteschlange an (die bis zu sieben Tage lang ohne Unterbrechung ausgeführt werden).
- Ablauf der Lease beobachten:GKE verfolgt die verbleibende Dauer der aktiven Flex-Start-Knoten.
- Knoten-Recycling auslösen:Zwanzig Minuten (1.200 Sekunden) vor Ablauf der VM-Lease stellt GKE automatisch einen Ersatzknoten bereit.
Arbeitslasten neu planen:Arbeitslasten werden auf den neuen Knoten migriert und die Ausführung wird ohne Dienstunterbrechung fortgesetzt.
apiVersion: cloud.google.com/v1 kind: ComputeClass metadata: name: flex-node-recycling spec: priorities: - gpu: type: nvidia-l4 count: 1 flexStart: enabled: true nodeRecycling: leadTimeSeconds: 1200 # Automatically launch replacement node before VM lease expires
Konfiguration der multizonalen Zuweisungsrichtlinie
Diese Konfiguration umgeht Einschränkungen bei der Bereitstellung in einer einzelnen Zone. Dazu werden die folgenden Schritte ausgeführt:
- Zielzonen definieren:Sie listen in den Prioritätsregeln mehrere Backupzonen auf, z. B.
us-central1-a,us-central1-bundus-central1-c. - Zielparameter erweitern:Sie setzen die Standortrichtlinie auf
ANY. Diese Einstellung weist Cluster Autoscaler an, in allen angegebenen Zonen nach der angeforderten Kapazität zu suchen. - Zonale Verfügbarkeit analysieren:Bei Scale-up-Ereignissen scannt GKE die angegebenen Zonen.
In verfügbaren Zonen bereitstellen:GKE stellt die angeforderten Arbeitslastknoten sofort in der Zielzone bereit, die über die passende Kapazität verfügt. Diese Strategie verhindert Blockierungen in Zuweisungswarteschlangen.
apiVersion: cloud.google.com/v1 kind: ComputeClass metadata: name: broad-zonal-serving spec: priorities: - gpu: type: nvidia-l4 count: 1 location: zones: [us-central1-a, us-central1-b, us-central1-c] locationPolicy: ANY # Provision accelerator in any target zone with supply
Nächste Schritte
- GPUs in GKE
- TPUs in GKE
- Erfahren Sie mehr über KI-/ML-Inferenz in GKE.