En los entornos de producción de Kubernetes, la discrepancia entre los requisitos de los modelos y el tamaño de las GPU genera ineficiencias. Modelos ligeros de reconocimiento automático de voz (ASR) o de sintetización de voz (TTS) a menudo requieren solo 10 GB de VRAM, pero ocupan una GPU completa en implementaciones estándar de Kubernetes.
Este problema no solo se trata de reducir costos, sino de optimizar la densidad del clúster para atender a más usuarios concurrentes con el mismo hardware de alta calidad. Esta guía detalla cómo implementar y evaluar estrategias de partición de GPU, específicamente NVIDIA Multi-Instance GPU (MIG) y la división por tiempo, para aprovechar completamente los recursos de cómputo.
Abordando la fragmentación de recursos de GPU
Por defecto, el complemento de dispositivo NVIDIA para Kubernetes muestra las GPU como recursos enteros. Un pod solicita nvidia.com/gpu: 1, y el programador lo asigna a un dispositivo físico.
Modelos de lenguaje grandes (LLMs) como NVIDIA Nemotron, Llama 3 o Qwen 7B/8B requieren cómputo dedicado para mantener un bajo tiempo hasta el primer token (TTFT) y un alto rendimiento por lote. Sin embargo, los modelos de soporte en un pipeline de IA generativa, como los modelos de incrustación, ASR, TTS o guardrails, a menudo utilizan solo una fracción de una tarjeta.
Esto resulta en baja utilización, hinchazón del clúster y fricción al escalar, ya que se requieren más nodos para ejecutar la misma cantidad de pods.
Estrategias de partición
Se evaluaron dos estrategias principales para la partición de GPU soportadas por el operador de GPU de NVIDIA.
Partición basada en software: División por tiempo y MPS
La división por tiempo permite que múltiples procesos de NVIDIA CUDA compartan una GPU mediante la ejecución intercalada. Funciona de manera similar a un programador de CPU donde el contexto A se detiene y el contexto B se ejecuta.
Sin embargo, esto no proporciona aislamiento de hardware, lo que significa que un desbordamiento de memoria en un pod puede afectar a los demás en el contexto compartido.
Configuración experimental: El pipeline de voz AI

Para validar estas estrategias en un escenario de producción realista, utilizamos un pipeline de voz a voz multimodal. Este tipo de carga de trabajo es ideal para realizar pruebas, ya que mezcla tres patrones de tráfico distintos.
Resultados
Se probaron dos patrones de tráfico distintos:
- Carga ligera: 5 usuarios concurrentes simulando ~135 segundos de interacción sostenida.
- Carga pesada: 50 usuarios concurrentes simulando ~375 segundos de interacción sostenida.

La figura 5 compara el rendimiento de inferencia de IA generativa en diferentes patrones de tráfico. Se observa cómo la partición afecta la cantidad de solicitudes a medida que aumenta la concurrencia, mostrando que la estrategia MIG logra la mayor eficiencia.
Recomendaciones para la partición
Con base en los datos de referencia, se recomienda:
- Usar MIG para producción y estabilidad.
- Utilizar la división por tiempo para aplicaciones de desarrollo o de baja concurrencia.
Comienza
- Experimenta más con el repositorio.
- Implementa la partición siguiendo nuestra Guía de Implementación.
- Escala con NIM: Despliega pipelines de NVIDIA NIM.


