Übersicht
Die Gemini Enterprise Agent Platform unterstützt die GPU-Bereitstellung auf mehreren Hosts für die Bereitstellung von Modellen, die die Speicherkapazität eines einzelnen GPU-Knotens überschreiten, z. B. DeepSeek-V3, DeepSeek-R1 und Meta LLama 3.1 405B (nicht quantifizierte Version).
In dieser Anleitung wird beschrieben, wie Sie ein DeepSeek-V3-Modell mit Multi-Host-GPUs (Graphical Processing Units) auf der Gemini Enterprise Agent Platform mit vLLM bereitstellen. Die Einrichtung für andere Modelle ist ähnlich. Weitere Informationen finden Sie unter vLLM-Bereitstellung für Text- und multimodale Language Models.
Machen Sie sich vorher mit folgenden Punkten vertraut:
- Verfügbarkeit von GPU-Versionen nach Region
- GPU-Preise nach Region
- Cloud Storage – Preise
- Preise für die Gemini Enterprise Agent Platform
Sie können mithilfe des Preisrechners eine Kostenschätzung für Ihre voraussichtliche Nutzung erstellen.
Container
Zur Unterstützung von Bereitstellungen auf mehreren Hosts wird in diesem Leitfaden ein vordefiniertes vLLM-Container-Image mit Ray-Integration aus Model Garden verwendet. Ray ermöglicht die verteilte Verarbeitung, die zum Ausführen von Modellen auf mehreren GPU-Knoten erforderlich ist.
Bei Bedarf können Sie ein eigenes vLLM-Image mit mehreren Knoten erstellen. Beachten Sie, dass dieses benutzerdefinierte Container-Image mit der Gemini Enterprise Agent Platform kompatibel sein muss.
Hinweis
Bevor Sie mit der Bereitstellung Ihres Modells beginnen, müssen Sie die in diesem Abschnitt aufgeführten Voraussetzungen erfüllen.
Google Cloud -Projekt einrichten
- Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Agent Platform API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Agent Platform API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Aktivieren Sie Cloud Shell in der Google Cloud Console.
Unten in der Google Cloud Console wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung, in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.
GPU-Kontingent anfordern
Für die Bereitstellung von DeepSeek-V3 benötigen Sie zwei a3-highgpu-8g-VMs mit jeweils acht H100-GPUs, also insgesamt 16 H100-GPUs. Wahrscheinlich müssen Sie eine Erhöhung des H100-GPU-Kontingents beantragen, da der Standardwert weniger als 16 beträgt.
Wenn Sie das H100-GPU-Kontingent aufrufen möchten, rufen Sie in der Google Cloud Console die Seite Kontingente und Systemlimits auf.
Modell hochladen
Führen Sie den
gcloud ai models upload-Befehl wie folgt aus, um Ihr Modell alsModel-Ressource in die Gemini Enterprise Agent Platform hochzuladen:gcloud ai models upload \ --region=LOCATION \ --project=PROJECT_ID \ --display-name=MODEL_DISPLAY_NAME \ --container-image-uri=us-docker.pkg.dev/vertex-ai/vertex-vision-model-garden-dockers/pytorch-vllm-serve:20250312_0916_RC01 \ --container-args='^;^/vllm-workspace/ray_launcher.sh;python;-m;vllm.entrypoints.api_server;--host=0.0.0.0;--port=7080;--model=deepseek-ai/DeepSeek-V3;--tensor-parallel-size=8;--pipeline-parallel-size=2;--gpu-memory-utilization=0.82;--max-model-len=163840;--max-num-seqs=64;--enable-chunked-prefill;--kv-cache-dtype=auto;--trust-remote-code;--disable-log-requests' \ --container-deployment-timeout-seconds=7200 \ --container-ports=7080 \ --container-env-vars=MODEL_ID=deepseek-ai/DeepSeek-V3Ersetzen Sie die folgenden Werte:
LOCATION: Die Region, in der Sie die Gemini Enterprise Agent Platform verwenden.PROJECT_ID: die ID Ihres Google Cloud -ProjektsMODEL_DISPLAY_NAME: Der Anzeigename, den Sie für Ihr Modell verwenden möchten.
Dedizierten Onlineinferenz-Endpunkt erstellen
Für Chat-Vervollständigungsanfragen ist im Model Garden-Container ein dedizierter Endpunkt erforderlich. Dedizierte Endpunkte sind in der Vorschauphase und unterstützen die Google Cloud CLI nicht. Sie müssen also die REST API verwenden, um den Endpunkt zu erstellen.
Führen Sie den folgenden Befehl aus, um den dedizierten Endpunkt zu erstellen:
PROJECT_ID=PROJECT_ID REGION=LOCATION ENDPOINT="${REGION}-aiplatform.googleapis.com" curl \ -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${ENDPOINT}/v1/projects/${PROJECT_ID}/locations/${REGION}/endpoints \ -d '{ "displayName": "ENDPOINT_DISPLAY_NAME", "dedicatedEndpointEnabled": true }'Ersetzen Sie die folgenden Werte:
ENDPOINT_DISPLAY_NAME: Der Anzeigename für Ihren Endpunkt.
Modell bereitstellen
Rufen Sie die Endpunkt-ID für den Onlineinferenz-Endpunkt mit dem Befehl
gcloud ai endpoints listab:ENDPOINT_ID=$(gcloud ai endpoints list \ --project=PROJECT_ID \ --region=LOCATION \ --filter=display_name~'ENDPOINT_DISPLAY_NAME' \ --format="value(name)")Rufen Sie die Modell-ID für Ihr Modell ab, indem Sie den Befehl
gcloud ai models listausführen:MODEL_ID=$(gcloud ai models list \ --project=PROJECT_ID \ --region=LOCATION \ --filter=display_name~'MODEL_DISPLAY_NAME' \ --format="value(name)")Stellen Sie das Modell für den Endpunkt bereit, indem Sie den Befehl
gcloud ai deploy-modelausführen:gcloud alpha ai endpoints deploy-model $ENDPOINT_ID \ --project=PROJECT_ID \ --region=LOCATION \ --model=$MODEL_ID \ --display-name="DEPLOYED_MODEL_NAME" \ --machine-type=a3-highgpu-8g \ --traffic-split=0=100 \ --accelerator=type=nvidia-h100-80gb,count=8 \ --multihost-gpu-node-count=2Ersetzen Sie DEPLOYED_MODEL_NAME durch einen Namen für das bereitgestellte Modell. Dieser kann mit dem Anzeigenamen des Modells (MODEL_DISPLAY_NAME) identisch sein.
Die Bereitstellung großer Modelle wie DeepSeek-V3 kann länger dauern als das Standard-Zeitlimit für die Bereitstellung. Wenn für den Befehl
deploy-modelein Zeitlimit überschritten wird, wird der Bereitstellungsprozess im Hintergrund fortgesetzt.Der Befehl
deploy-modelgibt eine Vorgangs-ID zurück, mit der geprüft werden kann, ob der Vorgang abgeschlossen ist. Sie können den Status des Vorgangs abfragen, bis in der Antwort"done": trueangegeben wird. Mit dem folgenden Befehl können Sie den Status abfragen:gcloud ai operations describe \ --region=LOCATION \ OPERATION_IDErsetzen Sie OPERATION_ID durch die mit dem vorherigen Befehlzurückgegebene Vorgangs-ID.
Onlineinferenzen aus dem bereitgestellten Modell abrufen
In diesem Abschnitt wird beschrieben, wie Sie eine Online-Inferenzanfrage an den dedizierten öffentlichen Endpunkt senden, an dem das DeepSeek-V3-Modell bereitgestellt wird.
Rufen Sie die Projektnummer mit dem Befehl
gcloud projects describeab:PROJECT_NUMBER=$(gcloud projects describe PROJECT_ID --format="value(projectNumber)")Senden Sie eine Rohvorhersageanfrage:
curl \ -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${ENDPOINT_ID}.${REGION}-${PROJECT_NUMBER}.prediction.vertexai.goog/v1/projects/${PROJECT_NUMBER}/locations/${REGION}/endpoints/${ENDPOINT_ID}:rawPredict \ -d '{ "prompt": "Write a short story about a robot.", "stream": false, "max_tokens": 50, "temperature": 0.7 }'Chat-Vervollständigungsanfrage senden:
curl \ -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${ENDPOINT_ID}.${REGION}-${PROJECT_NUMBER}.prediction.vertexai.goog/v1/projects/${PROJECT_NUMBER}/locations/${REGION}/endpoints/${ENDPOINT_ID}/chat/completions \ -d '{"stream":false, "messages":[{"role": "user", "content": "Summer travel plan to Paris"}], "max_tokens": 40,"temperature":0.4,"top_k":10,"top_p":0.95, "n":1}'Wenn Sie das Streaming aktivieren möchten, ändern Sie den Wert von
"stream"vonfalseintrue.
Bereinigen
Löschen Sie die in dieser Anleitung erstellten Google Cloud Ressourcen, damit keine weiteren Kosten für die Gemini Enterprise Agent Platform anfallen:
So heben Sie die Bereitstellung des Modells am Endpunkt auf und löschen den Endpunkt. Führen Sie die folgenden Befehle aus:
ENDPOINT_ID=$(gcloud ai endpoints list \ --region=LOCATION \ --filter=display_name=ENDPOINT_DISPLAY_NAME \ --format="value(name)") DEPLOYED_MODEL_ID=$(gcloud ai endpoints describe $ENDPOINT_ID \ --region=LOCATION \ --format="value(deployedModels.id)") gcloud ai endpoints undeploy-model $ENDPOINT_ID \ --region=LOCATION \ --deployed-model-id=$DEPLOYED_MODEL_ID gcloud ai endpoints delete $ENDPOINT_ID \ --region=LOCATION \ --quietFühren Sie die folgenden Befehle aus, um das Modell zu löschen:
MODEL_ID=$(gcloud ai models list \ --region=LOCATION \ --filter=display_name=DEPLOYED_MODEL_NAME \ --format="value(name)") gcloud ai models delete $MODEL_ID \ --region=LOCATION \ --quiet
Nächste Schritte
- Umfassende Referenzinformationen zur Bereitstellung von Multi-Host-GPUs auf der Gemini Enterprise Agent Platform mit vLLM finden Sie unter vLLM-Bereitstellung für Text- und multimodale Language Models.
- Informationen zum Erstellen eines eigenen vLLM-Images mit mehreren Knoten Beachten Sie, dass Ihr benutzerdefiniertes Container-Image mit der Gemini Enterprise Agent Platform kompatibel sein muss.