Load-Balancing-Strategie für die KI-/ML-Modellinferenz in GKE auswählen

Auf dieser Seite erfahren Sie, wie Sie die geeignete Load-Balancing-Strategie für KI-/ML-Modellinferenz-Arbeitslasten in Google Kubernetes Engine (GKE) auswählen.

Diese Seite richtet sich an folgende Nutzer:

  • Entwickler für maschinelles Lernen (ML), Plattformadministratoren und ‑operatoren sowie Daten- und KI-Spezialisten, die daran interessiert sind, Kubernetes-Container-Orchestrierungsfunktionen zum Bereitstellen von KI‑/ML-Arbeitslasten zu nutzen.
  • Cloud-Architekten und Netzwerkspezialisten, die mit Kubernetes-Netzwerken interagieren.

Weitere Informationen zu gängigen Rollen und Beispielaufgaben, auf die wir inGoogle Cloud Inhalten verweisen, finden Sie unter Häufig verwendete GKE-Nutzerrollen und -Aufgaben.

Bevor Sie diese Seite lesen, sollten Sie mit Folgendem vertraut sein:

Wenn Sie KI-/ML-Modellinferenz-Arbeitslasten in GKE bereitstellen, wählen Sie die richtige Load-Balancing-Strategie aus, um Leistung, Skalierbarkeit und Kosteneffizienz zu optimieren:

  • Wählen Sie das GKE Inference Gateway für optimiertes Routing und Load Balancing für die Bereitstellung von KI-/ML-Arbeitslasten aus.
  • Wählen Sie GKE Gateway mit benutzerdefinierten Messwerten aus. Dabei werden Application Load Balancer verwendet. Diese Option bietet eine allgemeine Steuerung und ermöglicht es Ihnen, die Trafficverteilung basierend auf Messwerten zu konfigurieren, die für Ihre Anwendungs- oder Infrastrukturanforderungen spezifisch sind.

GKE Inference Gateway – Übersicht

GKE Inference Gateway optimiert und verwaltet anspruchsvolle Arbeitslasten für generative KI (GenAI) und komplexe Inferenz von Large Language Models (LLM). Sie erweitert die GKE Gateway API und bietet mehrere wichtige Vorteile:

  • Intelligentes, KI-bezogenes Routing:GKE Inference Gateway überwacht wichtige KI-spezifische Messwerte, darunter:

    • KV-Cache-Auslastung des Modellservers
    • Länge der Warteschlange für ausstehende Anfragen
    • Gesamte GPU-/TPU-Auslastung
    • Verfügbarkeit von LoRA-Adaptern
    • Rechenaufwand einzelner Anfragen: Anhand dieser Messwerte verteilt das Gateway den Traffic intelligent auf die am besten geeignete und am wenigsten ausgelastete Modellserverreplik.
  • Anfragepriorisierung:Das Gateway bietet Mechanismen zur Priorisierung von Anfragen.

  • Optimiertes Autoscaling:Das Gateway bietet optimierte Autoscaling-Mechanismen für Modellserver.

GKE Gateway mit benutzerdefinierten Messwerten – Übersicht

Google Cloud bietet Application Load Balancer-Ressourcen, die Bereiche wie global extern und regional extern unterstützen. Diese universellen Load-Balancer verteilen den Traffic basierend auf benutzerdefinierten Messwerten, die von Ihren Backend-Diensten gemeldet werden. Dieser Ansatz bietet eine detaillierte Kontrolle über die Lastverteilung, sodass Sie sie auf anwendungsspezifischen Leistungsindikatoren basieren können.

GKE Inference Gateway und GKE Gateway mit benutzerdefinierten Messwerten vergleichen

In der folgenden Tabelle können Sie die Funktionen von GKE Inference Gateway und GKE Gateway mit benutzerdefinierten Messwerten vergleichen und die richtige Load-Balancing-Lösung für Ihre KI‑/ML-Inferenzarbeitslasten in GKE auswählen.

