Acerca de la puerta de enlace de inferencia de GKE


En esta página, se presenta la puerta de enlace de inferencia de Google Kubernetes Engine (GKE), una mejora de la puerta de enlace de GKE para la entrega optimizada de aplicaciones de IA generativa. En ella, se explican los conceptos y las funciones clave, y cómo funciona GKE Inference Gateway.

Esta página está destinada a los siguientes arquetipos:

  • Ingenieros de aprendizaje automático (AA), administradores y operadores de plataformas, y especialistas en datos y IA 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 herramientas de redes que interactúan con las redes de Kubernetes

Antes de leer esta página, asegúrate de estar familiarizado con lo siguiente:

Descripción general

GKE Inference Gateway es una extensión de la Gateway de GKE que proporciona enrutamiento y balanceo de cargas optimizados para entregar cargas de trabajo de inteligencia artificial (IA) generativa. Simplifica la implementación, la administración y la visibilidad de las cargas de trabajo de inferencia de IA.

Características y beneficios

GKE Inference Gateway proporciona las siguientes funciones clave para entregar de manera eficiente modelos de IA generativa para aplicaciones de IA generativa en GKE:

  • Balanceo de cargas optimizado para la inferencia: Distribuye las solicitudes para optimizar el rendimiento de la entrega de modelos de IA. Usa métricas de servidores de modelos, como KVCache Utilization y queue length of pending requests, para usar aceleradores (como GPUs y TPU) de manera más eficiente para las cargas de trabajo de IA generativa.
  • Publicación de modelos ajustados de LoRA dinámicos: Admite la publicación de modelos ajustados de LoRA dinámicos en un acelerador común. Esto reduce la cantidad de GPUs y TPU necesarias para entregar modelos mediante la multiplexación de varios modelos LoRA ajustados en un modelo base y un acelerador comunes.
  • Ajuste de escala automático optimizado para la inferencia: El Horizontal Pod Autoscaler (HPA) de GKE usa métricas del servidor de modelos para ajustar la escala automáticamente, lo que ayuda a garantizar un uso eficiente de los recursos de procesamiento y un rendimiento de inferencia optimizado.
  • Enrutamiento consciente del modelo: Enruta las solicitudes de inferencia según los nombres de los modelos definidos en las especificaciones de OpenAI API dentro de tu clúster de GKE. Puedes definir políticas de enrutamiento de la puerta de enlace, como la división de tráfico y la duplicación de solicitudes, para administrar diferentes versiones de modelos y simplificar los lanzamientos de modelos. Por ejemplo, puedes desviar las solicitudes de un nombre de modelo específico a diferentes objetos InferencePool, cada uno de los cuales entrega una versión diferente del modelo.
  • Publicación específica del modelo Criticality: Te permite especificar la publicación Criticality de los modelos de IA. Prioriza las solicitudes sensibles a la latencia sobre los trabajos de inferencia por lotes tolerantes a la latencia. Por ejemplo, puedes priorizar las solicitudes de aplicaciones sensibles a la latencia y descartar tareas menos urgentes cuando los recursos estén limitados.
  • Seguridad de IA integrada: Se integra con Google Cloud Model Armor, un servicio que aplica verificaciones de seguridad de IA a las instrucciones y respuestas en la puerta de enlace. Model Armor proporciona registros de solicitudes, respuestas y procesamiento para el análisis y la optimización retrospectivos. Las interfaces abiertas de GKE Inference Gateway permiten que los proveedores y desarrolladores externos integren servicios personalizados en el proceso de solicitud de inferencia.
  • Observabilidad de la inferencia: Proporciona métricas de observabilidad para las solicitudes de inferencia, como la tasa de solicitudes, la latencia, los errores y la saturación. Supervisa el rendimiento y el comportamiento de tus servicios de inferencia.

Comprende los conceptos clave

