La optimización de la inferencia es la práctica de mejorar el rendimiento y la eficiencia de la ejecución de modelos de IA en producción. A medida que los modelos de lenguaje grandes (LLM) crecen a 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 solo aumenta. La optimización es el acto de administrar, supervisar y actualizar estas cargas de trabajo de procesamiento intensivo, lo que permite tiempos de respuesta de menos de un segundo y una mayor capacidad de procesamiento a un costo más bajo.
Implica un conjunto de técnicas, que van desde la compresión de modelos hasta la administración avanzada de la memoria, que cambian el enfoque de simplemente "ejecutar un modelo" a "escalar un servicio de inteligencia". Esto permite a los desarrolladores crear aplicaciones más responsivas mientras mantienen una huella de infraestructura sustentable.
Optimización a nivel de la infraestructura: Se enfoca en cómo se ejecuta el modelo en el hardware. Esto incluye usar entornos de ejecución optimizados (como NVIDIA NIM o vLLM), administrar la memoria de GPU con técnicas como PagedAttention y usar el procesamiento por lotes continuo para procesar varias solicitudes simultáneamente. Este suele ser el camino más práctico para los desarrolladores que usan modelos de código abierto o de propiedad específica.
Optimización a nivel del modelo: Esto implica modificar el modelo en sí para reducir su tamaño o complejidad. Las técnicas como la cuantización (reducir la precisión de 16 bits a 4 bits), la síntesis (entrenar un modelo "estudiante" más pequeño para que imite a un "profesor" más grande) y la dispersión (reducir los parámetros sin importancia) pueden reducir drásticamente la memoria y el procesamiento necesarios para cada token.
Para optimizar de manera eficaz, debes comprender las dos fases distintas de la inferencia de LLM:
Fase | Descripción | Característica clave |
Completado previo | El modelo procesa toda la instrucción de entrada para calcular los estados intermedios. | Altamente paralelizado; limitado por el procesamiento (satura la GPU). |
Decodifica | El modelo genera tokens de salida uno por uno, de forma autorregresiva. | Secuencial; limitada por la memoria (limitada por la velocidad de transferencia de datos). |
Fase
Descripción
Característica clave
Completado previo
El modelo procesa toda la instrucción de entrada para calcular los estados intermedios.
Altamente paralelizado; limitado por el procesamiento (satura la GPU).
Decodifica
El modelo genera tokens de salida uno por uno, de forma autorregresiva.
Secuencial; limitada por la memoria (limitada por la velocidad de transferencia de datos).
Aquí se compara la inferencia optimizada con la entrega de modelos tradicional "simple":
Función | Implementación estándar | Inferencia optimizada |
Capacidad de procesamiento | Limitada por tamaños de lote estáticos y tiempo de inactividad. | Alta; utiliza el procesamiento por lotes continuo y la iteración continua. |
Latencia | Crecimiento lineal con longitud de secuencia; TTFT (tiempo hasta el primer token) alto. | Optimizada; utiliza la aceleración del completado previo y la decodificación especulativa. |
Administración de la memoria | Asignación estática (sobreaprovisionamiento para la longitud máxima). | Dinámica (paginación); desperdicio mínimo a través de PagedAttention. |
Eficiencia del hardware | A menudo, no se aprovechan las capacidades de procesamiento de GPU y TPU. | Maximizada; usa kernels optimizados (TFE-IE, XLA). |
Costo por solicitud | Más alto; requiere más hardware para la misma carga. | Más bajo; agrupa más solicitudes en la misma infraestructura. |
Función
Implementación estándar
Inferencia optimizada
Capacidad de procesamiento
Limitada por tamaños de lote estáticos y tiempo de inactividad.
Alta; utiliza el procesamiento por lotes continuo y la iteración continua.
Latencia
Crecimiento lineal con longitud de secuencia; TTFT (tiempo hasta el primer token) alto.
Optimizada; utiliza la aceleración del completado previo y la decodificación especulativa.
Administración de la memoria
Asignación estática (sobreaprovisionamiento para la longitud máxima).
Dinámica (paginación); desperdicio mínimo a través de PagedAttention.
Eficiencia del hardware
A menudo, no se aprovechan las capacidades de procesamiento de GPU y TPU.
Maximizada; usa kernels optimizados (TFE-IE, XLA).
Costo por solicitud
Más alto; requiere más hardware para la misma carga.
Más bajo; agrupa más solicitudes en la misma infraestructura.
Google Cloud ofrece una variedad de herramientas diseñadas para diferentes niveles de habilidad y necesidades arquitectónicas.
Herramienta | Punto de partida | Nivel de habilidad | Enfoque | Función clave |
Cloud Run con GPU. | Un servicio de IA ligero y basado en eventos | Principiante | Sin servidores | Inferencia de escalamiento a cero para cargas de trabajo intermitentes y de baja latencia |
Un modelo de OSS (como Llama 3) | De principiante a intermedio. | Administrado o con poco código | Implementación con un solo clic con tiempos de ejecución optimizados de vLLM o NVIDIA NIM | |
Cargas de trabajo de producción de alto rendimiento | De intermedio a avanzado | Inferencia acelerada | Microservicios precompilados con optimizaciones de TensorRT-LLM de vanguardia | |
Una infraestructura personalizada de varios modelos | Avanzadas | Nativo de la nube / personalizado | Control total sobre la fragmentación de GPU, la organización y los servidores de inferencia personalizados | |
Desarrollo a gran escala con prioridad en TPU | Avanzadas | Optimizado para TPU / XLA | Diseñado para XLA con procesamiento por lotes continuo y PagedAttention en Cloud TPU |
Herramienta
Punto de partida
Nivel de habilidad
Enfoque
Función clave
Cloud Run con GPU.
Un servicio de IA ligero y basado en eventos
Principiante
Sin servidores
Inferencia de escalamiento a cero para cargas de trabajo intermitentes y de baja latencia
Un modelo de OSS (como Llama 3)
De principiante a intermedio.
Administrado o con poco código
Implementación con un solo clic con tiempos de ejecución optimizados de vLLM o NVIDIA NIM
Cargas de trabajo de producción de alto rendimiento
De intermedio a avanzado
Inferencia acelerada
Microservicios precompilados con optimizaciones de TensorRT-LLM de vanguardia
Una infraestructura personalizada de varios modelos
Avanzadas
Nativo de la nube / personalizado
Control total sobre la fragmentación de GPU, la organización y los servidores de inferencia personalizados
Desarrollo a gran escala con prioridad en TPU
Avanzadas
Optimizado para TPU / XLA
Diseñado para XLA con procesamiento por lotes continuo y PagedAttention en Cloud TPU
Model Garden es la ruta más rápida para implementar versiones optimizadas de modelos abiertos líderes como Llama, Gemma y Mistral.
Ve a Model Garden y busca un modelo de OSS compatible. Haz clic en Implementar. En la configuración, selecciona un entorno de ejecución optimizado, como vLLM o NVIDIA NIM.
Elige una versión cuantizada del modelo (por ejemplo, de 4 bits o de 8 bits) para reducir su huella de memoria. Esto te permite entregar tamaños de lote más grandes en la misma GPU, lo que aumenta directamente la capacidad de procesamiento.
Asegúrate de que el contenedor de entrega 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 maneja automáticamente el procesamiento por lotes en tránsito y procesa las nuevas solicitudes tan pronto como una solicitud existente completa un token. Usar Vertex AI Model Monitoring para hacer un seguimiento de la latencia y garantizar que la “vibra” del resultado siga siendo de alta calidad.
Para los equipos que necesitan un control detallado sobre su organización y los kernels de inferencia personalizados, GKE es la opción estándar de la industria.
Aprovisiona un clúster de GKE con nodos de GPU especializados (como L4 o H100). Instala el operador de GPU de NVIDIA para controlar la administración de controladores y el ajuste de rendimiento de forma automática.
Usar 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 permite cambiar entre TPU y GPUs con una mínima codificación adicional.
Para necesidades de latencia esenciales, configura la decodificación especulativa. Esto implica usar un modelo de “borrador” más pequeño y rápido para predecir tokens, que luego son verificados en paralelo por tu modelo “objetivo” más grande, lo que a menudo proporciona una aceleración de 2x a 3x.
GKE Inference Quickstart actúa como una base de datos preconfigurada de configuraciones de pila de inferencia probadas. Cuando especificas tu modelo, los requisitos de latencia y las prioridades de costo, la herramienta proporciona un conjunto de recomendaciones basadas en prácticas recomendadas y los comparativos más recientes. Esto te permite supervisar las métricas de rendimiento específicas de la inferencia y ajustar dinámicamente tu implementación para garantizar que siempre se ejecute con tecnología optimizada.
GKE Inference Gateway ya está disponible de forma general y presenta dos capacidades avanzadas para administrar aplicaciones complejas de IA generativa.
Anywhere cache es una nueva caché de lectura totalmente coherente que funciona con buckets de Google Cloud Storage (GCS) existentes para almacenar en caché los datos dentro de la misma zona que tus aceleradores. Esto reduce la latencia de lectura hasta un 96% y minimiza los costos de red asociados con cargas de trabajo con muchas lecturas.
Cloud WAN, una red global completamente administrada creada en la infraestructura a escala planetaria de Google, une toda la infraestructura. Cloud WAN conecta recursos de computación de IA en diferentes regiones, nubes y entornos locales, lo que ofrece una mejora del 40% en la experiencia de la aplicación de inferencia y un TCO un 40% más bajo en comparación con las soluciones WAN tradicionales.
Comienza a desarrollar en Google Cloud con el crédito gratis de $300 y los más de 20 productos del nivel Siempre gratuito.