La optimización de la inferencia es la práctica de mejorar el rendimiento y la eficiencia de los modelos de IA que se ejecutan en producción. A medida que los modelos de lenguaje extenso (LLMs) crecen hasta alcanzar decenas o cientos de miles de millones de parámetros, y las arquitecturas de inferencia se vuelven más complejas, la dificultad de diseñar y mantener aplicaciones no hace más que aumentar. La optimización es el proceso de gestionar, monitorizar y actualizar estas cargas de trabajo que requieren mucha computación, lo que permite obtener tiempos de respuesta inferiores a un segundo y un mayor rendimiento a un coste más bajo.
Implica un conjunto de técnicas, que van desde la compresión de modelos hasta la gestión avanzada de la memoria, que cambian el enfoque de "ejecutar un modelo" a "escalar un servicio de inteligencia". De esta forma, los desarrolladores pueden crear aplicaciones con mayor capacidad de respuesta y, al mismo tiempo, mantener una huella de infraestructura sostenible.
Optimización a nivel de infraestructura: se centra en cómo se ejecuta el modelo en el hardware. Esto incluye el uso de tiempos de ejecución optimizados (como NVIDIA NIM o vLLM), la gestión de la memoria de la GPU con técnicas como PagedAttention y el uso de la agrupación en vuelo para procesar varias solicitudes simultáneamente. Esta suele ser la ruta más práctica para los desarrolladores que usan modelos de código abierto o propietarios.
Optimización a nivel de modelo: consiste en modificar el modelo en sí para reducir su tamaño o complejidad. Técnicas como la cuantificación (reducción de la precisión de 16 a 4 bits), la destilación (entrenamiento de un modelo "alumno" más pequeño para que imite a un modelo "profesor" más grande) y la dispersión (eliminación de parámetros poco importantes) pueden reducir drásticamente la memoria y la computación necesarias para cada token.
Para optimizar de forma eficaz, debes tener claras las dos fases de la inferencia de LLMs:
Fase | Descripción | Característica principal |
Relleno automático | El modelo procesa la prompt introducida para calcular los estados intermedios. | Altamente paralelizado y limitado por la computación (satura la GPU). |
Decodificado | El modelo genera tokens de salida uno por uno, de forma autorregresiva. | Secuencial; limitado por la memoria (limitado por la velocidad de transferencia de datos). |
Fase
Descripción
Característica principal
Relleno automático
El modelo procesa la prompt introducida para calcular los estados intermedios.
Altamente paralelizado y limitado por la computación (satura la GPU).
Decodificado
El modelo genera tokens de salida uno por uno, de forma autorregresiva.
Secuencial; limitado por la memoria (limitado por la velocidad de transferencia de datos).
Así es como se compara la inferencia optimizada con la aplicación de modelos "ingenua" tradicional:
Función | Despliegue estándar | Inferencia optimizada |
Rendimiento | Limitado por tamaños de lote estáticos y tiempo de inactividad. | Alto; utiliza el procesamiento por lotes en tránsito y la iteración continua. |
Latencia | Crecimiento lineal con la longitud de la secuencia; TTFT (tiempo hasta el primer token) alto. | Optimizado; utiliza la aceleración de relleno automático y la decodificación especulativa. |
Gestión de la memoria | Asignación estática (sobreaprovisionamiento para la longitud máxima). | Dinámico (paginación); mínimo desperdicio gracias a PagedAttention. |
Eficiencia del hardware | A menudo, no aprovecha al máximo las capacidades de computación de las GPUs o las TPUs. | Maximizado; usa kernels optimizados (TFE-IE, XLA). |
Coste por solicitud | Mayor; requiere más hardware para la misma carga. | Menor; incluye más solicitudes en la misma infraestructura. |
Función
Despliegue estándar
Inferencia optimizada
Rendimiento
Limitado por tamaños de lote estáticos y tiempo de inactividad.
Alto; utiliza el procesamiento por lotes en tránsito y la iteración continua.
Latencia
Crecimiento lineal con la longitud de la secuencia; TTFT (tiempo hasta el primer token) alto.
Optimizado; utiliza la aceleración de relleno automático y la decodificación especulativa.
Gestión de la memoria
Asignación estática (sobreaprovisionamiento para la longitud máxima).
Dinámico (paginación); mínimo desperdicio gracias a PagedAttention.
Eficiencia del hardware
A menudo, no aprovecha al máximo las capacidades de computación de las GPUs o las TPUs.
Maximizado; usa kernels optimizados (TFE-IE, XLA).
Coste por solicitud
Mayor; requiere más hardware para la misma carga.
Menor; incluye más solicitudes en la misma infraestructura.
Google Cloud ofrece una serie de herramientas diseñadas para distintos niveles de conocimientos y necesidades arquitectónicas.
Herramienta | Punto de partida | Nivel de habilidad | Método | Característica principal |
Cloud Run (con GPUs) | Un servicio de IA ligero y basado en eventos | Principiante | Sin servidor | Inferencia con escalado a cero para cargas de trabajo con picos de uso y baja latencia |
Un modelo de software libre (como Llama 3) | Principiante o intermedio | Gestionado o con poco código | Despliegue con un solo clic con los tiempos de ejecución optimizados de vLLM o NVIDIA NIM | |
Cargas de trabajo de producción de alto rendimiento | Nivel intermedio o avanzado | Inferencia acelerada | Microservicios predefinidos con optimizaciones de TensorRT-LLM de última generación | |
Una infraestructura personalizada y multimodelo | Avanzado | Nativo de la nube o personalizado | Control total sobre la fragmentación de la GPU, la orquestación y los servidores de inferencia personalizados | |
Desarrollo a gran escala con TPUs como prioridad | Avanzado | Optimizado para TPUs o XLA | Diseñado para XLA con procesamiento por lotes continuo y PagedAttention en TPU de Cloud |
Herramienta
Punto de partida
Nivel de habilidad
Método
Característica principal
Cloud Run (con GPUs)
Un servicio de IA ligero y basado en eventos
Principiante
Sin servidor
Inferencia con escalado a cero para cargas de trabajo con picos de uso y baja latencia
Un modelo de software libre (como Llama 3)
Principiante o intermedio
Gestionado o con poco código
Despliegue con un solo clic con los tiempos de ejecución optimizados de vLLM o NVIDIA NIM
Cargas de trabajo de producción de alto rendimiento
Nivel intermedio o avanzado
Inferencia acelerada
Microservicios predefinidos con optimizaciones de TensorRT-LLM de última generación
Una infraestructura personalizada y multimodelo
Avanzado
Nativo de la nube o personalizado
Control total sobre la fragmentación de la GPU, la orquestación y los servidores de inferencia personalizados
Desarrollo a gran escala con TPUs como prioridad
Avanzado
Optimizado para TPUs o XLA
Diseñado para XLA con procesamiento por lotes continuo y PagedAttention en TPU de Cloud
Usar Model Garden es la forma más rápida de desplegar versiones optimizadas de modelos abiertos líderes en el sector, como Llama, Gemma y Mistral.
Ve a Model Garden y busca un modelo de código abierto compatible. Haz clic en Desplegar. En la configuración, selecciona un tiempo de ejecución optimizado, como vLLM o NVIDIA NIM.
Elige una versión cuantificada del modelo (por ejemplo, de 4 u 8 bits) para reducir su uso de memoria. Esto te permite servir tamaños de lote más grandes en la misma GPU, lo que aumenta directamente el rendimiento.
Asegúrate de que el contenedor de publicación esté configurado para usar PagedAttention. Esta técnica permite que el modelo almacene su "memoria" (caché de clave-valor) en bloques no contiguos, lo que evita el desperdicio de memoria y permite ventanas de contexto más largas.
Una vez implementado, Vertex AI se encarga automáticamente de agrupar las solicitudes en curso y de procesar las nuevas en cuanto una solicitud existente completa un token. Usa Vertex AI Model Monitoring para hacer un seguimiento de la latencia y asegurarte de que el "mood" de la salida siga siendo de alta calidad.
Para los equipos que necesitan un control granular sobre su orquestación y sus kernels de inferencia personalizados, GKE es la opción estándar del sector.
Aprovisiona un clúster de GKE con nodos de GPU especializados (por ejemplo, L4 o H100). Instala el operador de GPU NVIDIA para gestionar automáticamente la gestión de controladores y el ajuste del rendimiento.
Usa un motor de inferencia en contenedores como vLLM o Triton Inference Server. Estos servidores admiten el procesamiento por lotes continuo y el paralelismo de tensores, lo que te permite fragmentar modelos grandes en varias GPUs. vLLM también te da la posibilidad de cambiar entre TPUs y GPUs con una cantidad mínima de código adicional.
Para las necesidades de latencia de misión crítica, configura la decodificación especulativa. Esto implica usar un modelo a modo de "borrador" más pequeño y rápido para predecir tokens, que luego se verifican en paralelo con tu modelo "objetivo" más grande, lo que suele traducirse en un aumento de la velocidad de 2 a 3 veces.
GKE Inference Quickstart actúa como base de datos preconfigurada de configuraciones de pila de inferencia probadas. Al especificar tu modelo, los requisitos de latencia y las prioridades de costes, la herramienta proporciona un conjunto de recomendaciones basadas en prácticas recomendadas y en las últimas comparativas. De esta forma, puedes monitorizar métricas de rendimiento específicas de la inferencia y ajustar dinámicamente tu despliegue para asegurarte de que siempre se ejecuta con tecnología optimizada.
GKE Inference Gateway ya está disponible de forma general y ofrece dos funciones avanzadas para gestionar aplicaciones complejas de IA generativa.
Anywhere Cache es una nueva caché de lectura totalmente coherente que funciona con los segmentos de Google Cloud Storage (GCS) que ya tengas para almacenar datos en caché en la misma zona que tus aceleradores. Esto reduce la latencia de lectura hasta un 96 % y minimiza los costes de red asociados a las cargas de trabajo con muchas lecturas.
Cloud WAN, una red global totalmente gestionada y basada en la infraestructura de Google a escala planetaria, es lo que une toda la infraestructura. Cloud WAN conecta recursos de computación de IA en diferentes regiones, nubes y entornos on-premise, lo que supone una mejora del 40 % en la experiencia de las aplicaciones de inferencia y un 40 % menos de coste total de propiedad en comparación con las soluciones de WAN tradicionales.
Empieza a crear en Google Cloud con 300 USD en crédito de regalo y más de 20 productos que siempre se ofrecen sin coste económico.