Funktion GKE Inference Gateway GKE Gateway mit benutzerdefinierten Messwerten (über Application Load Balancer)
Primärer Anwendungsfall Optimiert Arbeitslasten für generative KI und maschinelles Lernen in Kubernetes, einschließlich der Bereitstellung von Large Language Models (LLMs). Sie sorgt für einen fairen Zugriff auf Modellressourcen und optimiert latenzempfindliche, GPU- oder TPU-basierte LLM-Arbeitslasten. Bietet universelles HTTP(S)-Load-Balancing und verteilt den Traffic basierend auf benutzerdefinierten, von der Anwendung gemeldeten Messwerten. Dieser Lastenausgleich ist ideal für latenzempfindliche Dienste wie Echtzeit-Gaming-Server oder Hochfrequenzhandelsplattformen, die benutzerdefinierte Auslastungsdaten melden.
Basis-Routing Unterstützt das standardmäßige HTTP(S)-Routing basierend auf Host und Pfad und erweitert die GKE Gateway API. Unterstützt das standardmäßige HTTP(S)-Routing basierend auf Host und Pfad. Sie konfigurieren dies mit den Standardressourcen der GKE Gateway API.
Erweiterte Routinglogik Bietet erweiterte Funktionen wie modellbasiertes Routing, Traffic-Aufteilung, Spiegelung und die Anwendung von Prioritäts- und Kritikalitätsstufen auf Anfragen. Gleicht den Traffic auf der Grundlage benutzerdefinierter Messwerte aus, die von der Anwendung über den ORCA-Standard (Open Request Cost Aggregation) gemeldet werden. Dadurch werden Richtlinien wie WEIGHTED_ROUND_ROBIN für die Gewichtung von Endpunkten innerhalb eines Standorts aktiviert.
Unterstützte Messwerte Es werden eine Reihe von nativen, KI-spezifischen Messwerten verwendet, z. B. GPU- oder TPU-Auslastung, KV-Cache-Treffer und Länge der Anfragewarteschlange. Es kann auch so konfiguriert werden, dass es Anwendungsberichts-Messwerte über einen standardisierten HTTP-Header-Mechanismus verwendet. Beruht auf von der Anwendung gemeldeten Messwerten, die einen standardisierten HTTP-Header-Mechanismus verwenden, insbesondere Open Request Cost Aggregation (ORCA)-Lastberichte. Dieser Mechanismus unterstützt Standardmesswerte wie CPU und Arbeitsspeicher sowie benutzerdefinierte Messwerte für anwendungsspezifische eingeschränkte Ressourcen.
Anfragen verarbeiten Entwickelt für die Verarbeitung von Arbeitslasten mit nicht einheitlichen Anfragekosten, die bei LLMs aufgrund unterschiedlicher Prompt-Komplexitäten üblich sind. Es unterstützt Kritikalitätsstufen für Anfragen, sodass verschiedene Arten von Inferenzanfragen priorisiert werden können. Am besten geeignet für Arbeitslasten, bei denen einzelne Anfragen relativ einheitliche Verarbeitungskosten haben. Diese Lösung enthält keine nativen Funktionen zur Priorisierung von Anfragen.
Unterstützung von LoRa-Adaptern Bietet natives, affinitätsbasiertes Routing zu Back-Ends mit bestimmten LoRa-Adaptern, sodass Anfragen an die entsprechenden Ressourcen weitergeleitet werden. Bietet keine native Unterstützung für LoRa-Adapter oder affinitätsbasiertes Routing basierend auf LoRa-Konfigurationen.
Autoscaling-Integration Optimiert das Autoscaling für Modellserver, indem KI-spezifische Messwerte wie die KV-Cache-Auslastung verwendet werden, um fundiertere Skalierungsentscheidungen zu treffen. Integration in das horizontale Pod-Autoscaling (HPA) über benutzerdefinierte Messwerte. Diese Messwerte werden an den Application Load Balancer gemeldet und werden auf generische Weise für die Skalierung verwendet, basierend auf den gemeldeten Lastsignalen.
Einrichtung und Konfiguration Konfigurieren Sie sie mit der GKE Gateway API. Erweitert die Standard-API mit speziellen benutzerdefinierten Ressourcendefinitionen (Custom Resource Definitions, CRDs) für InferencePool und InferenceModel, um die KI-basierten Funktionen zu aktivieren. Sie konfigurieren diese Lösung mit den Standardressourcen der GKE Gateway API. Die Anwendung muss einen HTTP-Header-basierten Mechanismus wie ORCA (Open Request Cost Aggregation) implementieren, um benutzerdefinierte Messwerte für das Load-Balancing zu melden.
Sicherheit Diese Lösung umfasst die Filterung von KI-Inhalten mit Model Armor auf Gateway-Ebene. Außerdem werden grundlegende GKE-Sicherheitsfunktionen wie TLS, Identity and Access Management (IAM), rollenbasierte Zugriffssteuerung (RBAC) und Namespaces genutzt. Diese Lösung verwendet den standardmäßigen Sicherheits-Stack für Application Load Balancer, der Google Cloud Armor, TLS-Terminierung und IAM umfasst. Wenn Sie die KI-Inhaltsfilterung aktivieren möchten, können Sie Google Cloud Armor als Service Extension einbinden.
Beobachtbarkeit Bietet integrierte Beobachtbarkeit für KI-spezifische Messwerte, einschließlich GPU- oder TPU-Auslastung, KV-Cache-Treffer, Länge der Anfragewarteschlange und Modelllatenz. Die Observability hängt von allen benutzerdefinierten Messwerten ab, für die die Anwendung konfiguriert ist. Sie können diese in Cloud Monitoring aufrufen. Dazu können Standardmesswerte oder benutzerdefinierte Messwerte gehören.
Erweiterbarkeit Sie basiert auf einer erweiterbaren Open-Source-Grundlage, die einen vom Nutzer verwalteten Endpoint Picker-Algorithmus ermöglicht. Sie erweitert die GKE Gateway API mit speziellen [benutzerdefinierten Ressourcendefinitionen (CRDs)](/kubernetes-engine/docs/how-to/deploy-gke-inference-gateway), z. B. InferencePool und InferenceModel, um gängige KI-Anwendungsfälle zu vereinfachen. Sie sind flexibel konzipiert und ermöglichen es Ihnen, das Load Balancing mit einem beliebigen [benutzerdefinierten Messwert (Lastsignal)](/load-balancing/docs/https/applb-custom-metrics) zu erweitern, den die Anwendung gemäß dem ORCA-Standard meldet.
Startphase AV AV

