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 de Google Cloud , consulta Roles y tareas de usuario habituales de GKE.
Antes de leer esta página, asegúrate de que conoces los siguientes conceptos:
Cuando despliegues cargas de trabajo de inferencia de modelos de IA o aprendizaje automático en Google Kubernetes Engine (GKE), elige la estrategia de equilibrio de carga adecuada para optimizar el rendimiento, la escalabilidad y la eficiencia de los costes. Google Cloud proporciona las siguientes soluciones:
- GKE Inference Gateway: una solución diseñada para el enrutamiento avanzado de IA y aprendizaje automático. Para obtener más información, consulta la documentación de GKE Inference Gateway.
- GKE Gateway con métricas personalizadas: una solución que usa balanceadores de carga de aplicaciones y ofrece un control de uso general que se puede combinar con un balanceador de carga de aplicaciones.
Combinar soluciones de balanceo de carga
Puedes usar tanto GKE Inference Gateway como GKE Gateway con métricas personalizadas en algunas arquitecturas. En estas arquitecturas, el balanceador de carga de aplicaciones se usa con la pasarela de GKE con métricas personalizadas. Por ejemplo, un balanceador de carga de aplicación externo global dirige el tráfico a la región adecuada en función de factores como la ubicación geográfica y las comprobaciones de estado. Para obtener más información, consulta Balanceadores de carga de aplicaciones. Cuando el tráfico llega a una región específica, GKE Inference Gateway realiza un balanceo de carga preciso y con reconocimiento de IA para enrutar las solicitudes al servidor del modelo óptimo. Para obtener más información, consulta la documentación de GKE Inference Gateway.
Para elegir la Google Cloud solución de balanceo de carga que mejor se adapte a tus aplicaciones de inferencia en GKE, ten en cuenta las características de tu carga de trabajo, los requisitos de rendimiento y el modelo operativo.
Para dirigir el tráfico a la réplica del servidor de modelos más adecuada y menos cargada, la extensión Endpoint Picker de GKE Inference Gateway monitoriza métricas críticas específicas de la IA. Estas métricas incluyen la utilización de la caché de KV del servidor del modelo, la longitud de la cola de solicitudes pendientes, la carga general de la GPU o la TPU, la disponibilidad del adaptador LoRA y el coste computacional de las solicitudes individuales. Además de un enrutamiento sofisticado, GKE Inference Gateway ofrece priorización de solicitudes y autoescalado optimizado para servidores de modelos.
Descripción general de GKE Gateway con métricas personalizadas
Los balanceadores de carga de aplicaciones, como el balanceador de carga de aplicaciones externo global y el balanceador de carga de aplicaciones externo regional, son balanceadores de carga de uso general que distribuyen el tráfico en función de las métricas personalizadas que informan tus servicios de backend. Esta función proporciona un control pormenorizado de la distribución de la carga en función de los indicadores de rendimiento específicos de la aplicación.
La puerta de enlace de GKE actúa como una interfaz nativa de Kubernetes para aprovisionar y gestionar balanceadores de carga de aplicaciones. Básicamente, cuando defines un recurso de Gateway en tu clúster de GKE, el controlador de Gateway de GKE configura automáticamente el balanceador de carga de aplicaciones subyacente, lo que te ofrece una forma simplificada de gestionar el tráfico HTTP/HTTPS externo a tus servicios de GKE directamente desde Kubernetes, mientras usas la infraestructura de balanceo de carga de Google Cloud.
Comparar soluciones de balanceo de carga
En la siguiente tabla se comparan las funciones de GKE Inference Gateway y GKE Gateway con métricas personalizadas.
Función | Pasarela de inferencia | Gateway de GKE con métricas personalizadas (mediante balanceadores de carga de aplicaciones) |
---|---|---|
Caso práctico principal | Optimiza las cargas de trabajo de inferencia de IA y aprendizaje automático generativas en Kubernetes, como el servicio de modelos de lenguaje extensos (LLMs). Funciona bien para ofrecer varios casos prácticos en un solo modelo, garantizar un acceso justo a los recursos del modelo y optimizar las cargas de trabajo de LLMs basadas en GPUs o TPUs que requieren baja latencia. | Proporciona balanceo de carga HTTP(S) de uso general para cargas de trabajo que necesitan una distribución precisa del tráfico basada en métricas personalizadas comunicadas por la aplicación (señales de carga). Funciona bien en 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 por host y ruta, lo que amplía la API Gateway de GKE. | Admite el enrutamiento HTTP(S) estándar por host y ruta, configurado mediante los recursos estándar de la API Gateway de GKE. |
Lógica de enrutamiento avanzada | Realiza el enrutamiento en función del modelo (por ejemplo, el nombre del modelo basado en el cuerpo), la división del tráfico y la creación de reflejos, y aplica niveles de prioridad y criticidad. | Balancea el tráfico en función de las métricas personalizadas que informa la aplicación mediante el estándar de agregación de costes de solicitudes abiertas (ORCA). Esto permite aplicar políticas como WEIGHTED_ROUND_ROBIN para la ponderación de endpoints en una localidad. |
Métricas admitidas | Usa un conjunto de señales específicas de IA integradas y listas para usar, como la utilización de GPU o TPU, los aciertos de la caché de valores clave y la longitud de la cola de solicitudes. También puedes configurarlo para que use métricas comunicadas por la aplicación que se envían mediante un mecanismo de encabezado HTTP estandarizado. | Se basa en métricas comunicadas por la aplicación mediante un mecanismo de encabezado HTTP estandarizado (este mecanismo se conoce como _informes de carga de ORCA_). Este formato permite generar informes de métricas estándar, como la CPU y la memoria, o métricas con nombres personalizados para recursos restringidos específicos de la aplicación. |
Gestión de solicitudes | Reduce los costes de las solicitudes no uniformes, que son habituales en los LLMs. Admite [niveles de criticidad](/kubernetes-engine/docs/concepts/about-gke-inference-gateway#traffic-distribution) de solicitudes. | Optimizado para costes de solicitudes relativamente uniformes. No incluye la priorización de solicitudes integrada. |
Compatibilidad con adaptadores LoRa | Proporciona un enrutamiento nativo basado en la afinidad a los back-ends equipados con LoRa adecuados. | No ofrece asistencia nativa. |
Integración de autoescalado | Optimiza el escalado de los servidores de modelos en función de métricas específicas de la IA, como `KV cache hits`. | La herramienta de autoescalado horizontal de pods (HPA) puede usar métricas personalizadas, pero la configuración es genérica y se basa en las métricas registradas del balanceador de carga de aplicaciones. |
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. |
Configúralo con los recursos estándar de la API Gateway de GKE. La aplicación debe implementar el mecanismo basado en encabezados HTTP para registrar métricas personalizadas. |
Seguridad | Proporciona filtrado de contenido de IA con Model Armor en la pasarela. Aprovecha las funciones de seguridad básicas de GKE, como TLS, IAM, el control de acceso basado en roles (RBAC) y los espacios de nombres. | Usa el stack de seguridad estándar de Application Load Balancer, que incluye Model Armor, la terminación TLS y la gestión de identidades y accesos (IAM). Model Armor también se puede integrar 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 valores clave, 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. Puede consultarlos en Cloud Monitoring. Pueden ser métricas estándar o con nombres personalizados. |
Capacidad de extensión | Se basa en una base extensible de código abierto que admite un algoritmo de selección de endpoints gestionado por el usuario. Amplía la API Gateway de GKE con definiciones de recursos personalizados (InferencePool y InferenceModel ) especializadas para simplificar los casos prácticos habituales de IA y aprendizaje automático. |
Diseñado para ofrecer flexibilidad, lo que permite ampliar el balanceo de carga con cualquier métrica personalizada (señal de carga) que la aplicación pueda registrar mediante el estándar ORCA. |
Fase de lanzamiento | Vista previa | GA |
Cuándo usar GKE Inference Gateway
Usa GKE Inference Gateway para optimizar las cargas de trabajo de inferencia de IA y aprendizaje automático sofisticadas en GKE, especialmente para LLMs.
Elige GKE Inference Gateway cuando necesites hacer lo siguiente:
- Enrutamiento basado en el modelo: dirige el tráfico en función de estados específicos de LLM, como los aciertos de la caché KV o la longitud de la cola de solicitudes, o a adaptadores LoRA específicos.
- Equilibrio de carga con optimización de costes: gestiona de forma eficiente las solicitudes de inferencia con costes de procesamiento variables y priorízalas por niveles de criticidad (crítico, estándar o descartable).
- Autoescalado específico de la IA: escala dinámicamente los servidores de modelos en función de las métricas de IA relevantes para optimizar el uso de los recursos.
- Seguridad y observabilidad de la IA integradas: usa la integración nativa de Model Armor para realizar comprobaciones de seguridad de la IA y obtener estadísticas listas para usar sobre 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.
- Despliegue de IA generativa simplificado: aprovecha una solución extensible y diseñada específicamente que simplifica los patrones de despliegue de IA generativa habituales en GKE, al tiempo que ofrece personalización a través de su base de API de GKE Gateway.
Cuándo usar GKE Gateway con métricas personalizadas
Usa GKE Gateway con métricas personalizadas para disfrutar de un balanceo de carga flexible y de uso general que se adapte a los indicadores de rendimiento únicos de tu aplicación, incluidos algunos casos de inferencia.
Elige la opción de pasarela de GKE con métricas personalizadas si necesitas hacer lo siguiente:
- Gestionar volúmenes de tráfico elevados con costes de solicitud relativamente uniformes.
- Distribuir la carga en función de las métricas personalizadas comunicadas por la aplicación mediante informes de carga de ORCA.
- Evitar la inteligencia de enrutamiento específica de la IA o los LLMs que ofrece GKE Inference Gateway.
- Prioriza la coherencia con las implementaciones de balanceadores de carga de aplicaciones que satisfagan las necesidades de tu servicio de inferencia.
Siguientes pasos
- Para obtener instrucciones detalladas sobre la implementación y la configuración, consulta Acerca de GKE Inference Gateway.
- Consulta información sobre los balanceadores de carga de aplicaciones.
- Consulta ejemplos experimentales para aprovechar GKE y acelerar tus iniciativas de IA y aprendizaje automático en GKE AI Labs.