In dieser Anleitung wird gezeigt, wie Sie ein Gemma 3 27B-LLM (Large Language Model) mit dem vLLM-Bereitstellungs-Framework bereitstellen und verfügbar machen. Sie stellen Gemma 3 auf einer einzelnen virtuellen A4-Maschine (VM) in Google Kubernetes Engine (GKE) bereit.
Diese Anleitung richtet sich an Machine Learning-Entwickler, Plattformadministratoren und -operatoren sowie Daten- und KI-Spezialisten, die daran interessiert sind, Kubernetes-Container-Orchestrierungsfunktionen zum Verarbeiten von Inferenzarbeitslasten zu verwenden.
Ziele
Auf Gemma 3 mit Hugging Face zugreifen.
Umgebung vorbereiten.
GKE-Cluster im Autopilot-Modus erstellen.
Kubernetes-Secret für Hugging Face-Anmeldedaten erstellen.
vLLM-Container in Ihrem GKE-Cluster bereitstellen.
Mit Gemma 3 über „curl“ interagieren.
Bereinigen.
Kosten
In dieser Anleitung werden kostenpflichtige Komponenten von Google Cloud verwendet, darunter:
Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.
Hinweis
-
Installieren Sie die Google Cloud CLI.
-
Konfigurieren Sie die gcloud CLI für die Verwendung Ihrer föderierten Identität.
Weitere Informationen finden Sie unter Mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init -
Erstellen oder wählen Sie ein Google Cloud Projekt aus.
Erforderliche Rollen zum Auswählen oder Erstellen eines Projekts
- Projekt auswählen: Für die Auswahl eines Projekts ist keine bestimmte IAM-Rolle erforderlich. Sie können ein beliebiges Projekt auswählen, für das Ihnen eine Rolle zugewiesen wurde.
-
Projekt erstellen: Zum Erstellen eines Projekts benötigen Sie die Rolle „Projektersteller“
(
roles/resourcemanager.projectCreator), die dieresourcemanager.projects.createBerechtigung enthält. Rollen zuweisen.
-
Google Cloud Projekt erstellen:
gcloud projects create PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch einen Namen für das Google Cloud Projekt, das Sie erstellen. -
Wählen Sie das Google Cloud Projekt aus, das Sie erstellt haben:
gcloud config set project PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch Ihren Google Cloud Projektnamen.
-
Prüfen Sie, ob die Abrechnung für Ihr Google Cloud Projekt aktiviert ist.
Aktivieren Sie die erforderliche API:
Erforderliche Rollen zum Aktivieren von APIs
Zum Aktivieren von APIs benötigen Sie die Berechtigung
serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Rolle „Inhaber“ (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Rollen zuweisen.gcloud services enable container.googleapis.com
-
Weisen Sie Ihrem Nutzerkonto Rollen zu. Führen Sie den folgenden Befehl für jede der folgenden IAM-Rollen einmal aus:
roles/container.admingcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Ersetzen Sie Folgendes:
PROJECT_ID: Ihre Projekt-ID.USER_IDENTIFIER: Die Kennung für Ihr Nutzer Konto. Beispiele finden Sie unter Mitarbeiterpoolnutzer in IAM-Richtlinien darstellen.ROLE: Die IAM-Rolle, die Sie Ihrem Nutzerkonto zuweisen.
- Melden Sie sich in einem Hugging Face Konto an oder erstellen Sie eines.
Auf Gemma 3 mit Hugging Face zugreifen
So greifen Sie mit Hugging Face auf Gemma 3 zu:
- Melden Sie sich bei Hugging Face an.
- Erstellen Sie ein Hugging Face-
readZugriffstoken. Klicken Sie auf Mein Profil > Einstellungen > Zugriffstokens > +Neues Token erstellen. - Kopieren und speichern Sie den
read accessToken-Wert. Sie verwenden es später in dieser Anleitung.
Umgebung vorbereiten
Legen Sie die Standardumgebungsvariablen fest, um Ihre Umgebung vorzubereiten:
Ersetzen Sie Folgendes:
PROJECT_ID: Die ID des Google Cloud Projekts , in dem Sie den GKE-Cluster erstellen möchten.RESERVATION_URL: Die URL der Reservierung, die Sie zum Erstellen Ihres GKE-Cluster verwenden möchten. Geben Sie je nach Projekt, in dem die Reservierung vorhanden ist, einen der folgenden Werte an:Die Reservierung ist in Ihrem Projekt vorhanden:
RESERVATION_NAMEDie Reservierung ist in einem anderen Projekt vorhanden und Ihr Projekt kann die Reservierung verwenden:
projects/RESERVATION_PROJECT_ID/reservations/RESERVATION_NAME
REGION: Die Region, in der Sie Ihren GKE-Cluster erstellen möchten. Sie können den Cluster nur in der Region erstellen, in der sich Ihre Reservierung befindet.CLUSTER_NAME: Der Name des zu erstellenden GKE-Cluster.YOUR_HF_TOKEN: Das Hugging Face-Zugriffstoken, das Sie im vorherigen Abschnitt erstellt haben.NETWORK: Das Netzwerk, das der GKE-Cluster verwendet. Geben Sie einen der folgenden Werte an:Wenn Sie ein benutzerdefiniertes Netzwerk erstellt haben, geben Sie den Namen Ihres Netzwerks an.
Geben Sie andernfalls
defaultan.
SUBNETWORK: Das Subnetzwerk, das der GKE-Cluster verwendet. Geben Sie einen der folgenden Werte an:Wenn Sie ein benutzerdefiniertes Subnetzwerk erstellt haben, geben Sie den Namen Ihres Subnetzwerks an. Sie können nur ein Subnetzwerk angeben, das sich in derselben Region wie die Reservierung befindet.
Geben Sie andernfalls
defaultan.
GKE-Cluster im Autopilot-Modus erstellen
Führen Sie den folgenden Befehl aus, um einen GKE-Cluster im Autopilot-Modus zu erstellen:
Das Erstellen des GKE-Cluster kann einige Zeit dauern. Prüfen Sie in der Google Cloud Console unter „ Kubernetes-Cluster“, ob Google Cloud die Erstellung des Clusters abgeschlossen ist.
Kubernetes-Secret für Hugging Face-Anmeldedaten erstellen
So erstellen Sie ein Kubernetes-Secret für Hugging Face-Anmeldedaten:
Konfigurieren Sie
kubectlfür die Kommunikation mit Ihrem GKE-Cluster:Erstellen Sie ein Kubernetes-Secret, um Ihr Hugging Face-Token zu speichern:
vLLM-Container in Ihrem GKE-Cluster bereitstellen
So stellen Sie den vLLM-Container bereit, um das Gemma 3 27B-Modell mit Kubernetes-Bereitstellungen bereitzustellen:
Erstellen Sie eine
vllm-3-27b-it.yaml-Datei mit der von Ihnen ausgewählten vLLM-Bereitstellung:Wenden Sie die Datei
vllm-3-27b-it.yamlauf Ihren GKE-Cluster an:Während der Bereitstellung muss der Container Gemma 3 von Hugging Face herunterladen. Aus diesem Grund kann die Bereitstellung des Containers bis zu 30 Minuten dauern.
Warten Sie, bis die Bereitstellung abgeschlossen ist:
Mit Gemma 3 über „curl“ interagieren
So prüfen Sie die bereitgestellten, für die Anleitung abgestimmten Modelle von Gemma 3 27B:
Richten Sie die Portweiterleitung zu Gemma 3 ein:
Öffnen Sie ein neues Terminalfenster. Sie können dann mit
curlmit Ihrem Modell chatten:Die Ausgabe sieht etwa so aus:
{ "id": "chatcmpl-e4a2e624bea849d9b09f838a571c4d9e", "object": "chat.completion", "created": 1741763029, "model": "google/gemma-3-27b-it", "choices": [ { "index": 0, "message": { "role": "assistant", "reasoning_content": null, "content": "Okay, let's break down why the sky appears blue! It's a fascinating phenomenon rooted in physics, specifically something called **Rayleigh scattering**. Here's the explanation: ...", "tool_calls": [] }, "logprobs": null, "finish_reason": "stop", "stop_reason": 106 } ], "usage": { "prompt_tokens": 15, "total_tokens": 668, "completion_tokens": 653, "prompt_tokens_details": null }, "prompt_logprobs": null }
Wenn Sie die Leistung Ihres Modells beobachten möchten, können Sie die vLLM-Dashboard-Integration in Cloud Monitoring verwenden. Auf diesem Dashboard können Sie wichtige Leistungsmesswerte für Ihr Modell wie den Token-Durchsatz, die Netzwerklatenz und die Fehlerraten sehen. Weitere Informationen finden Sie in der Monitoring-Dokumentation unter vLLM.
Bereinigen
Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie entweder das Projekt, das die Ressourcen enthält, oder Sie behalten das Projekt und löschen die einzelnen Ressourcen.
Ressourcen löschen
Führen Sie den folgenden Befehl aus, um die in der Datei
vllm-3-27b-it.yamldefinierte Bereitstellung und den Dienst sowie das Kubernetes-Secret aus dem GKE-Cluster zu löschen:Führen Sie den folgenden Befehl aus, um Ihren GKE-Cluster zu löschen:
Projekt löschen
Google Cloud Projekt löschen:
gcloud projects delete PROJECT_ID