En este instructivo, se muestra cómo implementar y entregar un modelo de lenguaje grande (LLM) Gemma 3 27B con el framework de entrega vLLM. Implementas Gemma 3 en una sola instancia de máquina virtual (VM) A4 en Google Kubernetes Engine (GKE).
Este instructivo está dirigido a ingenieros de aprendizaje automático (AA), administradores y operadores de plataformas, y especialistas en datos y en IA que estén interesados en usar las capacidades de organización de contenedores de Kubernetes para controlar las cargas de trabajo de inferencia.
Objetivos
Accede a Gemma 3 con Hugging Face.
Prepara tu entorno.
Crear un clúster de GKE en modo Autopilot
Crea un secreto de Kubernetes para las credenciales de Hugging Face.
Implementa un contenedor de vLLM en tu clúster de GKE.
Interactúa con Gemma 3 usando curl.
Realizar una limpieza
Costos
En este instructivo, se usan componentes facturables de Google Cloud, que incluyen lo siguiente:
Para generar una estimación de costos en función del uso previsto, usa la calculadora de precios.
Antes de comenzar
- Accede a tu cuenta de Google Cloud . Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init -
Crea o selecciona un Google Cloud proyecto.
Roles necesarios para seleccionar o crear un proyecto
- Selecciona un proyecto: Para seleccionar un proyecto, no se requiere un rol de IAM específico. Puedes seleccionar cualquier proyecto en el que se te haya otorgado un rol.
-
Crear un proyecto: Para crear un proyecto, necesitas el rol de Creador de proyectos (
roles/resourcemanager.projectCreator), que contiene el permisoresourcemanager.projects.create. Obtén más información para otorgar roles.
-
Crea un proyecto de Google Cloud :
gcloud projects create PROJECT_ID
Reemplaza
PROJECT_IDpor un nombre para el proyecto Google Cloud que estás creando. -
Selecciona el proyecto Google Cloud que creaste:
gcloud config set project PROJECT_ID
Reemplaza
PROJECT_IDpor el nombre de tu proyecto de Google Cloud .
-
Verifica que la facturación esté habilitada para tu proyecto de Google Cloud .
Habilita la API necesaria:
Roles necesarios para habilitar las APIs
Para habilitar las APIs, necesitas el rol de IAM de administrador de Service Usage (
roles/serviceusage.serviceUsageAdmin), que contiene el permisoserviceusage.services.enable. Obtén más información para otorgar roles.gcloud services enable container.googleapis.com
-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init -
Crea o selecciona un Google Cloud proyecto.
Roles necesarios para seleccionar o crear un proyecto
- Selecciona un proyecto: Para seleccionar un proyecto, no se requiere un rol de IAM específico. Puedes seleccionar cualquier proyecto en el que se te haya otorgado un rol.
-
Crear un proyecto: Para crear un proyecto, necesitas el rol de Creador de proyectos (
roles/resourcemanager.projectCreator), que contiene el permisoresourcemanager.projects.create. Obtén más información para otorgar roles.
-
Crea un proyecto de Google Cloud :
gcloud projects create PROJECT_ID
Reemplaza
PROJECT_IDpor un nombre para el proyecto Google Cloud que estás creando. -
Selecciona el proyecto Google Cloud que creaste:
gcloud config set project PROJECT_ID
Reemplaza
PROJECT_IDpor el nombre de tu proyecto de Google Cloud .
-
Verifica que la facturación esté habilitada para tu proyecto de Google Cloud .
Habilita la API necesaria:
Roles necesarios para habilitar las APIs
Para habilitar las APIs, necesitas el rol de IAM de administrador de Service Usage (
roles/serviceusage.serviceUsageAdmin), que contiene el permisoserviceusage.services.enable. Obtén más información para otorgar roles.gcloud services enable container.googleapis.com
-
Otorga roles a tu cuenta de usuario. Ejecuta el siguiente comando una vez para cada uno de los siguientes roles de IAM:
roles/container.admingcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Reemplaza lo siguiente:
PROJECT_ID: ID del proyectoUSER_IDENTIFIER: Es el identificador de tu cuenta de usuario de . Por ejemplo,myemail@example.com.ROLE: Es el rol de IAM que otorgas a tu cuenta de usuario.
- Accede a tu cuenta de Hugging Face o crea una.
Accede a Gemma 3 con Hugging Face
Para usar Hugging Face y acceder a Gemma 3, haz lo siguiente:
- Accede a Hugging Face
- Crea un token de acceso de Hugging Face
read. Haz clic en Tu perfil > Configuración > Tokens de acceso > +Crear token nuevo. - Copia y guarda el valor del token
read access. La usarás más adelante en este instructivo.
Prepara el entorno
Para preparar tu entorno, establece las variables de entorno predeterminadas:
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del Google Cloud proyecto en el que deseas crear el clúster de GKE.RESERVATION_URL: Es la URL de la reserva que deseas usar para crear tu clúster de GKE. Según el proyecto en el que existe la reserva, especifica uno de los siguientes valores:La reserva existe en tu proyecto:
RESERVATION_NAMELa reserva existe en otro proyecto y tu proyecto puede usarla:
projects/RESERVATION_PROJECT_ID/reservations/RESERVATION_NAME
REGION: Es la región en la que deseas crear tu clúster de GKE. Solo puedes crear el clúster en la región en la que existe tu reserva.CLUSTER_NAME: Es el nombre del clúster de GKE que se creará.HUGGING_FACE_TOKEN: El token de acceso de Hugging Face que creaste en la sección anterior.NETWORK: Es la red que usa el clúster de GKE. Especifica uno de los siguientes valores:Si creaste una red personalizada, especifica su nombre.
De lo contrario, especifica
default.
SUBNETWORK: Es la subred que usa el clúster de GKE. Especifica uno de los siguientes valores:Si creaste una subred personalizada, especifica su nombre. Solo puedes especificar una subred que exista en la misma región que la reserva.
De lo contrario, especifica
default.
Crea un clúster de GKE en modo Autopilot
Para crear un clúster de GKE en modo Autopilot, ejecuta el siguiente comando:
La creación del clúster de GKE puede tardar un tiempo en completarse. Para verificar que Google Cloud haya terminado de crear tu clúster, ve aClústeres de Kubernetesen la consola de Google Cloud .
Crea un secreto de Kubernetes para las credenciales de Hugging Face
Para crear un secreto de Kubernetes para las credenciales de Hugging Face, sigue estos pasos:
Configura
kubectlpara comunicarse con tu clúster de GKE:Crea un Secret de Kubernetes para almacenar tu token de Hugging Face:
Implementa un contenedor de vLLM en tu clúster de GKE
Para implementar el contenedor de vLLM y entregar el modelo de Gemma 3 27B con implementaciones de Kubernetes, sigue estos pasos:
Crea un archivo
vllm-3-27b-it.yamlcon la implementación de vLLM que elijas:Aplica el archivo
vllm-3-27b-it.yamla tu clúster de GKE:Durante el proceso de implementación, el contenedor debe descargar Gemma 3 de Hugging Face. Por este motivo, la implementación del contenedor puede tardar hasta 30 minutos en completarse.
Espera a que se complete la implementación:
Interactúa con Gemma 3 usando curl
Para verificar los modelos ajustados por instrucciones de Gemma 3 27B que implementaste, sigue estos pasos:
Configura la redirección de puertos a Gemma 3:
Abre una nueva ventana de terminal. Luego, puedes chatear con tu modelo usando
curl:El resultado es similar a lo siguiente:
{ "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 }
Si deseas observar el rendimiento de tu modelo, puedes usar la integración del panel de vLLM en Cloud Monitoring. Este panel te ayuda a ver las métricas de rendimiento críticas de tu modelo, como la capacidad de procesamiento de tokens, la latencia de la red y las tasas de error. Para obtener más información, consulta vLLM en la documentación de Monitoring.
Realiza una limpieza
Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos usados en este instructivo, borra el proyecto que contiene los recursos o conserva el proyecto y borra los recursos individuales.
Borra recursos
Para borrar la implementación y el servicio definidos en el archivo
vllm-3-27b-it.yamly el secreto de Kubernetes del clúster de GKE, ejecuta el siguiente comando:Para borrar tu clúster de GKE, ejecuta el siguiente comando:
Borra tu proyecto
Borra un Google Cloud proyecto:
gcloud projects delete PROJECT_ID