GKE-Cluster und Arbeitslast für die KI-Inferenz mit Vortraining

Zum Erstellen einer KI-Anwendung stellen Sie einen sicheren, privaten Google Kubernetes Engine-Cluster (GKE) bereit, der für KI-Arbeitslasten optimiert ist. Anschließend stellen Sie Ihre Arbeitslast mit einem Helm-Diagramm bereit. In dieser Anleitung werden die folgenden Vorlagen beschrieben, die Sie anpassen können, um eine KI-Anwendung bereitzustellen:

  • KI Pre-trained Inference GKE-Cluster: Erstellen Sie die grundlegende Infrastruktur, die für die Modellbereitstellung mit hoher Leistung erforderlich ist. Mit dieser Vorlage wird ein sicherer, privater GKE-Cluster eingerichtet, der für die KI-Inferenz optimiert ist.

  • AI Pre-trained Inference GKE workload (Vorschau): Stellen Sie ein Helm-Diagramm bereit, das die Konfiguration für eine KI-Arbeitslast enthält. Verwenden Sie das Helm-Diagramm, um ein vortrainiertes Gemma-Modell mit der vLLM-Bereitstellungs-Engine bereitzustellen. Die Arbeitslast ist für effiziente GPU-Ressourcenanfragen und ein horizontales Pod-Autoscaling (Horizontal Pod Autoscaler, HPA) konfiguriert, um basierend auf der GPU-Cache-Nutzung zu skalieren.

Sie können beispielsweise die Cluster- und Arbeitslastvorlagen bereitstellen, um die folgenden geschäftlichen Anforderungen zu erfüllen:

Beispiel Geschäftliche Anforderung Implementierung
Echtzeit-Videoanalyse Ein Sicherheitsunternehmen muss Videostreams von Hunderten von Kameras verarbeiten, um Anomalien oder bestimmte Objekte in Echtzeit zu erkennen. Stellen Sie Modelle zur Videoverarbeitung im GPU-fähigen Knotenpool bereit. GPUs können die Anforderungen an hohen Durchsatz und niedrige Latenz von gleichzeitigen Videostreams verarbeiten.
Spezielle Dokumentverarbeitung Ein Versicherungsunternehmen muss automatisch Informationen aus Tausenden von Schadensformularen extrahieren, die unterschiedliche Layouts und Handschriften enthalten. Verwenden Sie den GKE-Cluster, um benutzerdefinierte Modelle zu hosten, und sorgen Sie dafür, dass Daten während der Verarbeitung die sichere Umgebung nicht verlassen.
Empfehlungssystem mit hohem Volumen Eine E-Commerce-Plattform muss Nutzern während der Hauptsaison für den Weihnachtseinkauf personalisierte Produktempfehlungen anbieten. Verwenden Sie die Google Kubernetes Engine Gateway API, um große Mengen an Nutzertraffic an die Empfehlungsmodelle weiterzuleiten. Die Gateway API kann plötzliche Trafficspitzen ohne Latenzverschlechterung verarbeiten.

Architektur

Die folgende Abbildung zeigt die Komponenten und Verbindungen in der Vorlage:

Ein Cluster, der im Designbereich mit einem Knotenpool verbunden ist

