In dieser Anleitung wird gezeigt, wie Sie ein gpt-oss-120b-Language Model mit dem vLLM-Framework bereitstellen und verfügbar machen.
Sie stellen dieses Modell in einem Google Kubernetes Engine-Autopilot-Cluster (GKE) bereit und verwenden eine einzelne virtuelle A4-Maschine (VM) mit 8 B200-GPUs.
Diese Anleitung richtet sich an ML-Entwickler, Plattformadministratoren und -operatoren sowie Daten- und KI-Spezialisten, die daran interessiert sind, Kubernetes-Container-Orchestrierungsfunktionen für die Verarbeitung von Inferenzarbeitslasten zu verwenden.
Ziele
- Greifen Sie über Hugging Face auf
gpt-oss-120bzu. - Bereiten Sie Ihre Umgebung vor.
- Erstellen Sie einen GKE-Cluster im Autopilot-Modus.
- Erstellen Sie ein Kubernetes-Secret für Hugging Face-Anmeldedaten.
- Cloud Storage-Bucket erstellen
- Laden Sie das Modell in Ihren Cloud Storage-Bucket herunter.
- Stellen Sie einen vLLM-Container in Ihrem GKE-Cluster bereit.
- Mithilfe von curl mit dem Language Model gpt-oss interagieren.
- bereinigen.
Kosten
In dieser Anleitung werden kostenpflichtige Komponenten von Google Cloudverwendet, 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 -
Google Cloud -Projekt erstellen oder auswählen.
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 jedes Projekt auswählen, für das Ihnen eine Rolle zugewiesen wurde.
-
Projekt erstellen: Zum Erstellen eines Projekts benötigen Sie die Rolle „Project Creator“ (
roles/resourcemanager.projectCreator), die die Berechtigungresourcemanager.projects.createenthält. Informationen zum Zuweisen von Rollen
-
Erstellen Sie ein Projekt in Google Cloud :
gcloud projects create PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch einen Namen für das Projekt in Google Cloud , das Sie erstellen. -
Wählen Sie das von Ihnen erstellte Projekt in Google Cloud aus:
gcloud config set project PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch den Namen Ihres Projekts in Google Cloud .
-
Prüfen Sie, ob die Abrechnung für Ihr Google Cloud -Projekt aktiviert ist.
Aktivieren Sie die erforderliche API, falls sie noch nicht aktiviert ist:
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 Inhaberrolle (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollengcloud 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 Nutzerkonto. -Konto. Beispiele finden Sie unter Workforce-Pool-Nutzer 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.
Über Hugging Face auf gpt-oss zugreifen
So greifen Sie mit Hugging Face auf gpt-oss zu:
- Melden Sie sich bei Hugging Face an und sehen Sie sich das gpt-oss-Modell an.
- Erstellen Sie ein Hugging Face-
read-Zugriffstoken. - Kopieren und speichern Sie den
read access-Tokenwert. Sie benötigen sie später in dieser Anleitung.
Umgebung vorbereiten
Legen Sie die Standardumgebungsvariablen fest, um Ihre Umgebung vorzubereiten:
Ersetzen Sie Folgendes:
YOUR_PROJECT_ID: die ID des Google Cloud -Projekts, in dem Sie den GKE-Cluster erstellen möchten.YOUR_RESERVATION_NAME: die URL der Reservierung, die Sie zum Erstellen Ihres GKE-Cluster verwenden möchten. Geben Sie je nach Projekt, in dem sich die Reservierung befindet, einen der folgenden Werte an:Die Reservierung ist in Ihrem Projekt vorhanden:
RESERVATION_NAMEDie Reservierung befindet sich in einem anderen Projekt und Ihr Projekt kann die Reservierung verwenden:
projects/RESERVATION_PROJECT_ID/reservations/RESERVATION_NAME
YOUR_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.YOUR_CLUSTER_NAME: der Name des zu erstellenden GKE-Cluster.YOUR_GCS_BUCKET: der Name des Cloud Storage-Bucket, in den Sie das Modell herunterladen.YOUR_HF_TOKEN: Das Hugging Face-Zugriffstoken, das Sie im vorherigen Abschnitt erstellt haben.YOUR_NETWORK_NAME: 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.
YOUR_SUBNETWORK_NAME: 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. Wenn Sie prüfen möchten, ob Google Cloud die Erstellung des Clusters abgeschlossen hat, rufen Sie in der Google Cloud Console die Seite Kubernetes-Cluster auf.
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:
Cloud Storage-Bucket erstellen
Wenn Sie einen vorhandenen Cloud Storage-Bucket verwenden, muss Folgendes zutreffen:
- Ihr Cloud Storage-Bucket befindet sich in derselben Region wie Ihr GKE-Cluster.
- Ihr Dienstkonto hat die erforderlichen
write-Berechtigungen für den Bucket.
So speichern Sie Ihr Modell in einem neuen Cloud Storage-Bucket:
Führen Sie den folgenden Befehl aus, um einen Bucket zu erstellen:
Gewähren Sie dem Standarddienstkonto die Berechtigungen
writefür den Cloud Storage-Bucket.
Modell in Ihren Cloud Storage-Bucket herunterladen
Führen Sie die folgenden Schritte aus, um das Modell in Ihren Cloud Storage-Bucket herunterzuladen:
gpt-download-job.yaml-Datei erstellen:Wenden Sie das Manifest
gpt-download-job.yamlan, um den Downloadjob zu initialisieren.Die Jobressource lädt die
gpt-oss-120b-Modellgewichtungen von Hugging Face in Ihren Cloud Storage-Bucket herunter. Der Download dauert etwa 30 Minuten. Fahren Sie nach Abschluss des Downloads mit dem nächsten Abschnitt fort, um die Modellbereitstellung zu starten.Führen Sie den folgenden Befehl aus, um den Abschlussstatus aufzurufen:
Das Flag
--timeoutgibt an, wie lange der Befehl den Job überwacht, bevor ein Zeitüberschreitungsfehler auftritt.Führen Sie den folgenden Befehl aus, um den Job zu löschen:
vLLM-Container in Ihrem GKE-Cluster bereitstellen
Nachdem Sie das Modell in Ihren Cloud Storage-Bucket heruntergeladen haben, stellen Sie einen vLLM-Container in Ihrem GKE-Cluster bereit:
Erstellen Sie eine
vllm-gpt-oss-120b.yaml-Datei mit der ausgewählten vLLM-Bereitstellung:Wenden Sie die Datei
vllm-gpt-oss-120b.yamlauf Ihren GKE-Cluster an:Führen Sie den folgenden Befehl aus, um den Abschlussstatus aufzurufen:
Mit dem Flag--timeoutkann der Befehl die Bereitstellung für den angegebenen Zeitraum überwachen.
Mithilfe von curl mit dem gpt-oss-Modell interagieren
So prüfen Sie das bereitgestellte gpt-oss-Modell:
Richten Sie die Portweiterleitung zum Modell
gpt-ossein:Öffnen Sie ein neues Terminalfenster. Sie können dann mit Ihrem Modell über
curlchatten:Die Ausgabe sieht in etwa so aus:
{ "id": "chatcmpl-2235c39759c040daae23ce2addc40c0a", "object": "chat.completion", "created": 1756831629, "model": "openai/gpt-oss-120b", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "A sleek vessel gliding on water, its cloth sails billowing like captured wind.", "refusal": null, "annotations": null, "audio": null, "function_call": null, "tool_calls": [], "reasoning_content": "User asks: \"Describe a sailboat in one short sentence?\" We need to produce a short sentence description. Should comply with policy. It's fine. Provide a short sentence." }, "logprobs": null, "finish_reason": "stop", "stop_reason": null } ], "service_tier": null, "system_fingerprint": null, "usage": { "prompt_tokens": 80, "total_tokens": 142, "completion_tokens": 62, "prompt_tokens_details": null }, "prompt_logprobs": null, "kv_transfer_params": null }
Leistung des Modells beobachten
Wenn Sie die Leistung Ihres Modells beobachten möchten, können Sie die vLLM-Dashboard-Integration in Cloud Monitoring verwenden. In diesem Dashboard können Sie wichtige Leistungsmesswerte für Ihr Modell wie Token-Durchsatz, Netzwerklatenz und Fehlerraten einsehen. 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
Löschen Sie nach Abschluss der Anleitung die Ressourcen, die Sie nicht mehr benötigen.
Führen Sie den folgenden Befehl aus, um das Deployment und den Dienst, die in der Datei
vllm-gpt-oss-120b.yamldefiniert sind, sowie das Kubernetes-Secret aus dem GKE-Cluster zu löschen:Führen Sie den folgenden Befehl aus, um den Cloud Storage-Bucket zu löschen:
So löschen Sie den GKE-Cluster:
Projekt löschen
Google Cloud -Projekt löschen:
gcloud projects delete PROJECT_ID