En esta página, se te ayudará a elegir la estrategia de balanceo de cargas adecuada para las cargas de trabajo de inferencia de modelos de IA/AA en Google Kubernetes Engine (GKE).
Esta página está destinada a los siguientes arquetipos de usuarios:
- Ingenieros de aprendizaje automático (AA), administradores y operadores de plataformas, y especialistas en IA y datos que estén interesados en usar las capacidades de organización de contenedores de Kubernetes para entregar cargas de trabajo de IA/AA.
- Arquitectos de nube y especialistas en redes que interactúan con las redes de Kubernetes
Para obtener más información sobre los roles comunes y las tareas de ejemplo a las que hacemos referencia en el contenido de Google Cloud , consulta Roles y tareas comunes de los usuarios de GKE.
Antes de leer esta página, asegúrate de estar familiarizado con lo siguiente:
Cuando implementas cargas de trabajo de inferencia de modelos de IA/AA en Google Kubernetes Engine (GKE), elige la estrategia de balanceo de cargas adecuada para optimizar el rendimiento, la escalabilidad y la eficiencia en cuanto a costos. Google Cloud proporciona las siguientes soluciones distintas:
- Puerta de enlace de inferencia de GKE: Es una solución creada para el enrutamiento avanzado de IA/AA. Para obtener más información, consulta la documentación de GKE Inference Gateway.
- GKE Gateway con métricas personalizadas: Es una solución que usa balanceadores de cargas de aplicaciones y ofrece un control de uso general que se puede combinar con un balanceador de cargas de aplicaciones.
Combina soluciones de balanceo de cargas
Puedes usar la puerta de enlace de inferencia de GKE y la puerta de enlace de GKE con métricas personalizadas en algunas arquitecturas. En estas arquitecturas, el balanceador de cargas de aplicaciones se usa con la puerta de enlace de GKE y métricas personalizadas. Por ejemplo, un balanceador de cargas de aplicaciones externo global dirige el tráfico a la región adecuada según factores como la geografía y las verificaciones de estado. Para obtener más información, consulta Balanceadores de cargas de aplicaciones. Después de que el tráfico llega a una región específica, la puerta de enlace de inferencia de GKE realiza un balanceo de cargas detallado y con reconocimiento de IA para enrutar las solicitudes al servidor de modelos óptimo. Para obtener más información, consulta la documentación de GKE Inference Gateway.
Para elegir la solución de balanceo de cargas Google Cloud 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 del modelo más adecuada y menos cargada, la extensión Endpoint Picker de la puerta de enlace de inferencia de GKE supervisa las 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 TPU, la disponibilidad del adaptador de LoRA y el costo computacional de las solicitudes individuales. Además del enrutamiento sofisticado, la puerta de enlace de inferencia de GKE proporciona priorización de solicitudes y ajuste de escala automático optimizado para los servidores de modelos.
Descripción general de GKE Gateway con métricas personalizadas
Los balanceadores de cargas de aplicaciones, como el balanceador de cargas de aplicaciones externo global y el balanceador de cargas de aplicaciones externo regional, son balanceadores de cargas de uso general que distribuyen el tráfico según las métricas personalizadas que informan tus servicios de backend. Esta capacidad proporciona un control detallado sobre la distribución de la carga en función de los indicadores de rendimiento específicos de la aplicación.
GKE Gateway actúa como una interfaz nativa de Kubernetes para aprovisionar y administrar balanceadores de cargas 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 cargas de aplicaciones subyacente, lo que proporciona una forma simplificada de administrar el tráfico HTTP/HTTPS externo a tus servicios de GKE directamente desde Kubernetes, mientras usas la infraestructura de balanceo de cargas de Google Cloud.
Comparar soluciones de balanceo de cargas
En la siguiente tabla, se comparan las características de la puerta de enlace de inferencia de GKE y la puerta de enlace de GKE con métricas personalizadas.
Función | Puerta de enlace de inferencia | Puerta de enlace de GKE con métricas personalizadas (con balanceadores de cargas de aplicaciones) |
---|---|---|
Caso de uso principal | Optimiza las cargas de trabajo de inferencia de IA/AA generativa en Kubernetes, como la entrega de modelos de lenguaje grandes (LLM). Funciona bien para entregar múltiples casos de uso en un solo modelo, garantizar un acceso justo a los recursos del modelo y optimizar las cargas de trabajo de LLM basadas en GPU o TPU sensibles a la latencia. | Proporciona balanceo de cargas HTTP(S) de uso general para cargas de trabajo que necesitan una distribución precisa del tráfico según métricas personalizadas informadas por la aplicación (indicadores de carga). Funciona bien para los servicios sensibles a la latencia, como los servidores de juegos en tiempo real o las plataformas de comercio de alta frecuencia, que informan datos de utilización personalizados. |
Enrutamiento básico | Admite el enrutamiento HTTP(S) estándar por host y ruta, lo que extiende la API de GKE Gateway. | Admite el enrutamiento HTTP(S) estándar por host y ruta de acceso, que se configura con los recursos estándar de la API de GKE Gateway. |
Lógica de enrutamiento avanzada | Realiza el enrutamiento según el modelo (por ejemplo, el nombre del modelo basado en el cuerpo), la división y la duplicación del tráfico, y aplica niveles de prioridad y criticidad. | Balancea el tráfico según las métricas personalizadas informadas por la aplicación con el estándar de Open Request Cost Aggregation (ORCA). Esto habilita políticas como WEIGHTED_ROUND_ROBIN para la ponderación de extremos dentro de una localidad. |
Métricas admitidas | Utiliza un conjunto de indicadores integrados y específicos de la IA que están listos para usar, como la utilización de GPU/TPU, los "aciertos de caché de KV" y la "longitud de la cola de solicitudes". También puedes configurarlo para que use métricas informadas por la aplicación que se envían a través de un mecanismo de encabezado HTTP estandarizado. | Se basa en las métricas que informa la aplicación a través de un mecanismo de encabezado HTTP estandarizado (este mecanismo se conoce como _informes de carga de ORCA_). Este formato permite informar 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. |
Cómo administrar solicitudes | Reduce los costos de solicitudes no uniformes, que son comunes en los LLM. Admite niveles de criticidad de solicitudes (criticality levels). | Se optimiza para costos de solicitudes relativamente uniformes. No incluye la priorización de solicitudes integrada. |
Compatibilidad con adaptadores LoRA | Proporciona enrutamiento nativo basado en la afinidad a los backends apropiados equipados con LoRa. | No proporciona asistencia nativa. |
Integración de ajuste de escala automático | Optimiza el ajuste de escala para los servidores de modelos según métricas específicas de la IA, como los aciertos de la caché de KV. | El Horizontal Pod Autoscaler (HPA) puede usar métricas personalizadas, pero la configuración es genérica según las métricas que se informan para el balanceador de cargas de aplicaciones. |
Instalación y configuración | Configúralo con la API de GKE Gateway. Extiende la API estándar con definiciones de recursos personalizados (CRD) InferencePool y InferenceModel especializadas para habilitar sus funciones compatibles con la IA. |
Configúralo con los recursos estándar de la API de GKE Gateway. La aplicación debe implementar el mecanismo basado en encabezados HTTP para informar métricas personalizadas. |
Seguridad | Proporciona filtrado de contenido generado por IA con Model Armor en la puerta de enlace. Aprovecha las funciones de seguridad fundamentales de GKE, como TLS, IAM, control de acceso basado en roles (RBAC) y espacios de nombres. | Usa la pila de seguridad estándar del balanceador de cargas de aplicaciones, que incluye Model Armor, finalización de TLS y IAM. Model Armor también se admite integrándolo como una extensión de servicio. |
Observabilidad | Ofrece observabilidad integrada en métricas específicas de la IA, como el uso de GPU o TPU, los aciertos de la caché de KV, la longitud de la cola de solicitudes y la latencia del modelo. | La observabilidad depende de las métricas personalizadas que se configuren para que la aplicación informe. Puedes verlas en Cloud Monitoring. Pueden incluir métricas estándar o con nombres personalizados. |
Extensibilidad | Se basa en una base de código abierto extensible que admite un algoritmo de selector de extremos administrado por el usuario. Extiende la API de GKE Gateway con definiciones de recursos personalizados (InferencePool , InferenceModel ) especializadas para simplificar los casos de uso comunes de IA/AA. |
Diseñado para ser flexible, lo que permite que el balanceo de cargas se extienda con cualquier métrica personalizada (indicador de carga) que la aplicación pueda informar con el estándar de ORCA. |
Etapa de lanzamiento | Vista previa | DG |
Cuándo usar la puerta de enlace de inferencia de GKE
Usa la puerta de enlace de inferencia de GKE para optimizar cargas de trabajo de inferencia de IA/AA sofisticadas en GKE, en especial para LLMs.
Elige GKE Inference Gateway cuando necesites hacer lo siguiente:
- Enrutamiento basado en modelos: Dirige el tráfico según estados específicos del LLM, como los aciertos de la caché de KV o la longitud de la cola de solicitudes, o a adaptadores de LoRA específicos.
- Balanceo de cargas que tiene en cuenta los costos: Controla de manera eficiente las solicitudes de inferencia con costos de procesamiento variables y las prioriza según los niveles de criticidad (crítico, estándar o descartable).
- Ajuste de escala automático específico para la IA: Ajusta dinámicamente la escala de los servidores de modelos en función de las métricas de IA pertinentes para un uso óptimo de los recursos.
- Seguridad y observabilidad integradas de la IA: Usa la integración nativa de Model Armor para realizar verificaciones de seguridad de la IA y obtener estadísticas listas para usar sobre la utilización de GPU/TPU, los aciertos de la caché de KV y la longitud de la cola de solicitudes.
- Implementación simplificada de IA generativa: Benefíciate de una solución extensible y creada específicamente que simplifica los patrones de implementación comunes de IA generativa en GKE y, al mismo tiempo, ofrece personalización a través de su base de la API de GKE Gateway.
Cuándo usar GKE Gateway con métricas personalizadas
Usa la puerta de enlace de GKE con métricas personalizadas para obtener un balanceo de cargas flexible y de uso general que se adapte a los indicadores de rendimiento únicos de tu aplicación, incluso para algunos casos de inferencia.
Elige la puerta de enlace de GKE con métricas personalizadas cuando necesites hacer lo siguiente:
- Manejar volúmenes altos de tráfico con costos de solicitudes relativamente uniformes
- Distribuye la carga según las métricas personalizadas que informa la aplicación con el informe de carga de ORCA.
- Evita la inteligencia de enrutamiento específica para IA/LLM que ofrece la puerta de enlace de inferencia de GKE.
- Prioriza la coherencia con las implementaciones existentes del balanceador de cargas de aplicaciones que satisfagan las necesidades de tu servicio de inferencia.
¿Qué sigue?
- Para obtener instrucciones detalladas de implementación y configuración, consulta Acerca de la puerta de enlace de inferencia de GKE.
- Obtén más información sobre los balanceadores de cargas de aplicaciones.
- Explora muestras experimentales para aprovechar GKE y acelerar tus iniciativas de IA/AA en GKE AI Labs.