Im Folgenden werden die Komponentenkonfigurationen in dieser Vorlage beschrieben:

  • GKE-Standardcluster: Ein sicherer und privater Cluster, in dem Ihre KI-Arbeitslast ausgeführt wird.

    In der folgenden Tabelle wird die Clusterkonfiguration in dieser Vorlage beschrieben:

    Konfiguration Zweck
    node_locations ist auf ["us-central1-a", "us-central1-b", "us-central1-c"] festgelegt. Sorgt für Hochverfügbarkeit und Ausfallsicherheit, indem die Knoten des Clusters auf drei Zonen in der Region us-central1 verteilt werden.
    enable_intranode_visibility ist auf true festgelegt. Aktiviert die Sichtbarkeit für Pod-zu-Pod-Traffic auf demselben Knoten in VPC-Flusslogs. Diese Sichtbarkeit ist für die Netzwerküberwachung, Fehlerbehebung und Sicherheitsanalyse erforderlich.
    gateway_api_config wird mit {"channel":"CHANNEL_STANDARD"} aktiviert. Mit der GKE Inference Gateway API können Sie den eingehenden Traffic zu Ihren Kubernetes-Diensten verwalten. Mit der API können Sie detailliertes Routing, erweitertes Load-Balancing und die zentrale Richtlinienzuweisung konfigurieren.
    private_cluster_config.enable_private_endpoint ist auf false festgelegt. private_cluster_config.enable_private_nodes ist true. control_plane_endpoints_config.dns_endpoint_config.allow_external_traffic ist auf true festgelegt. Sorgt dafür, dass die Worker-Knoten, auf denen Ihre KI-Modelle ausgeführt werden, private IP-Adressen haben. Dadurch werden Ihre Knoten vom öffentlichen Internet isoliert. Die GKE-Steuerungsebene ist so konfiguriert, dass sie öffentlich zugänglich ist, damit Sie den Cluster außerhalb Ihres VPC-Netzwerks (Virtual Private Cloud) verwalten können.
    release_channel ist auf {"channel":"REGULAR"} festgelegt. Sorgt dafür, dass Ihr GKE-Cluster stabile und vorhersehbare Updates erhält, die ein Gleichgewicht zwischen neuen Funktionen und Zuverlässigkeit bieten.
  • GKE-Knotenpool: Eine Gruppe von Worker-Knoten, auf denen die Container der Anwendung ausgeführt werden.

    In der folgenden Tabelle werden die Knotenpoolkonfigurationen in dieser Vorlage beschrieben:

    Konfiguration Zweck
    autoscaling.min_node_count ist auf 0 festgelegt. autoscaling.max_node_count ist auf 3 festgelegt (Standardwert ist 100). Der Knotenpool kann vollständig herunterskaliert werden, wenn keine KI-Arbeitslasten ausgeführt werden. So lassen sich die Kosten in Leerlaufzeiten senken. Das obere Limit für die Skalierung trägt dazu bei, Kosten und Ressourcenverbrauch zu kontrollieren.
    Der Parameter node_config.guest_accelerator wird hinzugefügt. gpu_driver_installation_config.gpu_driver_version: ist auf "LATEST" festgelegt. gpu_sharing_config wird mit TIME_SHARING aktiviert. max_shared_clients_per_gpu: ist auf 2 festgelegt. Gibt die Verwendung von NVIDIA L4-GPUs für KI-Inferenzaufgaben an. Die erforderlichen GPU-Treiber werden automatisch installiert. Mehrere kleinere Arbeitslasten können sich eine einzelne GPU teilen.
    node_config.machine_type wird in "g2-standard-8" geändert. Der Maschinentyp wurde speziell für die L4-GPUs entwickelt. Es werden vCPUs (8) und Arbeitsspeicher (32 GB) erstellt, um die GPU zu unterstützen und Ihre KI-Inferenzanwendungen auszuführen.
    node_config.oauth_scopes enthält https://www.googleapis.com/auth/cloud-platform. Das Dienstkonto des Knotens hat umfassenden Zugriff auf Google Cloud Dienste und ermöglicht die API-Interaktion für Aufgaben wie Logging, Monitoring und das Abrufen von Container-Images.
    node_config.shielded_instance_config.enable_secure_boot ist auf true festgelegt. Mit Secure Boot können Sie Ihre Knoten vor Malware auf Boot-Ebene schützen, indem die kryptografischen Signaturen des Bootloaders und des Kernels überprüft werden, bevor sie ausgeführt werden.

Helm-Diagrammkonfiguration

In der folgenden Tabelle sind die Helm-Diagrammkonfigurationen aufgeführt, die für die Bereitstellung und Skalierung eines KI-Inferenzdienstes in GKE angepasst wurden.