La puerta de enlace de inferencia de GKE mejora la puerta de enlace de GKE existente que usa objetos GatewayClass. La puerta de enlace de inferencia de GKE presenta las siguientes definiciones de recursos personalizados (CRD) de la API de la puerta de enlace, alineadas con la extensión de la API de la puerta de enlace de Kubernetes de código abierto para la inferencia:

  • Objeto InferencePool: Representa un grupo de Pods (contenedores) que comparten la misma configuración de procesamiento, el mismo tipo de acelerador, el mismo modelo de lenguaje base y el mismo servidor de modelos. Esto agrupa y administra de forma lógica los recursos de entrega de tu modelo de IA. Un solo objeto InferencePool puede abarcar varios Pods en distintos nodos de GKE y proporciona escalabilidad y alta disponibilidad.
  • Objeto InferenceModel: Especifica el nombre del modelo de publicación de InferencePool según la especificación de OpenAI API. El objeto InferenceModel también especifica las propiedades de publicación del modelo, como el Criticality del modelo de IA. La puerta de enlace de inferencia de GKE da preferencia a las cargas de trabajo clasificadas como Critical. Esto te permite multiplexar cargas de trabajo de IA con latencia crítica y tolerante a la latencia en un clúster de GKE. También puedes configurar el objeto InferenceModel para entregar modelos LoRA ajustados.
  • Objeto TargetModel: Especifica el nombre del modelo de destino y el objeto InferencePool que entrega el modelo. Esto te permite definir políticas de enrutamiento de la puerta de enlace, como la división del tráfico y el reflejo de solicitudes, y simplificar los lanzamientos de versiones de modelos.

En el siguiente diagrama, se ilustra la puerta de enlace de inferencia de GKE y su integración con la seguridad, la observabilidad y la publicación de modelos de IA en un clúster de GKE.

La relación entre los objetos "InferencePool" y "InferenceModel" de la puerta de enlace de inferencia de GKE
Figura: Modelo de recursos de la puerta de enlace de inferencia de GKE

En el siguiente diagrama, se ilustra el modelo de recursos que se enfoca en dos nuevos arquetipos centrados en la inferencia y los recursos que administran.

El modelo de recursos para los arquetipos centrados en la inferencia y sus recursos
Figura: Modelo de recursos de la puerta de enlace de inferencia de GKE

Cómo funciona la puerta de enlace de inferencia de GKE

GKE Inference Gateway usa extensiones de la API de Gateway y una lógica de enrutamiento específica del modelo para controlar las solicitudes de los clientes a un modelo de IA. En los siguientes pasos, se describe el flujo de solicitud.

Cómo funciona el flujo de solicitudes

La puerta de enlace de inferencia de GKE enruta las solicitudes del cliente desde la solicitud inicial a una instancia de modelo. En esta sección, se describe cómo la puerta de enlace de inferencia de GKE controla las solicitudes. Este flujo de solicitud es común para todos los clientes.

  1. El cliente envía una solicitud, con el formato que se describe en la especificación de la API de OpenAI, al modelo que se ejecuta en GKE.
  2. La puerta de enlace de inferencia de GKE procesa la solicitud con las siguientes extensiones de inferencia:
    1. Extensión de enrutamiento basada en el cuerpo: Extrae el identificador del modelo del cuerpo de la solicitud del cliente y lo envía a GKE Inference Gateway. Luego, la puerta de enlace de inferencia de GKE usa este identificador para enrutar la solicitud según las reglas definidas en el objeto HTTPRoute de la API de la puerta de enlace. El enrutamiento del cuerpo de la solicitud es similar al enrutamiento basado en la ruta de URL. La diferencia es que el enrutamiento del cuerpo de la solicitud usa datos del cuerpo de la solicitud.
    2. Extensión de seguridad: Usa Model Armor o soluciones de terceros compatibles para aplicar políticas de seguridad específicas del modelo que incluyen el filtrado de contenido, la detección de amenazas, la limpieza y el registro. La extensión de seguridad aplica estas políticas a las rutas de procesamiento de solicitudes y respuestas. Esto permite que la extensión de seguridad limpie y registre las solicitudes y respuestas.
    3. Extensión del selector de extremos: Supervisa las métricas clave de los servidores de modelos dentro de InferencePool. Realiza un seguimiento del uso de la caché de par clave-valor (caché de KV), la longitud de la cola de solicitudes pendientes y los adaptadores LoRA activos en cada servidor de modelos. Luego, enruta la solicitud a la réplica del modelo óptima según estas métricas para minimizar la latencia y maximizar la capacidad de procesamiento para la inferencia de IA.
  3. La puerta de enlace de inferencia de GKE enruta la solicitud a la réplica del modelo que muestra la extensión del selector de extremos.

En el siguiente diagrama, se ilustra el flujo de solicitudes de un cliente a una instancia de modelo a través de GKE Inference Gateway.

Flujo de solicitudes de un cliente a una instancia de modelo a través de la puerta de enlace de inferencia de GKE
Figura: Flujo de solicitudes de la puerta de enlace de inferencia de GKE