Wann sollte GKE Inference Gateway verwendet werden?

Wählen Sie GKE Inference Gateway aus, um anspruchsvolle KI- und Machine-Learning-Inferenzarbeitslasten in GKE zu optimieren, insbesondere für Large Language Models (LLMs). Wir empfehlen diese Lösung in den folgenden Situationen:

  • Bereitstellung von LLMs:Wenn Sie Modellserver wie vLLM verwenden, benötigen Sie Routingentscheidungen, die auf LLM-spezifischen Status basieren, z. B. auf der KV-Cache-Auslastung oder der Länge der Anfragewarteschlange.
  • Modelle mit LoRA-Adaptern bereitstellen:Sie benötigen ein intelligentes, affinitätsbasiertes Routing zu Back-Ends, die mit den richtigen und verfügbaren LoRA-Adaptern ausgestattet sind.
  • Verarbeiten von Inferenzanfragen mit stark variablen Verarbeitungskosten:Dynamische Prompt-Größen oder ‑Komplexität erfordern beispielsweise einen kostenbewussten Load Balancer.
  • Anfragepriorisierung implementieren:Sie müssen verschiedene Klassen von Inferenz-Traffic priorisieren, z. B. kritische, Standard- oder entlastbare Anfragen.
  • Autoscaling optimieren:Sie möchten einen Autoscaling-Mechanismus, der eng mit bestimmten Leistungsmesswerten von GenAI-Modellservern (Generative AI) verknüpft ist, z. B. der KV-Cache-Auslastung, um fundiertere Skalierungsentscheidungen zu treffen.
  • Model Armor-Integration nutzen:Sie müssen Model Armor für KI-Sicherheitsprüfungen auf Gateway-Ebene verwenden.
  • Out-of-the-box-Beobachtbarkeit:Sie benötigen eine integrierte Beobachtbarkeit für wichtige KI-spezifische Messwerte, einschließlich GPU- oder TPU-Auslastung, KV-Cache-Treffer und Länge der Anfragewarteschlange.
  • Vereinfachung von GenAI-Bereitstellungen:Sie bevorzugen eine speziell entwickelte Lösung, die gängige GenAI-Bereitstellungsmuster in GKE vereinfacht und gleichzeitig Optionen für zukünftige Anpassungen durch die erweiterbare GKE Gateway API-Grundlage bietet.

Wann sollte GKE Gateway mit benutzerdefinierten Messwerten verwendet werden?

Wenn Sie ein flexibles, universelles Load-Balancing basierend auf den individuellen Leistungsindikatoren Ihrer Anwendung erreichen möchten, verwenden Sie GKE Gateway mit benutzerdefinierten Messwerten. Dieser Ansatz ermöglicht die Lastverteilung basierend auf eindeutigen, anwendungsdefinierten Leistungsindikatoren, einschließlich bestimmter Inferenzszenarien. Wir empfehlen dies in den folgenden Szenarien:

  • Ihre Arbeitslast hat ein hohes Verkehrsaufkommen mit relativ einheitlichen Verarbeitungskosten pro Anfrage.
  • Die Lastverteilung kann effektiv über ein oder zwei bestimmte benutzerdefinierte Messwerte verwaltet werden, die von der Anwendung gemeldet werden, in der Regel über HTTP-Antwortheader unter Verwendung des ORCA-Standards (Open Request Cost Aggregation) für die Lastberichterstellung.
  • Ihre Load-Balancing-Anforderungen hängen nicht von GenAI- oder LLM-spezifischen Funktionen ab.
  • Ihr Betriebsmodell erfordert nicht die spezielle KI-spezifische Intelligenz, die von GKE Inference Gateway bereitgestellt wird. So wird unnötige architektonische Komplexität vermieden.
  • Die Konsistenz mit vorhandenen Application Load Balancer-Bereitstellungen hat Priorität und diese Bereitstellungen erfüllen die Load-Balancing-Anforderungen des Inferenzdienstes.

Nächste Schritte