Konfiguration Zweck
replicaCount: 1 Erstellt ein einzelnes anfängliches Replikat.
image.repository: vllm/vllm-openai Verwendet ein vLLM-Image, eine optimierte Bibliothek für die Inferenz von Large Language Models (LLMs), die über eine OpenAI-kompatible API verfügbar gemacht wird.
model.id: google/gemma-7b-it Definiert das Gemma 7B-Modell mit Anweisungen als das bereitzustellende Modell.
model.hfSecret: hf-secret Gibt an, dass für das Modell eine Authentifizierung mit einem Kubernetes-Secret für die sichere Verwaltung von Anmeldedaten erforderlich ist.
resources.limits und requests für nvidia.com/gpu: "1" Sorgt dafür, dass jeder Pod eine dedizierte GPU erhält.
nodeSelector.cloud.google.com/gke-accelerator: nvidia-l4 Sorgt dafür, dass Ihre KI-Modell-Pods ausschließlich auf GKE-Standardknoten geplant werden, die mit NVIDIA L4-GPUs ausgestattet sind. Diese sind ideal für kostengünstige und leistungsstarke Inferenz.
hpa.enabled: true Aktiviert den Horizontal Pod Autoscaler, mit dem die Anwendung die Anzahl der Pods automatisch skalieren kann (zwischen minReplicas: 1 und maxReplicas: 10), basierend auf targetCPUUtilizationPercentage: 80%. Sorgt für Leistung bei Spitzenlasten und Kosteneffizienz bei geringer Nutzung.
tensorParallelSize: 1 Gibt an, dass das Modell nicht auf mehrere GPUs innerhalb eines einzelnen Pods aufgeteilt ist.
maxModelLen: 512 Steuert die maximale Sequenzlänge, die das Gemma 7B-Modell verarbeiten kann.
service.type: ClusterIP Der Dienst ist für den internen Zugriff innerhalb des Clusters konfiguriert.
pdb.enabled: true und minAvailable: 1 Ein Budget für Pod-Störungen ist aktiviert, um Hochverfügbarkeit zu gewährleisten. Mindestens ein Replikat Ihres KI-Modells bleibt bei freiwilligen Störungen wie der Knotenwartung verfügbar.

KI-Anwendung erstellen

Verwenden Sie die Vorlagen AI Pre-trained Inference GKE-Cluster and workload , um Ihre KI-Anwendung bereitzustellen.

KI-Infrastruktur bereitstellen

Konfigurieren und stellen Sie die Vorlage AI Pre-trained Inference GKE cluster bereit, um die grundlegende Infrastruktur zu erstellen, in der Ihre KI-Arbeitslast ausgeführt wird.

  1. Duplizieren und stellen Sie die Vorlage AI Pre-trained Inference GKE cluster als Anwendung bereit.

    Im ausgewählten Bereitstellungsprojekt wird ein GKE-Cluster erstellt.

  2. Konfigurieren Sie die Komponenten. Hier finden Sie weitere Informationen:

  3. Klicken Sie auf Bereitstellen. Die Anwendung wird nach einigen Minuten bereitgestellt.

  4. Klicken Sie im Bereich Anwendungsdetails auf den Tab Ausgaben.

  5. Suchen Sie die cluster_id für Ihre Anwendung. Sie benötigen diese Informationen, wenn Sie Ihr Helm-Diagramm bereitstellen.

KI-Arbeitslast bereitstellen

Verwenden Sie die Vorlage AI Pre-trained Inference GKE workload , um Ihre KI-Arbeitslast im erstellten Cluster bereitzustellen. Sie stellen ein Helm-Diagramm bereit, das die Konfiguration Ihrer KI-Arbeitslast enthält.

  1. Klicken Sie auf der Seite Google-Katalog in der Vorlage AI Pre-trained Inference GKE workload auf Neue Anwendung erstellen.

  2. Geben Sie im Feld Name einen eindeutigen Namen für Ihre Anwendung ein.

  3. Führen Sie im Bereich GKE-Bereitstellungsziel folgende Schritte aus:

    1. Wählen Sie in der Projektliste das Projekt aus, in dem Sie den GKE-Cluster aus Ihrer AI Pre-trained Inference GKE cluster -Anwendung bereitgestellt haben.

    2. Wählen Sie in der Liste Region die Region aus, in der Sie den GKE-Cluster bereitgestellt haben.

    3. Wählen Sie in der Liste Cluster den bereitgestellten GKE-Cluster aus.

    4. Geben Sie in der Liste Namespace den Namespace ein, in dem Sie Ihren GKE-Cluster bereitgestellt haben. Wenn Sie den Namen nicht geändert haben, geben Sie default ein.

    5. Klicken Sie auf Anwendung erstellen.

    Die Anwendung wird erstellt und die Konfigurationsdateien werden angezeigt.

  4. Führen Sie im Bereich Helm-Diagramm folgende Schritte aus:

    1. Prüfen Sie die Konfigurationsdetails.

    2. Optional: Passen Sie die Konfiguration an Ihre individuellen Anforderungen an.

    3. Klicken Sie auf Bereitstellen, um das Helm-Diagramm in Ihrem Cluster bereitzustellen.

      Eine detaillierte Anleitung finden Sie unter Anwendungen bereitstellen.

    Nach einigen Minuten wird die Helm-Diagrammkonfiguration in Ihrem GKE-Cluster bereitgestellt.

Nächste Schritte