Monitorización de tarjetas GPU de Nvidia
¿Para qué sirven las tarjetas GPU?
Las GPU de Nvidia desempeñan un papel fundamental en las infraestructuras modernas dedicadas a la inteligencia artificial. La inteligencia artificial se divide en tres disciplinas principales: predictiva, generativa y agencial. La IA predictiva utiliza modelos para anticipar eventos futuros basándose en datos históricos. La IA generativa, por su parte, crea nuevos contenidos, como imágenes, textos o vídeos. Por último, la IA agencial se centra en la creación de agentes autónomos capaces de tomar decisiones e interactuar con su entorno.
Para implementar una solución de IA en un centro de datos privado, se necesitan varios pasos. En primer lugar, es fundamental disponer de una infraestructura adecuada. Esto incluye la instalación de tarjetas GPU (Graphics Processing Unit), que son esenciales para los cálculos intensivos que requieren los modelos de IA. Paralelamente, se debe instalar un software como Ollama en Linux para gestionar y ejecutar estos modelos.
Una vez que la infraestructura está lista, es el momento de elegir un Large Language Model (LLM). Estos modelos se materializan en forma de archivos de varios gigabytes. Entre las opciones más populares se encuentran Mistral, Qwen o OpenAI, disponibles en versiones de pago o gratuitas. Es importante tener en cuenta que el tamaño del modelo en gigabytes no debe superar la capacidad de la VRAM (memoria RAM de vídeo) de la tarjeta GPU utilizada. Por ejemplo, si su tarjeta GPU tiene 16 GB de VRAM, deberá elegir un modelo cuyo tamaño no supere este límite.
Después de seleccionar e instalar el LLM adecuado, la IA está lista para procesar solicitudes a través de una API REST. Esta interfaz permite a las aplicaciones externas interactuar con el modelo de IA enviando solicitudes HTTP y recibiendo respuestas. Esto facilita la integración de la IA en diversos sistemas y servicios, lo que ofrece una flexibilidad máxima.
Este artículo detalla cómo supervisar eficazmente las tarjetas GPU Nvidia, desde las especificaciones del hardware hasta las métricas que se deben recopilar, y explica cómo ServicePilot ofrece una monitorización completa en este ámbito.
¿Qué son las GPU Nvidia?
Las GPU Nvidia se dividen en gamas «para el gran público» (GeForce/RTX) y para centros de datos (Tesla/A100/H100, etc.). Las GPU para el gran público están optimizadas para el renderizado gráfico en tiempo real (videojuegos), con el objetivo de minimizar la latencia por imagen renderizada. Por el contrario, las GPU para centros de datos están diseñadas para el cálculo intensivo en paralelo. Procesan grandes cantidades de datos simultáneamente sin preocuparse por la latencia de una operación única, pero maximizando el número de operaciones por segundo. Por ejemplo, el entrenamiento de un gran modelo de lenguaje (LLM) es un trabajo masivamente paralelo que implica multiplicaciones de matrices gigantes. Se trata de un ámbito en el que las GPU para centros de datos, como las Nvidia H100, destacan al ejecutar billones de operaciones por segundo.
Las GPU para centros de datos también ofrecen características de hardware avanzadas en comparación con las tarjetas para el público general. Incorporan mucha más memoria de vídeo y son compatibles con la memoria con código de corrección de errores (ECC). Por ejemplo, una H100 puede contener hasta 80 GB de memoria HBM3 frente a los ~24 GB GDDR6X de una tarjeta para juegos. Esto es esencial para garantizar la fiabilidad de los cálculos largos y masivos, ya que una simple inversión de bits puede corromper un modelo entrenado durante semanas. Una GPU como la H100 cuenta con unidades especializadas capaces de realizar cálculos de media precisión (FP16/TF32) o incluso FP8 para acelerar drásticamente el entrenamiento y la inferencia de redes neuronales. Estas características específicas (memoria masiva, cálculo paralelo, núcleos de IA) convierten a las GPU de Nvidia en componentes imprescindibles para las cargas de trabajo de IA modernas. De hecho, están omnipresentes en la producción y aportan una potencia de cálculo que las CPU no pueden proporcionar.
Por lo tanto, supervisar las GPU en un entorno de IA/ML y HPC (High Performance Computing) es vital para detectar cuellos de botella (saturación de recursos, limitación térmica, errores de memoria, etc.) y garantizar que estos costosos recursos ofrezcan el rendimiento esperado.
Recopilación de métricas de GPU
Existen varios métodos para recopilar las métricas de una GPU Nvidia:
• nvidia-smi (System Management Interface): esta utilidad de línea de comandos, incluida con los controladores Nvidia, proporciona una instantánea del estado de la GPU a través de las bibliotecas NVML. Al escribir nvidia-smi, se obtiene en tiempo real el uso de la GPU, la memoria consumida, la temperatura, la potencia, etc. Es la herramienta más rápida para comprobar que una GPU funciona y ver su carga en un momento dado. Sin embargo, nvidia-smi no registra las métricas de forma continua ni histórica. Para una supervisión continua y centralizada, es necesario recurrir a herramientas específicas.
• Nvidia DCGM (Data Center GPU Manager): es la suite de software oficial de Nvidia compuesta por varias herramientas para la gestión y supervisión de GPU en entornos de servidor. DCGM funciona en segundo plano en los nodos GPU y expone una telemetría detallada de cada GPU (uso, memoria, temperatura, potencia, etc.) a través de las bibliotecas NVML. Nvidia también ofrece un exportador Prometheus DCGM que expone estas métricas en HTTP para que puedan ser recopiladas por un colector Prometheus u otro agente (Telegraf, etc.). En Kubernetes, la implementación de NVIDIA GPU Operator integra de forma nativa DCGM Exporter para publicar la telemetría de las GPU y permite crear cuadros de mando.
Métricas importantes de la GPU que hay que supervisar
Una vez que se ha establecido la recopilación, es importante definir cuáles son los indicadores clave. Las GPU Nvidia proporcionan numerosos contadores de rendimiento y estado, entre los que destacan los siguientes en un contexto de IA/ML:
• Uso de la GPU: el porcentaje de tiempo durante el cual las unidades de cálculo de la GPU (Streaming Multiprocessors) ejecutan tareas. Es la tasa de ocupación de los núcleos CUDA, el principal indicador de la carga de cálculo de la GPU. Un uso cercano al 100 % indica que la GPU está saturada de cálculo (potencialmente un cuello de botella), mientras que un uso muy bajo puede indicar un desperdicio de recursos si la GPU permanece inactiva cuando hay demanda.
• Memoria consumida: la cantidad de memoria de la GPU utilizada por las aplicaciones en comparación con la memoria total disponible. Las GPU de los centros de datos ofrecen decenas de GB de VRAM que deben supervisarse para evitar desbordamientos (falta de memoria) durante la inferencia o el entrenamiento de modelos pesados. La memoria libre restante es una métrica que debe examinarse para anticipar la saturación de la VRAM, sobre todo porque los LLM suelen caber íntegramente en la memoria de la GPU.
• Uso de la memoria GPU: la tasa de uso del controlador de memoria de la GPU, es decir, el porcentaje de tiempo durante el cual se está leyendo o escribiendo en la memoria GPU. Esto indica si el cuello de botella se encuentra en los intercambios de memoria (por ejemplo, VRAM saturada en velocidad, lo que puede limitar la GPU aunque los núcleos de cálculo no estén al 100 %). Un uso muy elevado de la memoria sugiere que el ancho de banda de la memoria de la GPU es el factor limitante (frecuente en modelos que manipulan tensores enormes).
• Temperatura de la GPU: la temperatura de la GPU, en grados Celsius. Las GPU de Nvidia pueden alcanzar más de 80 °C a plena carga. Una temperatura que supere regularmente los ~85 °C es crítica y puede provocar throttling (reducción automática de la frecuencia para evitar el sobrecalentamiento). Por lo tanto, conviene vigilar esta métrica, ya que Nvidia suele indicar ~85 °C como umbral de peligro para la mayoría de las GPU de los centros de datos.
• Potencia consumida: el consumo eléctrico de la GPU en vatios en un momento dado. Las tareas de IA consumen mucha energía, por lo que una GPU del tipo RTX/5090 puede consumir más de 600 W en cada solicitud. La supervisión de la potencia permite gestionar la capacidad eléctrica y térmica del centro de datos, así como detectar situaciones anormales (por ejemplo, una GPU que consume más de lo habitual para una misma carga puede indicar un problema). Un consumo muy elevado y sostenido también puede revelar que una carga de trabajo está explotando al máximo la GPU y, potencialmente, sobrecargándola a largo plazo.
• Ancho de banda PCIe: la conectividad PCIe (Peripheral Component Interconnect Express) entre la GPU y la CPU. Es un eslabón crítico del rendimiento de la GPU, especialmente en entornos de IA y multimedia, donde grandes volúmenes de datos transitan entre la memoria del sistema y la memoria de la GPU. La generación PCIe (Gen3, Gen4, Gen5, etc.) y el ancho de enlace (x4, x8, x16) determinan el ancho de banda teórico máximo.
• Codificación de vídeo: unidades de hardware dedicadas a la codificación de vídeo (NVENC) y la decodificación (NVDEC), utilizadas en flujos de streaming, virtualización de GPU (VDI) o determinadas canalizaciones multimedia de IA (visión, reconocimiento de imágenes). Dado que estos motores son independientes de los núcleos CUDA, es fundamental realizar un seguimiento de su actividad por separado. Supervisar el número de sesiones NVENC, la velocidad de fotogramas codificados (FPS) y la latencia de codificación de un fotograma permite detectar una saturación del motor NVENC, una compresión demasiado compleja o una competencia excesiva entre los flujos.
• Frecuencias de reloj (clocks): las frecuencias de reloj son indicadores fundamentales del estado y el rendimiento de la GPU. Existen diferentes frecuencias distintas: reloj de la GPU, reloj SM, reloj de memoria, etc. Estas frecuencias pueden variar dinámicamente en función de la carga y la temperatura: la GPU ajusta su frecuencia en función de la gestión de la energía (Dynamic Boost, Thermal Throttling, etc.). Por lo tanto, en producción es fundamental supervisar las variaciones entre la frecuencia actual y la frecuencia máxima soportada. Por ejemplo, una frecuencia de GPU o SM que desciende regularmente por debajo del objetivo nominal es una señal de throttling (térmico o energético). Correlacionada con la temperatura y la potencia, esta información permite identificar un fallo en la ventilación, una fuente de alimentación insuficiente o una política energética demasiado restrictiva.
Cuadros de mando y alertas integrados
Además de simplificar la recopilación de datos, ServicePilot proporciona cuadros de mando listos para usar para las GPU Nvidia. El cuadro de mando global ofrece una visión general del estado de las GPU y presenta las métricas clave de cada tarjeta del clúster de cálculo para comparar fácilmente las temperaturas, las potencias, los usos medios de VRAM, etc. Los cuadros de mando individuales detallados por GPU permiten correlacionar rápidamente los KPI de una GPU para identificar la causa de situaciones de subutilización o sobreutilización.
ServicePilot también permite personalizar fácilmente los cuadros de mando para combinar widgets según las necesidades de cada equipo. Se pueden filtrar y organizar los datos para crear vistas unificadas que correlacionen varias fuentes de datos en una misma pantalla. Gracias a estos cuadros de mando interactivos e intuitivos, resulta fácil establecer correlaciones visuales. Por ejemplo, se puede mostrar en paralelo el uso de la GPU y el ancho de banda de red de un servicio o las métricas de la GPU con las métricas de la CPU de un mismo servidor para identificar comportamientos anómalos. Este enfoque permite ver de un vistazo todos los parámetros de un sistema para diagnosticar rápidamente los problemas cuando surgen.
En cuanto a las alertas, ServicePilot destaca por sus capacidades de alertas inteligentes y adaptativas. Los KPI principales disponen de umbrales estáticos fijos ajustables, pero la plataforma también ofrece mecanismos de alerta avanzados que utilizan análisis estadísticos y aprendizaje automático. En la práctica, esto significa que se pueden activar umbrales dinámicos que se ajustan en función de las tendencias observadas. Por ejemplo, el sistema puede establecer automáticamente la «línea de base» de la tasa de utilización de la GPU a diferentes horas del día y activar una alerta solo si la utilización se sale significativamente de este rango normal (en lugar de un umbral absoluto arbitrario). Este umbral autoadaptativo evita las falsas alarmas durante los picos previsibles (procesamiento por lotes nocturno, etc.) y destaca las anomalías reales (actividad inusual fuera del perfil). El objetivo es implementar una detección proactiva de problemas analizando la evolución temporal de las métricas y sus interacciones, en lugar de simples umbrales fijos.
ServicePilot prioriza las alertas realmente críticas y reduce el ruido. Los algoritmos de ML para la detección de anomalías detectan automáticamente cualquier desviación en los niveles habituales de rendimiento o disponibilidad de los servicios, lo que reduce drásticamente el volumen de alertas que hay que tratar. Los operadores pueden centrarse en los incidentes importantes sin verse abrumados por notificaciones de variaciones menores o esperadas.
Casos de uso para la supervisión de GPU
Optimización energética en un centro de datos
Una empresa tecnológica que explota un gran centro de datos dedicado al entrenamiento de modelos de inteligencia artificial observó un aumento significativo de sus costes operativos, principalmente relacionado con el consumo energético de sus GPU. Estos procesadores gráficos se utilizan en gran número para formar redes neuronales complejas, especialmente en el ámbito del procesamiento del lenguaje natural (NLP).
Constatación: El análisis de los datos de consumo eléctrico reveló que algunas GPU consumían mucha energía sin obtener un rendimiento proporcional. Tras investigar, la empresa descubrió que varios modelos no estaban correctamente optimizados para sus GPU, lo que provocaba un uso ineficaz de la energía. Además, algunas unidades seguían consumiendo electricidad incluso cuando estaban parcialmente inactivas durante las fases de preprocesamiento de datos.
Resultado: Al identificar estas ineficiencias, la empresa pudo reajustar sus modelos y cargas de trabajo, reduciendo así significativamente el gasto energético y mejorando al mismo tiempo la productividad de sus GPU.
Procesamiento de vídeo para vehículos autónomos
Una empresa dedicada al desarrollo de vehículos autónomos utiliza GPU para analizar en tiempo real los flujos de vídeo de sus cámaras integradas. Estos cálculos permiten la detección de objetos, la planificación de trayectorias y la toma de decisiones instantáneas.
Reto: el procesamiento en tiempo real exige una gestión rigurosa de la memoria gráfica. Si se supera la capacidad de la memoria, pueden producirse retrasos críticos en operaciones como el reconocimiento de obstáculos o el mantenimiento de la trayectoria, lo que compromete la seguridad del vehículo.
Solución: al supervisar con precisión el uso de la memoria de la GPU, los ingenieros pudieron anticipar los picos de carga y adaptar dinámicamente los procesos. Esta supervisión continua garantiza la estabilidad del rendimiento y la fiabilidad de las decisiones del sistema integrado, incluso en entornos complejos y dinámicos.
Centro de investigación e imagen médica
En un centro de investigación médica, un equipo utiliza GPU para entrenar un modelo de segmentación de tumores en imágenes 3D obtenidas de tomografías computarizadas y resonancias magnéticas. Estos volúmenes de imágenes muy detalladas solicitan intensamente la memoria gráfica.
Problema: con el aumento del volumen de datos, los investigadores se enfrentaron a errores de «Out of Memory» (OOM) causados por un espacio de búfer de imágenes insuficiente en las GPU. Las imágenes 3D de alta resolución saturaban la memoria, por lo que el proceso de entrenamiento se interrumpía a menudo, lo que retrasaba el avance del proyecto.
Enfoque adoptado: los investigadores implementaron una estrategia de submuestreo y aprendizaje por parches, dividiendo las imágenes en secciones más pequeñas que se procesaban individualmente. Esta optimización redujo considerablemente el consumo de memoria, lo que permitió un entrenamiento continuo y estable sin comprometer la precisión del modelo.
Investigación climática y simulaciones meteorológicas
Un instituto de investigación climática utiliza un clúster de GPU para realizar simulaciones meteorológicas a gran escala. Estos modelos requieren importantes cálculos paralelos para predecir con precisión la evolución de las condiciones atmosféricas.
Observación: los investigadores observaron que la frecuencia de los multiprocesadores (SM clock) se mantenía alta, mientras que el uso global de la GPU seguía siendo bajo. El análisis reveló un cuello de botella relacionado con la memoria: la GPU esperaba constantemente las transferencias de datos desde la memoria principal o el bus PCIe, lo que limitaba el aprovechamiento de su potencia de cálculo.
Optimización: al revisar los esquemas de acceso a la memoria y agilizar las transferencias de datos, el equipo redujo los tiempos de espera y mejoró la eficiencia del procesamiento paralelo. Esta optimización permitió acelerar las simulaciones y maximizar el uso de los recursos de hardware disponibles.
Supervisión llave en mano de las GPU Nvidia con ServicePilot
La supervisión de las GPU Nvidia ya no se limita a recopilar algunos contadores de hardware: ahora representa un reto de observabilidad estratégica para todas las infraestructuras modernas de IA, cálculo de alto rendimiento o renderización gráfica. Entre las cargas masivamente paralelas, las rápidas variaciones térmicas y los comportamientos dinámicos relacionados con la gestión de la energía, una GPU es un componente vivo cuyo rendimiento puede evolucionar rápidamente. Sin un seguimiento preciso y continuo, los equipos pierden rápidamente la visibilidad de lo que realmente condiciona la estabilidad y el rendimiento de sus cargas de trabajo.
El enfoque llave en mano de ServicePilot transforma la supervisión de las GPU en un servicio de observabilidad completo y fácil de implementar. Los DevOps, ingenieros de sistemas o ingenieros de datos pueden así supervisar sus recursos Nvidia sin tener que dedicar horas a mantener cuadros de mando o scripts caseros. Cada GPU se convierte en un elemento totalmente integrado en el ecosistema de supervisión, visible, analizado y correlacionado en la misma interfaz que el resto de la infraestructura.
ServicePilot ofrece una observabilidad moderna de las GPU con: una integración simplificada y automática, un análisis inteligente de los KPI y una visión unificada del rendimiento del hardware. Para cualquier organización que aproveche la potencia de las GPUs Nvidia, es la garantía de una supervisión fiable, escalable y directamente utilizable.
👉 ¿Necesita visibilidad sobre el rendimiento de sus GPU Nvidia? Comience su prueba gratuita de ServicePilot o solicite una demostración hoy mismo.