En esta página se explica cómo elegir la estrategia de balanceo de carga adecuada para las cargas de trabajo de inferencia de modelos de IA y aprendizaje automático en Google Kubernetes Engine (GKE).
Esta página está dirigida a los siguientes perfiles:
- Ingenieros de aprendizaje automático, administradores y operadores de plataformas, y especialistas en datos e IA que quieran usar las funciones de orquestación de contenedores de Kubernetes para servir cargas de trabajo de IA y aprendizaje automático.
- Arquitectos de Cloud y especialistas en redes que interactúan con las redes de Kubernetes.
Para obtener más información sobre los roles habituales y las tareas de ejemplo a las que hacemos referencia en el contenido, consulta Roles de usuario y tareas habituales de GKE.Google Cloud
Antes de leer esta página, asegúrate de que conoces los siguientes conceptos:
Cuando implementes cargas de trabajo de inferencia de modelos de IA o aprendizaje automático en GKE, elige la estrategia de balanceo de carga adecuada para optimizar el rendimiento, la escalabilidad y la rentabilidad:
- Elige GKE Inference Gateway para optimizar el enrutamiento y el balanceo de carga al servir cargas de trabajo de IA y aprendizaje automático.
- Elige GKE Gateway con métricas personalizadas, que usa balanceadores de carga de aplicación. Esta opción proporciona un control de uso general y le permite configurar la distribución del tráfico en función de las métricas específicas de su aplicación o de los requisitos de su infraestructura.
Información general sobre GKE Inference Gateway
GKE Inference Gateway optimiza y gestiona cargas de trabajo de inferencia de IA generativa y de modelos de lenguaje extensos (LLMs) exigentes y complejas. Amplía la API Gateway de GKE y ofrece varias ventajas clave:
Enrutamiento inteligente con reconocimiento de IA: GKE Inference Gateway monitoriza métricas críticas específicas de la IA, como las siguientes:
- Uso de la caché de KV del servidor de modelos
- Longitud de la cola de solicitudes pendientes
- Uso general de GPU o TPU
- Disponibilidad del adaptador LoRA
- El coste computacional de las solicitudes individuales. Según estas métricas, la pasarela distribuye de forma inteligente el tráfico a la réplica del servidor del modelo más adecuada y menos cargada.
Priorización de solicitudes: la pasarela proporciona mecanismos para priorizar solicitudes.
Autoescalado optimizado: la pasarela ofrece mecanismos de autoescalado optimizados para servidores de modelos.
Información general sobre GKE Gateway con métricas personalizadas
Google Cloud ofrece recursos de balanceador de carga de aplicaciones que admiten ámbitos como el externo global y el externo regional. Estos balanceadores de carga de uso general distribuyen el tráfico en función de las métricas personalizadas que informan sus servicios backend. Este enfoque proporciona un control pormenorizado de la distribución de la carga, lo que te permite basarla en indicadores de rendimiento específicos de la aplicación.
Comparar GKE Inference Gateway y GKE Gateway con métricas personalizadas
Usa la siguiente tabla para comparar las funciones de GKE Inference Gateway y GKE Gateway con métricas personalizadas, y elige la solución de balanceo de carga adecuada para tus cargas de trabajo de inferencia de IA y aprendizaje automático en GKE.
| Función | GKE Inference Gateway | Gateway de GKE con métricas personalizadas (a través de balanceadores de carga de aplicaciones) |
|---|---|---|
| Caso práctico principal | Optimiza las cargas de trabajo de inferencia de IA generativa y aprendizaje automático en Kubernetes, incluido el servicio de modelos de lenguaje extensos (LLMs). Asegura un acceso justo a los recursos del modelo y optimiza las cargas de trabajo de LLMs basadas en GPUs o TPUs sensibles a la latencia. | Proporciona balanceo de carga HTTP(S) de uso general, distribuyendo el tráfico en función de métricas personalizadas comunicadas por la aplicación. Este tipo de balanceo de carga es ideal para servicios sensibles a la latencia, como servidores de juegos en tiempo real o plataformas de trading de alta frecuencia, que registran datos de utilización personalizados. |
| Enrutamiento base | Admite el enrutamiento HTTP(S) estándar basado en el host y la ruta, lo que amplía la API Gateway de GKE. | Admite el enrutamiento HTTP(S) estándar basado en el host y la ruta. Para configurar esto, usa los recursos estándar de la API Gateway de GKE. |
| Lógica de enrutamiento avanzada | Ofrece funciones avanzadas, como el enrutamiento basado en modelos, la división del tráfico, la proyección y la aplicación de niveles de prioridad y criticidad a las solicitudes. | Balancea el tráfico en función de las métricas personalizadas que informa la aplicación
a través del estándar de agregación de costes de solicitudes abiertas (ORCA). Esto permite
políticas como WEIGHTED_ROUND_ROBIN para la ponderación de endpoints
en una localidad. |
| Métricas admitidas | Utiliza un conjunto de métricas nativas específicas de la IA, como la utilización de la GPU o la TPU, los aciertos de la caché de clave-valor y la longitud de la cola de solicitudes. También se puede configurar para que use métricas notificadas por la aplicación mediante un mecanismo de encabezado HTTP estandarizado. | Se basa en métricas comunicadas por la aplicación mediante un mecanismo de encabezado HTTP estandarizado, concretamente, en informes de carga de Open Request Cost Aggregation (ORCA). Este mecanismo admite métricas estándar, como la CPU y la memoria, así como métricas con nombres personalizados para recursos restringidos específicos de la aplicación. |
| Gestión de solicitudes | Diseñada para gestionar cargas de trabajo con costes de solicitud no uniformes, que son habituales en los LLMs debido a las diferentes complejidades de las peticiones. Admite niveles de criticidad de las solicitudes, lo que permite priorizar diferentes tipos de solicitudes de inferencia. | Es más adecuada para cargas de trabajo en las que las solicitudes individuales tienen costes de procesamiento relativamente uniformes. Esta solución no incluye funciones nativas de priorización de solicitudes. |
| Compatibilidad con adaptadores LoRa | Ofrece un enrutamiento nativo basado en la afinidad a los backends equipados con adaptadores LoRa específicos, lo que garantiza que las solicitudes se dirijan a los recursos adecuados. | No ofrece compatibilidad nativa con adaptadores LoRa ni con el enrutamiento basado en la afinidad según las configuraciones de LoRa. |
| Integración de autoescalado | Optimiza el autoescalado de los servidores de modelos aprovechando las métricas específicas de la IA, como la utilización de la caché de valores clave, para tomar decisiones de escalado más fundamentadas. | Se integra con el autoescalador horizontal de pods (HPA) mediante métricas personalizadas. Estas métricas se envían al balanceador de carga de aplicaciones y se usan de forma genérica para escalar en función de las señales de carga notificadas. |
| Configuración | Configúralo con la API de GKE Gateway. Amplía la API estándar con definiciones de recursos personalizados (CRDs) especializadas de InferencePool y InferenceModel para habilitar sus funciones basadas en IA. |
Esta solución se configura con los recursos estándar de la API Gateway de GKE. La aplicación debe implementar un mecanismo basado en encabezados HTTP, como la agregación de costes de solicitudes abiertas (ORCA), para registrar métricas personalizadas del balanceo de carga. |
| Seguridad | Esta solución incluye el filtrado de contenido generado por IA mediante Model Armor a nivel de gateway. También aprovecha las funciones de seguridad básicas de GKE, como TLS, la gestión de identidades y accesos (IAM), el control de acceso basado en roles (RBAC) y los espacios de nombres. | Esta solución usa el stack de seguridad estándar del balanceador de carga de aplicaciones, que incluye Google Cloud Armor, la terminación TLS y la gestión de identidades y accesos. Para habilitar el filtrado de contenido con IA, puedes integrar Google Cloud Armor como extensión de servicio. |
| Observabilidad | Ofrece observabilidad integrada en métricas específicas de la IA, como la utilización de la GPU o la TPU, los aciertos de la caché de clave-valor, la longitud de la cola de solicitudes y la latencia del modelo. | La observabilidad depende de las métricas personalizadas que se hayan configurado para la aplicación. Puedes consultarlos en Cloud Monitoring. Pueden ser métricas estándar o con nombres personalizados. |
| Capacidad de extensión | Se basa en una base de código abierto extensible, lo que permite usar un algoritmo de selección de endpoints gestionado por el usuario. Amplía la API Gateway de GKE con [definiciones de recursos personalizados (CRDs)](/kubernetes-engine/docs/how-to/deploy-gke-inference-gateway) especializadas, como InferencePool y InferenceModel, para simplificar los casos de uso habituales de la IA. |
Diseñado para ofrecer flexibilidad, lo que te permite ampliar el balanceo de carga mediante cualquier [métrica personalizada (señal de carga)](/load-balancing/docs/https/applb-custom-metrics) que la aplicación registre con el estándar ORCA. |
| Fase de lanzamiento | GA | GA |
Cuándo usar GKE Inference Gateway
Elige GKE Inference Gateway para optimizar las cargas de trabajo de inferencia de IA y aprendizaje automático sofisticadas en GKE, especialmente para modelos de lenguaje grandes (LLMs). Recomendamos esta solución en las siguientes situaciones:
- Servir LLMs: necesitas tomar decisiones de enrutamiento basadas en estados específicos de LLM, como la utilización de la caché KV o la longitud de la cola de solicitudes, cuando usas servidores de modelos como vLLM.
- Implementar modelos con adaptadores LoRA: necesitas un enrutamiento inteligente basado en la afinidad a back-ends equipados con los adaptadores LoRA correctos y disponibles.
- Gestionar solicitudes de inferencia con costes de procesamiento muy variables: por ejemplo, los tamaños o la complejidad de las peticiones dinámicas requieren un balanceador de carga que tenga en cuenta los costes.
- Implementar la priorización de solicitudes: debes priorizar diferentes clases de tráfico de inferencia, como solicitudes críticas, estándar o descartables.
- Optimizar el autoescalado: quieres que el mecanismo de autoescalado esté estrechamente vinculado a métricas de rendimiento específicas de los servidores del modelo de IA generativa (GenAI), como la utilización de la caché de valores clave, para tomar decisiones de escalado más fundamentadas.
- Utilizar la integración de Model Armor: debes usar Model Armor para realizar comprobaciones de seguridad de la IA a nivel de pasarela.
- Obtener observabilidad predefinida: necesitas observabilidad integrada para métricas críticas específicas de la IA, como la utilización de la GPU o la TPU, los aciertos de la caché de valores clave y la longitud de la cola de solicitudes.
- Simplificar las implementaciones de IA generativa: prefieres una solución diseñada específicamente para simplificar los patrones de implementación de IA generativa habituales en GKE, pero que te permita personalizarla en el futuro gracias a su base de API Gateway de GKE extensible.
Cuándo usar GKE Gateway con métricas personalizadas
Para conseguir un balanceo de carga flexible y de uso general basado en los indicadores de rendimiento únicos de tu aplicación, usa GKE Gateway con métricas personalizadas. Este enfoque permite distribuir la carga en función de indicadores de rendimiento únicos definidos por la aplicación, incluidos escenarios de inferencia específicos. Te recomendamos que lo hagas en los siguientes casos:
- Tu carga de trabajo tiene un volumen de tráfico alto con costes de procesamiento relativamente uniformes por solicitud.
- La distribución de la carga se puede gestionar de forma eficaz mediante una o dos métricas personalizadas específicas que informa la aplicación, normalmente a través de los encabezados de respuesta HTTP, mediante el estándar de informes de carga de agregación de costes de solicitudes abiertas (ORCA).
- Tus requisitos de balanceo de carga no dependen de las funciones específicas de GenAI o LLM.
- Tu modelo operativo no requiere la inteligencia especializada específica de la IA que proporciona GKE Inference Gateway, por lo que se evita una complejidad arquitectónica innecesaria.
- Mantener la coherencia con las implementaciones de balanceadores de carga de aplicación es una prioridad, y estas implementaciones cumplen los requisitos de balanceo de carga del servicio de inferencia.
Siguientes pasos
- Consulta información sobre GKE Inference Gateway.
- Consulta información sobre Balanceador de carga de aplicación.
- Consulta ejemplos experimentales para aprovechar GKE y acelerar tus iniciativas de IA y aprendizaje automático en GKE AI Labs.