Panoramica
Gemini Enterprise Agent Platform supporta il deployment di GPU multi-host per l'hosting di modelli che superano la capacità di memoria di un singolo nodo GPU, ad esempio DeepSeek-V3, DeepSeek-R1 e Meta LLama 3.1 405B (versione non quantizzata).
Questa guida descrive come pubblicare un modello DeepSeek-V3 utilizzando unità di elaborazione grafica (GPU) multihost sulla piattaforma Gemini Enterprise Agent con vLLM. La configurazione per gli altri modelli è simile. Per saperne di più, consulta Erogazione di vLLM per modelli linguistici testuali e multimodali.
Prima di iniziare, assicurati di avere familiarità con quanto segue:
- Disponibilità delle versioni della GPU per regione
- Prezzi delle GPU per regione
- Prezzi di Cloud Storage
- Prezzi della piattaforma agentica Gemini Enterprise
Utilizza il Calcolatore prezzi per generare una stima dei costi in base all'utilizzo previsto.
Container
Per supportare i deployment multi-host, questa guida utilizza un'immagine container vLLM predefinita con l'integrazione di Ray da Model Garden. Ray consente l'elaborazione distribuita necessaria per eseguire i modelli su più nodi GPU. Questo contenitore supporta anche la gestione delle richieste di streaming utilizzando l'API Chat Completions.
Se vuoi, puoi creare la tua immagine multimodale vLLM. Tieni presente che questa immagine container personalizzata deve essere compatibile con la piattaforma agentica Gemini Enterprise.
Prima di iniziare
Prima di iniziare il deployment del modello, completa i prerequisiti elencati in questa sezione.
Configurare un progetto Google Cloud
- Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
-
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.-
Nella console Google Cloud , attiva Cloud Shell.
Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installata e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.
Richiedi una quota di GPU
Per il deployment di DeepSeek-V3, hai bisogno di due VM
a3-highgpu-8g
con otto GPU H100 ciascuna, per un totale di 16
GPU H100. È probabile che tu debba richiedere un aumento della quota di GPU H100, poiché
il valore predefinito è inferiore a 16.
Per visualizzare la quota di GPU H100, vai alla pagina Quote e limiti di sistema della console Google Cloud .
Carica il modello
Per caricare il modello come risorsa
Modelnella piattaforma agentica Gemini Enterprise, esegui ilgcloud ai models uploadcomando come segue: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-V3Effettua le seguenti sostituzioni:
LOCATION: la regione in cui utilizzi la piattaforma agentica Gemini EnterprisePROJECT_ID: l'ID del tuo progetto Google CloudMODEL_DISPLAY_NAME: il nome visualizzato che vuoi per il modello
Crea un endpoint di inferenza online dedicato
Per supportare le richieste di completamento della chat, il container Model Garden richiede un endpoint dedicato. Gli endpoint dedicati sono in anteprima e non supportano Google Cloud CLI, quindi devi utilizzare l'API REST per creare l'endpoint.
Per creare l'endpoint dedicato, esegui questo comando:
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 }'Effettua le seguenti sostituzioni:
ENDPOINT_DISPLAY_NAME: il nome visualizzato per l'endpoint
Esegui il deployment del modello
Recupera l'ID endpoint per l'endpoint di inferenza online eseguendo il comando
gcloud ai endpoints list:ENDPOINT_ID=$(gcloud ai endpoints list \ --project=PROJECT_ID \ --region=LOCATION \ --filter=display_name~'ENDPOINT_DISPLAY_NAME' \ --format="value(name)")Recupera l'ID modello per il tuo modello eseguendo il comando
gcloud ai models list:MODEL_ID=$(gcloud ai models list \ --project=PROJECT_ID \ --region=LOCATION \ --filter=display_name~'MODEL_DISPLAY_NAME' \ --format="value(name)")Esegui il deployment del modello sull'endpoint eseguendo il comando
gcloud ai deploy-model: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=2Sostituisci DEPLOYED_MODEL_NAME con un nome per il modello di cui è stato eseguito il deployment. Può essere uguale al nome visualizzato del modello (MODEL_DISPLAY_NAME).
Il deployment di modelli di grandi dimensioni come DeepSeek-V3 può richiedere più tempo del timeout di deployment predefinito. Se il comando
deploy-modelscade, il processo di deployment continua a essere eseguito in background.Il comando
deploy-modelrestituisce un ID operazione che può essere utilizzato per verificare quando l'operazione è terminata. Puoi eseguire il polling dello stato dell'operazione finché la risposta non include"done": true. Utilizza il seguente comando per controllare lo stato:gcloud ai operations describe \ --region=LOCATION \ OPERATION_IDSostituisci OPERATION_ID con l'ID operazione restituito dal comando precedente.
Ottenere inferenze online dal modello di cui è stato eseguito il deployment
Questa sezione descrive come inviare una richiesta di inferenza online all'endpoint pubblico dedicato in cui è implementato il modello DeepSeek-V3.
Recupera il numero di progetto eseguendo il comando
gcloud projects describe:PROJECT_NUMBER=$(gcloud projects describe PROJECT_ID --format="value(projectNumber)")Invia una richiesta di previsione non elaborata:
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 }'Invia una richiesta di completamento della chat:
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}'Per attivare lo streaming, modifica il valore di
"stream"dafalseatrue.
Esegui la pulizia
Per evitare di incorrere in ulteriori costi di Gemini Enterprise Agent Platform, elimina le Google Cloud risorse che hai creato durante questo tutorial:
Per annullare il deployment del modello dall'endpoint ed eliminare l'endpoint, esegui questi comandi:
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 \ --quietPer eliminare il modello, esegui questi comandi:
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
Passaggi successivi
- Per informazioni di riferimento complete sul deployment di GPU multi-host sulla piattaforma Gemini Enterprise Agent con vLLM, consulta Erogazione di vLLM per modelli linguistici testuali e multimodali.
- Scopri come creare la tua immagine vLLM multimodale. Tieni presente che l'immagine container personalizzata deve essere compatibile con la piattaforma agentica Gemini Enterprise.