La optimización del uso de infraestructura de IA es esencial en entornos de Kubernetes. Este artículo aborda cómo consolidar cargas de trabajo de GPU infrautilizadas.
Los modelos de reconocimiento automático de voz (ASR) y de texto a voz (TTS) requieren menos memoria de video, pero aún así ocupan GPUs completas. Esto genera ineficiencias en la programación de recursos, ya que los recursos de computación costosos a menudo quedan subutilizados.
Fragmentación de recursos de GPU
El plugin de NVIDIA para Kubernetes muestra las GPUs como recursos enteros. Un pod solicita nvidia.com/gpu: 1, y el programador lo vincula a un dispositivo físico. Modelos de lenguaje grandes como NVIDIA Nemotron requieren computación dedicada para mantener un bajo tiempo de primera token.
Sin embargo, los modelos de soporte en una canalización de IA generativa suelen utilizar solo una fracción de la GPU. Esto resulta en baja utilización y puede hacer que se necesiten más nodos para ejecutar el mismo número de pods.
Estrategias de particionamiento
Existen dos estrategias principales para el particionamiento de GPU: el particionamiento basado en software y el basado en hardware. El primero permite que múltiples procesos compartan una GPU, mientras que el segundo crea instancias físicas separadas.
Particionamiento basado en software
El time-slicing permite que múltiples procesos compartan una GPU mediante la interleaving de su ejecución. Mientras que maximiza la utilización, no ofrece aislamiento físico, lo que puede provocar que un error en un pod afecte a otros.
MIG: El enfoque de hardware
MIG particiona físicamente la GPU en instancias separadas, cada una con sus propios recursos dedicados. Esto asegura que una carga de trabajo no afecte la estabilidad de otra, lo que es crucial para aplicaciones de IA en producción.
Configuración experimental: Canalización de IA de voz
Para validar estas estrategias, se utilizó una canalización de IA de voz multimodal. Este entorno es ideal para medir porque combina diferentes patrones de tráfico.
Antes de optimizar, es importante entender el perfil de latencia. En esta canalización, el modelo de lenguaje es el principal cuello de botella. Consolidar modelos de soporte como ASR y TTS es una forma estratégica de maximizar la utilización del hardware.
Nuestra hipótesis
Consolidar las cargas de trabajo de ASR y TTS en una sola GPU preserva la latencia mientras libera recursos computacionales para instancias adicionales de LLM.
Resultados
Se evaluaron dos patrones de tráfico: carga ligera y carga pesada. Los resultados mostraron que el uso de MIG ofrece una mayor eficiencia y capacidad de respuesta en comparación con el time-slicing.
Se recomienda el uso de MIG para entornos de producción, ya que proporciona un aislamiento de fallos crítico y permite manejar mayores volúmenes de solicitudes con una latencia mínima.


