Monitoramento de GPU para cargas de IA e Machine Learning
Cargas de IA e Machine Learning mudaram a equação de capacidade nos data centers brasileiros. Treinar um modelo de detecção de fraude exige horas seguidas de GPU em utilização plena, e cada minuto ocioso vira desperdício direto no orçamento de infraestrutura. Mesmo assim, a maioria das equipes ainda observa GPU com os mesmos dashboards de CPU.
Esse vácuo de visibilidade explica por que tantos projetos de IA travam sem motivo aparente. Sem métricas específicas de GPU, ninguém enxerga o throttling térmico que reduz o throughput, a memória que estoura no meio de um batch ou o gargalo de PCIe que segura o treinamento distribuído.
Este guia mostra como estruturar o monitoramento de GPU em ambientes de IA, do diagnóstico ad-hoc com nvidia-smi até dashboards de produção integrados ao Prometheus. Além disso, aponta os sinais que indicam gargalo, as ferramentas certas para cada estágio de maturidade e como conectar tudo à observabilidade da aplicação.
O que é monitoramento de GPU e por que CPU não basta
Monitoramento de GPU é a prática de coletar, armazenar e analisar métricas que descrevem o estado de utilização, memória, energia e saúde de placas gráficas usadas em workloads computacionais. Em ambientes de IA, isso vai muito além de saber se a placa está acesa.
O monitoramento tradicional de servidores observa CPU, RAM, disco e rede. Por outro lado, uma GPU moderna combina milhares de núcleos CUDA, hierarquia própria de memória, conexões NVLink, sensores térmicos dedicados e instruções especializadas como tensor cores. Cada uma dessas camadas pode virar gargalo de forma independente.
Para times que já maduraram o monitoramento de CPU em servidores Linux, GPU é o próximo recurso a ganhar a mesma disciplina. A diferença é que as métricas, as ferramentas e os modos de falha não têm equivalente direto no mundo da CPU. Por isso, copiar dashboards de CPU para GPU resulta em pontos cegos.
Vale destacar que monitorar GPU é tarefa compartilhada entre infraestrutura, SRE e MLOps. O time de plataforma precisa garantir que o hardware esteja saudável, enquanto o time de modelos precisa saber se a GPU está sendo aproveitada com eficiência durante treinamento e inferência.
Por que cargas de IA e Machine Learning exigem observabilidade dedicada de GPU
O custo por hora de uma GPU NVIDIA H100 alugada na nuvem ultrapassa US$ 5 com facilidade, e clusters on-premises com A100 representam investimento de milhões. Sem visibilidade adequada, é impossível responder à pergunta básica: estou aproveitando essa capacidade?
Treinamento e inferência se comportam de forma muito diferente do ponto de vista de GPU. Um job de treinamento distribuído sobrecarrega memória e interconexão entre placas, enquanto uma inferência em produção depende de latência consistente e baixa variância. Ambos exigem métricas próprias para detectar degradação cedo.
Conforme apontamos no guia de observabilidade para aplicações de LLM, problemas de qualidade de modelo frequentemente nascem na infraestrutura. Uma GPU com throttling térmico produz inferências mais lentas, e o usuário sente isso antes do dashboard de aplicação detectar.
Por isso, equipes que tratam IA com seriedade colocam métricas de GPU lado a lado com KPIs de modelo. Em contrapartida, operações imaturas só descobrem o problema quando o cliente reclama da latência ou o custo do mês estoura o teto previsto.
Métricas essenciais de GPU para acompanhar
A escolha de métricas é o que separa um dashboard útil de um painel decorativo. As métricas abaixo cobrem os quatro eixos críticos: trabalho útil, memória, energia e saúde. Cada uma tem um identificador no DCGM e um equivalente no nvidia-smi para diagnóstico rápido.
| Métrica | Como medir | Por que importa |
|---|---|---|
| Utilização de SM | DCGM_FI_PROF_SM_ACTIVE ou utilization.gpu |
Mostra se os Streaming Multiprocessors estão realmente executando trabalho útil. |
| Memória de framebuffer | DCGM_FI_DEV_FB_USED em MiB |
Treinamento estoura silenciosamente quando o batch supera a memória disponível. |
| Temperatura da GPU | DCGM_FI_DEV_GPU_TEMP em °C |
Acima de 85 °C a placa começa a reduzir clock e perder throughput. |
| Throttling térmico | DCGM_FI_DEV_CLOCK_THROTTLE_REASONS |
Sinaliza por que o clock caiu: térmico, energia ou limite de hardware. |
| Consumo de energia | DCGM_FI_DEV_POWER_USAGE em watts |
Permite correlacionar custo de energia com workload e prever necessidade de refrigeração. |
| Erros XID e ECC | DCGM_FI_DEV_XID_ERRORS |
Erros recorrentes antecipam falha de hardware antes do crash em produção. |
| Tráfego PCIe e NVLink | DCGM_FI_PROF_PCIE_TX_BYTES e NVLINK_TX_BYTES |
Indica gargalo em treinamento distribuído, quando dados não fluem entre placas no ritmo necessário. |
Essa lista é o ponto de partida. Em ambientes maduros, é útil somar métricas de ocupação de tensor cores e contadores expostos pela biblioteca NVML para análise de eficiência por kernel. Comece simples, depois aprofunde por workload.
Ferramentas de monitoramento de GPU: nvidia-smi, DCGM e além
Existem três famílias principais de ferramentas para coletar métricas de GPU NVIDIA, cada uma adequada a um estágio diferente. Conhecer as diferenças evita escolher uma solução sobredimensionada para um problema simples ou subdimensionada para um cluster em produção.
| Dimensão | nvidia-smi | DCGM Exporter | APMs comerciais |
|---|---|---|---|
| Caso de uso | Diagnóstico ad-hoc | Monitoramento contínuo | Plataforma unificada |
| Custo | Zero (vem com o driver) | Zero (open source) | Licença por host ou GPU |
| Histórico | Apenas snapshot | Série temporal completa | Série temporal e retenção longa |
| Integração | Manual ou via script | Prometheus, Grafana, OTel | Stack do vendor |
| Escala recomendada | Até 5 GPUs | Dezenas a milhares | Multi-time e multi-cloud |
Na prática, a recomendação é começar com nvidia-smi para entender o comportamento da carga, evoluir para DCGM Exporter assim que o cluster passa de poucas placas e considerar APMs comerciais quando a operação envolve múltiplos times e ambientes. O comando abaixo é o ponto de partida mais comum:
Para uma referência completa de métricas, consulte a documentação oficial do DCGM. Em seguida, decida se o cenário pede o DCGM Exporter como ponte para o ecossistema Prometheus.
Como integrar GPU em uma stack de observabilidade com Prometheus e Grafana
A integração padrão de mercado combina três componentes: o DCGM Exporter coleta métricas das placas e expõe em endpoint HTTP, o Prometheus faz scrape periódico desses endpoints e o Grafana renderiza dashboards. Esse stack tem baixo overhead, é open source e roda em containers.
O docker-compose.yml abaixo sobe o stack mínimo em um host com GPU NVIDIA e driver instalado, suficiente para validar a coleta antes de partir para Kubernetes ou frotas maiores:
A configuração de scrape do Prometheus aponta para o endpoint do exporter na porta padrão 9400. O intervalo de 15 segundos atende bem a maior parte dos casos:
Com o stack rodando, o próximo passo é desenhar dashboards alinhados aos KPIs de observabilidade que o time de SRE já acompanha. Reaproveitar dashboards prontos do Grafana Labs acelera a entrega, mas calibrar thresholds com o histórico real do cluster é o que diferencia um painel útil de um painel ignorado. Para times em nuvem pública, vale combinar essa coleta com o monitoramento Azure nativo, garantindo cobertura tanto na camada de plataforma quanto no nível de aplicação.
Sinais comuns de gargalo em workloads de IA e como agir
Diagnosticar gargalo em GPU é diferente de diagnosticar gargalo em CPU. O sintoma típico é throughput abaixo do esperado, e a causa pode estar em quatro lugares distintos: cálculo, memória, interconexão ou térmico. Saber distinguir esses padrões acelera a resolução.
Um workload está compute-bound quando a utilização de SM fica próxima de 100% e a memória está estável. Esse é o cenário ideal para treinamento: a GPU está fazendo trabalho útil. A ação aqui é otimizar o modelo ou aumentar o batch para extrair ainda mais throughput.
Quando o workload é memory-bound, a utilização de SM oscila bastante enquanto o uso de memória encosta no limite da placa. Aumentar o batch piora a situação e leva ao erro CUDA out of memory. A saída é usar gradient accumulation, mixed precision ou reduzir o tamanho do batch. Em treinamento de modelos grandes, vale rever a estratégia de monitoramento de memória RAM do host também, já que swap mata throughput.
O throttling térmico aparece como queda gradual do clock mesmo com utilização alta. A métrica DCGM_FI_DEV_CLOCK_THROTTLE_REASONS revela a causa exata: HW_THERMAL, HW_POWER_BRAKE ou HW_SLOWDOWN. A correção depende do ambiente: melhorar o fluxo de ar no rack, ajustar o power cap ou redistribuir cargas entre nós.
Já o gargalo de interconexão é típico em treinamento distribuído, quando a banda PCIe ou NVLink não dá conta de sincronizar gradientes entre placas. O sintoma é GPU ociosa esperando dados, mesmo com pipeline cheio. A análise da banda PCIe e do tempo gasto em all-reduce confirma o diagnóstico.
Monitoramento de GPU em produção: treinamento, inferência e multi-tenant
Cada modo de uso da GPU tem perfil próprio de métricas e thresholds. Tratar todos da mesma forma resulta em dashboards genéricos que não ajudam ninguém. Conhecer as diferenças permite alertas mais precisos e menos ruído.
No treinamento, a meta é maximizar utilização sustentada e detectar regressões em throughput de exemplos por segundo. O painel típico cruza utilização de SM, uso de memória, temperatura e tempo de step. Quando o cluster passa de uma máquina, vale acompanhar a banda PCIe/NVLink agregada por nó.
Já na inferência em produção, o foco muda para latência e variância. O p95 e o p99 do tempo de resposta são tão importantes quanto a utilização média da placa. A combinação de batching dinâmico com modelos otimizados em formato TensorRT muda completamente o perfil de consumo, então o monitoramento precisa acompanhar essa evolução.
O cenário de multi-tenant ganhou força com vGPU e MIG (Multi-Instance GPU). Nesse modelo, uma A100 ou H100 é dividida em fatias que rodam workloads de equipes diferentes. O monitoramento precisa enxergar consumo por instância, e não apenas o agregado da placa física, para que cada time veja o próprio uso. Em clusters Kubernetes, o monitoramento de Kubernetes aplicado a GPU exige labels específicos no exporter para correlacionar pod, namespace e dispositivo MIG.
Boas práticas para construir uma estratégia de monitoramento de GPU
Construir uma estratégia que sobreviva ao crescimento do cluster pede mais do que instalar exporter. As práticas abaixo são as que mais separam operações maduras de operações reativas em ambientes brasileiros que estão escalando IA.
Primeiro, defina baselines por workload antes de criar alertas. Treinamento e inferência têm padrões distintos, e thresholds genéricos disparam alertas demais ou de menos. Colete duas semanas de histórico, calcule percentis e ancore os alertas em desvios estatísticos, e não em valores absolutos.
Segundo, separe métricas de saúde de métricas de eficiência. Saúde indica se a placa pode falhar (temperatura, erros XID, throttling). Eficiência indica se o investimento está sendo aproveitado (utilização de SM, tensor cores, memória). Cada tipo vai para um painel diferente e tem um público diferente.
Terceiro, integre métricas de GPU com a aplicação. Conectar dashboards de infraestrutura com traces de inferência e métricas de qualidade do modelo é o que entrega valor real. Para entender o conceito por completo, vale revisitar o que é observabilidade e por que ela se aplica também a workloads de IA.
Quarto, prepare o runbook de troubleshooting. Documente passo a passo o que fazer quando um alerta dispara, especialmente para falhas raras como erros ECC ou XID 79. Sem runbook, cada incidente vira investigação do zero.
Por fim, revise a arquitetura a cada nova geração de GPU. H100 mudou métricas que eram padrão na A100, e a próxima geração vai mudar de novo. Plataformas de observabilidade gerenciada aliviam essa carga ao manter integrações sempre atualizadas com os exporters oficiais da NVIDIA e do ecossistema de exporters Prometheus.
Monitoramos sua infraestrutura 24×7, antes que o problema chegue ao usuário.
Detectamos falhas em servidores, aplicações e redes em tempo real com alertas inteligentes, dashboards e relatórios de SLA.
Conclusão
Monitorar GPU deixou de ser luxo de hyperscaler para virar requisito básico de qualquer empresa que rode IA com seriedade. A combinação de nvidia-smi para diagnóstico, DCGM Exporter para coleta contínua e Prometheus com Grafana para visualização cobre desde laboratórios de pesquisa até clusters de produção, com baixo overhead e custo de licença zero.
O ponto crítico está em escolher as métricas certas, calibrar thresholds com base no histórico real do workload e integrar tudo à observabilidade da aplicação. Sem essa disciplina, dashboards viram decoração e o investimento em GPU vira desperdício invisível.
A OpServices ajuda equipes brasileiras a estruturar essa observabilidade de ponta a ponta, do hardware ao modelo. Se a sua operação está escalando IA e precisa de visibilidade real sobre o uso de GPU, fale com um especialista da OpServices e descubra como acelerar a maturidade do seu monitoramento.
Perguntas Frequentes
O que é DCGM e qual a diferença para nvidia-smi?
nvidia-smi é uma ferramenta de linha de comando para diagnóstico pontual. O nvidia-smi entrega um snapshot do estado atual e é ideal para investigação ad-hoc em um host. Já o DCGM expõe métricas via API e telemetria persistente, com baixo overhead e suporte oficial a integrações com Prometheus, Grafana e plataformas APM. Em produção, a recomendação é usar nvidia-smi para diagnóstico rápido e DCGM Exporter para coleta contínua e histórica.Quais métricas de GPU são mais importantes para acompanhar?
Como integrar DCGM com Prometheus e Grafana?
9400 em formato Prometheus. O Prometheus faz scrape periódico desse endpoint (intervalo típico de 15 segundos) e armazena as séries temporais. O Grafana se conecta ao Prometheus como data source e renderiza dashboards prontos do Grafana Labs ou dashboards customizados. Em ambientes Kubernetes, o exporter roda como DaemonSet em cada nó com GPU, garantindo cobertura automática quando novos nós entram no cluster.Como saber se a GPU está com gargalo durante o treinamento de modelos?
DCGM_FI_DEV_CLOCK_THROTTLE_REASONS confirma a causa exata.