Cómo funciona la distribución del tráfico

La puerta de enlace de inferencia de GKE distribuye de forma dinámica las solicitudes de inferencia a los servidores de modelos dentro del objeto InferencePool. Esto ayuda a optimizar el uso de recursos y a mantener el rendimiento en diferentes condiciones de carga. La puerta de enlace de inferencia de GKE usa los siguientes dos mecanismos para administrar la distribución de tráfico:

  • Selección de extremos: Selecciona de forma dinámica el servidor de modelos más adecuado para controlar una solicitud de inferencia. Supervisa la carga y la disponibilidad del servidor y, luego, toma decisiones de enrutamiento.

  • Formación de filas y eliminación: Administra el flujo de solicitudes y evita la sobrecarga de tráfico. La puerta de enlace de inferencia de GKE almacena las solicitudes entrantes en una fila, prioriza las solicitudes según criterios definidos y descarta las solicitudes cuando el sistema está sobrecargado.

La puerta de enlace de inferencia de GKE admite los siguientes niveles de Criticality:

  • Critical: Estas cargas de trabajo tienen prioridad. El sistema garantiza que estas solicitudes se entreguen incluso con restricciones de recursos.
  • Standard: Estas cargas de trabajo se entregan cuando hay recursos disponibles. Si los recursos son limitados, se descartan estas solicitudes.
  • Sheddable: Estas cargas de trabajo se entregan de forma oportunista. Si los recursos son escasos, se descartan estas solicitudes para proteger las cargas de trabajo de Critical.

Cuando el sistema está bajo presión de recursos, las solicitudes de Standard y Sheddable se descartan de inmediato con un código de error 429 para proteger las cargas de trabajo de Critical.

Inferencia de transmisión

GKE Inference Gateway admite la inferencia de transmisión para aplicaciones como chatbots y traducción en vivo que requieren actualizaciones continuas o casi en tiempo real. La inferencia continua entrega respuestas en segmentos o fragmentos incrementales, en lugar de un solo resultado completo. Si se produce un error durante una respuesta de transmisión, esta se finaliza y el cliente recibe un mensaje de error. La puerta de enlace de inferencia de GKE no vuelve a intentar las respuestas de transmisión.

Explora ejemplos de aplicaciones

En esta sección, se proporcionan ejemplos para abordar varias situaciones de aplicación de IA generativa con la puerta de enlace de inferencia de GKE.

Ejemplo 1: Publica varios modelos de IA generativa en un clúster de GKE

Una empresa quiere implementar varios modelos grandes de lenguaje (LLM) para entregar diferentes cargas de trabajo. Por ejemplo, es posible que quieran implementar un modelo Gemma3 para una interfaz de chatbot y un modelo Deepseek para una aplicación de recomendación. La empresa debe garantizar un rendimiento de publicación óptimo para estos LLM.

Con la puerta de enlace de inferencia de GKE, puedes implementar estos LLM en tu clúster de GKE con la configuración del acelerador que elijas en un InferencePool. Luego, puedes enrutar las solicitudes según el nombre del modelo (como chatbot y recommender) y la propiedad Criticality.

En el siguiente diagrama, se ilustra cómo GKE Inference Gateway enruta las solicitudes a diferentes modelos según el nombre del modelo y Criticality.

Enruta las solicitudes a diferentes modelos según el nombre del modelo y la criticidad
Figura: Publicación de varios modelos de IA generativa en un clúster de GKE con GKE Inference Gateway

Ejemplo 2: Publica adaptadores de LoRA en un acelerador compartido

Una empresa quiere publicar LLM para el análisis de documentos y se enfoca en públicos en varios idiomas, como inglés y español. Tienen modelos ajustados para cada idioma, pero deben usar de manera eficiente la capacidad de sus GPUs y TPU. Puedes usar GKE Inference Gateway para implementar adaptadores dinámicos de LoRA ajustados para cada idioma (por ejemplo, english-bot y spanish-bot) en un modelo base común (por ejemplo, llm-base) y un acelerador. Esto te permite reducir la cantidad de aceleradores necesarios empaquetando varios modelos de forma densa en un acelerador común.

En el siguiente diagrama, se ilustra cómo la puerta de enlace de inferencia de GKE entrega varios adaptadores LoRA en un acelerador compartido.

Publicación de varios adaptadores LoRA en un acelerador compartido
Figura: Publicación de adaptadores LoRA en un acelerador compartido

¿Qué sigue?