Para crear una aplicación basada en IA, aprovisiona un clúster privado y seguro de Google Kubernetes Engine (GKE) optimizado para cargas de trabajo de IA y, luego, implementa tu carga de trabajo con un gráfico de Helm. En esta guía, se describen las siguientes plantillas, que puedes personalizar para implementar una aplicación basada en IA:
Clúster de GKE de inferencia previa al entrenamiento de IA: Crea la infraestructura fundamental necesaria para la entrega de modelos de alto rendimiento. Esta plantilla configura un clúster de GKE privado y seguro optimizado para la inferencia de IA.
Carga de trabajo de inferencia previa al entrenamiento de IA en GKE (vista previa): Implementa un gráfico de Helm que incluye la configuración para una carga de trabajo de IA. Usa el gráfico de Helm para implementar un modelo de Gemma previamente entrenado con el motor de entrega de vLLM. La carga de trabajo está configurada para solicitudes eficientes de recursos de GPU y un Horizontal Pod Autoscaler (HPA) para realizar el ajuste de escala según el uso de la caché de GPU.
Por ejemplo, puedes implementar las plantillas de clúster y carga de trabajo para satisfacer las siguientes necesidades comerciales:
| Ejemplo | Necesidad empresarial | Implementación |
|---|---|---|
| Análisis de video en tiempo real | Una empresa de seguridad necesita procesar transmisiones de video de cientos de cámaras para detectar anomalías o objetos específicos en tiempo real. | Implementa modelos de procesamiento de video en el grupo de nodos habilitado para GPU. Las GPUs pueden procesar las demandas de alta capacidad de procesamiento y baja latencia de las transmisiones de video simultáneas. |
| Procesamiento especializado de documentos | Una compañía de seguros necesita extraer automáticamente información de miles de formularios de reclamos diarios, que contienen diseños y escritura a mano variados. | Usa el clúster de GKE para alojar modelos personalizados y asegúrate de que los datos nunca salgan del entorno seguro durante el procesamiento. |
| Motor de recomendaciones de gran volumen | Una plataforma de comercio electrónico necesita publicar recomendaciones de productos personalizadas para los usuarios durante los eventos de compras de temporada alta. | Usa la API de puerta de enlace de Google Kubernetes Engine para enrutar grandes volúmenes de tráfico de usuarios a los modelos de recomendación. La API de Gateway puede controlar los aumentos repentinos de tráfico sin degradar la latencia. |
Arquitectura
En la siguiente imagen, se muestran los componentes y las conexiones de la plantilla:
A continuación, se describen los parámetros de configuración de los componentes en esta plantilla:
Clúster de GKE Estándar: Es un clúster seguro y clúster privado en el que se ejecuta tu carga de trabajo de IA.
En la siguiente tabla, se describe la configuración del clúster en esta plantilla:
Configuración Objetivo node_locationsse establece como["us-central1-a", "us-central1-b", "us-central1-c"].Garantiza la alta disponibilidad y la resiliencia distribuyendo los nodos del clúster en tres zonas de la región us-central1.enable_intranode_visibilityse establece comotrue.Habilita la visibilidad del tráfico de pod a pod en el mismo nodo en los registros de flujo de VPC. Esta visibilidad es necesaria para la supervisión de redes, la solución de problemas y el análisis de seguridad. gateway_api_configse habilita con{"channel":"CHANNEL_STANDARD"}.La API de GKE Inference Gateway te ayuda a administrar el tráfico de entrada a tus servicios de Kubernetes. La API te ayuda a configurar el enrutamiento detallado, el balanceo de cargas avanzado y la vinculación de políticas centralizada. private_cluster_config.enable_private_endpointse establece comofalse.private_cluster_config.enable_private_nodesestrue.control_plane_endpoints_config.dns_endpoint_config.allow_external_trafficse establece entrue.Garantiza que los nodos de trabajador en los que se ejecutan tus modelos de IA tengan direcciones IP privadas. Esto aísla tus nodos de Internet público. El plano de control de GKE está configurado para que se pueda acceder a él de forma pública y, así, puedas administrar el clúster fuera de tu red de nube privada virtual (VPC). release_channelse establece como{"channel":"REGULAR"}.Garantiza que tu clúster de GKE reciba actualizaciones estables y predecibles, lo que proporciona un equilibrio entre las funciones nuevas y la confiabilidad. Grupo de nodos de GKE: Es un grupo de nodos trabajadores que ejecutan los contenedores de la aplicación.
En la siguiente tabla, se describen los parámetros de configuración del grupo de nodos en esta plantilla:
Configuración Objetivo autoscaling.min_node_countse establece como0.autoscaling.max_node_countse establece en3(el valor predeterminado es100).El grupo de nodos puede reducir su escala verticalmente por completo cuando no se ejecutan cargas de trabajo de IA, lo que reduce los costos durante los períodos de inactividad. El límite superior para el ajuste ayuda a controlar los costos y el consumo de recursos. Se agregó el parámetro node_config.guest_accelerator.gpu_driver_installation_config.gpu_driver_version:se establece en"LATEST".gpu_sharing_configestá habilitado conTIME_SHARING.max_shared_clients_per_gpu:se establece en2.Especifica el uso de GPU NVIDIA L4 para tareas de inferencia de IA. Los controladores de GPU necesarios se instalan automáticamente. Varias cargas de trabajo más pequeñas pueden compartir una sola GPU. node_config.machine_typecambió a"g2-standard-8".El tipo de máquina está diseñado específicamente para complementar las GPUs L4. Las CPU virtuales (8) y la memoria (32 GB) se crean para admitir la GPU y ejecutar tus aplicaciones de inferencia de IA. node_config.oauth_scopesincluyehttps://www.googleapis.com/auth/cloud-platform.La cuenta de servicio del nodo tiene acceso amplio a los servicios de Google Cloud , lo que permite la interacción con la API para tareas como el registro, la supervisión y la extracción de imágenes de contenedores. node_config.shielded_instance_config.enable_secure_bootse establece comotrue.El inicio seguro ayuda a proteger tus nodos del software malicioso a nivel de inicio verificando las firmas criptográficas del cargador de arranque y el kernel antes de que se ejecuten.
Configuración del gráfico de Helm
En la siguiente tabla, se enumeran las configuraciones del gráfico de Helm, que se personalizaron para implementar y escalar un servicio de inferencia de IA en GKE.
| Configuración | Objetivo |
|---|---|
replicaCount: 1 |
Crea una sola réplica inicial. |
image.repository: vllm/vllm-openai |
Usa una imagen de vLLM, una biblioteca optimizada para la inferencia de modelos de lenguaje grandes (LLM), expuesta con una API compatible con OpenAI. |
model.id: google/gemma-7b-it |
Define el modelo ajustado por instrucciones de Gemma 7B como el modelo que se publicará. |
model.hfSecret: hf-secret |
Indica que el modelo requiere autenticación con un Secret de Kubernetes para la administración segura de credenciales. |
resources.limits y requests para nvidia.com/gpu: "1" |
Garantiza que cada Pod obtenga una GPU dedicada. |
nodeSelector.cloud.google.com/gke-accelerator: nvidia-l4 |
Garantiza que los Pods de tu modelo de IA se programen exclusivamente en nodos de GKE Standard equipados con GPU NVIDIA L4, que son ideales para la inferencia rentable y de alto rendimiento. |
hpa.enabled: true |
Habilita el escalador automático horizontal de Pods, que permite que la aplicación escale automáticamente la cantidad de Pods (entre minReplicas: 1 y maxReplicas: 10) según targetCPUUtilizationPercentage: 80%. Garantiza el rendimiento durante las cargas máximas y la eficiencia en los costos durante el uso bajo. |
tensorParallelSize: 1 |
Indica que el modelo no se divide en varias GPUs dentro de un solo Pod. |
maxModelLen: 512 |
Controla la longitud máxima de la secuencia que puede procesar el modelo Gemma 7B. |
service.type: ClusterIP |
El servicio está configurado para el acceso interno dentro del clúster. |
pdb.enabled: true y minAvailable: 1 |
Se habilitó un presupuesto de interrupción de Pods para garantizar la alta disponibilidad. Al menos una réplica de tu modelo de IA permanece disponible durante las interrupciones voluntarias, como el mantenimiento de nodos. |
Crea tu aplicación de IA
Usa las plantillas Clúster y carga de trabajo de clúster de GKE de inferencia previamente entrenada por IA para implementar tu aplicación de IA.
Implementa tu infraestructura de IA
Configura e implementa la plantilla del clúster de GKE de inferencia previa al entrenamiento de IA para crear la infraestructura fundamental en la que se ejecuta tu carga de trabajo de IA.
Duplica e implementa la plantilla Clúster de GKE de inferencia previa al entrenamiento de IA como una aplicación.
Se crea un clúster de GKE en el proyecto de implementación que elijas.
Configura los componentes. Para obtener más información, consulta lo siguiente:
Haz clic en Implementar. La aplicación se implementará después de varios minutos.
En el panel Detalles de la aplicación, haz clic en la pestaña Salidas.
Identifica el cluster_id de tu aplicación. Usarás esta información cuando implementes tu gráfico de Helm.
Implementa tu carga de trabajo de IA
Usa la plantilla Carga de trabajo de GKE de inferencia previa al entrenamiento de IA para implementar tu carga de trabajo de IA en el clúster que creaste. Implementarás un gráfico de Helm que incluye la configuración de tu carga de trabajo de IA.
En la página Catálogo de Google, en la plantilla Carga de trabajo de GKE de inferencia previa al entrenamiento de IA, haz clic en Crear aplicación nueva.
En el campo Nombre, ingresa un nombre único para tu aplicación.
En el área GKE Deployment Target, haz lo siguiente:
En la lista de proyectos, selecciona el proyecto en el que implementaste el clúster de GKE desde tu aplicación del clúster de GKE de inferencia previamente entrenada por IA.
En la lista Región, selecciona la región en la que implementaste el clúster de GKE.
En la lista Clústeres, selecciona el clúster de GKE implementado.
En la lista Namespace, ingresa el espacio de nombres en el que implementaste tu clúster de GKE. Si no cambiaste el nombre, ingresa
default.Haz clic en Crear aplicación.
Se crea la aplicación y se muestran los archivos de configuración.
En el panel Helm chart, haz lo siguiente:
Revisa los detalles de la configuración.
Opcional: Personaliza la configuración para satisfacer tus necesidades específicas.
Para implementar el gráfico de Helm en tu clúster, haz clic en Implementar.
Para ver los pasos detallados, consulta Implementa aplicaciones.
Después de varios minutos, la configuración del gráfico de Helm se implementará en tu clúster de GKE.
¿Qué sigue?
- Duplica y personaliza esta plantilla aprovechando las plantillas de Google.
- Diseña plantillas de aplicaciones para definir tus propias configuraciones.
- Identifica las prácticas recomendadas generales de arquitectura con el Google Cloud framework de arquitectura.