Налаштування моніторингу GPU-утилізації та VRAM з DCGM

Проблема: як не втрачати гроші на GPU?

Напрямки AI-розробки

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1440
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    997
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1264
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    712
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    1002

Проблема: як не втрачати гроші на GPU?

Уявіть: ви запустили fine-tuning LLM на кластері з 8 A100, через 6 годин — OOM, втратили 2000 ітерацій. Або GPU завантажені на 2%, а ви платите за оренду як за повну потужність. Без моніторингу це лотерея. Знайома картина: запустили навчання LLaMA-3 на 8x A100, але через годину — OOM і втрачений чекпоінт. Наш досвід на 30+ проєктах показує: правильний моніторинг GPU з DCGM Exporter, Prometheus та Grafana знижує простої на 70% і економить до 40% витрат на інфраструктуру. Контроль VRAM, утилізації та Tensor Cores — запорука стабільної роботи.

Ми налаштовуємо моніторинг GPU під ключ за 2–3 дні. Оцінимо ваш проєкт безплатно — просто напишіть.

Чому DCGM Exporter — найкращий вибір для NVIDIA GPU?

DCGM (Data Center GPU Manager) — офіційний інструмент від NVIDIA. На відміну від nvidia-smi, він віддає профільні метрики Tensor Cores, NVLink та точне завантаження SM. Порівняння:

Метрика nvidia-smi DCGM Exporter
GPU utilization, % Так Так (точніше)
VRAM used/free Так Так
Температура Так Так
Tensor Core active Ні Так
DRAM bandwidth Ні Так
NVLink throughput Ні Так
ECC errors Так Так

DCGM дає в 10 разів більше метрик і нативно експортує їх у Prometheus. Це підтверджено документацією NVIDIA.

Які метрики критичні для AI-навантажень?

Для AI-інженерів важливі не лише базова утилізація та VRAM. Тензорні ядра (Tensor Cores) — ключовий фактор продуктивності при навчанні та інференсі. Метрика DCGM_FI_PROF_PIPE_TENSOR_ACTIVE показує, наскільки ефективно використовуються ці блоки. Якщо вона низька при високому завантаженні GPU — швидше за все, упираєтеся в пам'ять або шину. Також критична метрика використання NVLink: при розподіленому навчанні вузьке місце часто саме в міжз'єднаннях.

Типові проблеми та їх рішення

Проблема Причина Рішення через моніторинг
OOM по VRAM Batch size занадто великий Алерт при 95% VRAM, аналіз тренду швидкості росту
Низька утилізація GPU Вузьке місце CPU або I/O Дашборд показує завантаження CPU, GPU та NVLink
Перегрів GPU Недостатнє охолодження Алерт при температурі >85°C, моніторинг тротлінгу

Як ми налаштовуємо моніторинг під ключ

Крок 1. Розгортання DCGM Exporter

Встановлюємо DCGM Exporter через Docker на кожному вузлі з GPU:

docker run -d --gpus all --cap-add SYS_ADMIN -p 9400:9400 --name dcgm-exporter nvcr.io/nvidia/k8s/dcgm-exporter:3.3.5-3.4.0-ubuntu22.04 

Для кластерів використовуємо docker-compose з додатковими налаштуваннями collector. Ми підбираємо версію під вашу ОС та драйвери NVIDIA.

Крок 2. Конфігурація Prometheus

Створюємо ціль для збору метрик DCGM та правила алертингу:

# prometheus.yml global: scrape_interval: 15s scrape_configs: - job_name: dcgm static_configs: - targets: - gpu-server-1:9400 - gpu-server-2:9400 rule_files: - "gpu_alerts.yml" 

Крок 3. Налаштування алертів

Визначаємо ключові алерти: OOM (VRAM >95%), перегрів (>85°C), низька утилізація (<20%) та недоступність сервісу.

# gpu_alerts.yml groups: - name: gpu_alerts rules: - alert: GPUMemoryNearFull expr: (DCGM_FI_DEV_FB_USED / DCGM_FI_DEV_FB_TOTAL) > 0.95 for: 5m labels: severity: warning annotations: summary: "GPU {{ $labels.gpu }} на {{ $labels.instance }}: VRAM > 95%" - alert: GPUUtilizationLow expr: avg_over_time(DCGM_FI_DEV_GPU_UTIL[30m]) < 20 for: 1h labels: severity: info annotations: summary: "Низька утилізація GPU на {{ $labels.instance }}" 

Як налаштувати алерт на OOM по VRAM?

Додайте правило, яке перевіряє, що VRAM зайнята більш ніж на 95% протягом 5 хвилин. При спрацьовуванні ви отримаєте сповіщення в Telegram або Slack. Додатково можна налаштувати алерт на швидкість росту пам'яті: якщо за 2 хвилини вона збільшилася на 10% — це сигнал до OOM. Ми включаємо такі правила в базову конфігурацію.

Крок 4. Дашборд Grafana

Будуємо панелі для метрик утилізації, VRAM, Tensor Cores та температури. Приклад панелі VRAM:

{ "title": "VRAM Usage %", "type": "gauge", "targets": [{ "expr": "DCGM_FI_DEV_FB_USED / DCGM_FI_DEV_FB_TOTAL * 100", "legendFormat": "{{instance}} GPU{{gpu}}" }], "fieldConfig": { "thresholds": { "steps": [ {"color": "green", "value": 0}, {"color": "yellow", "value": 80}, {"color": "red", "value": 95} ] } } } 

Ми створюємо окремі дашборди для навчання (LLM, CV) та інференсу. В них додаємо метрики Tensor Core utilization, NVLink throughput та latency p99 для інференсу. Всі дашборди адаптуються під ваші моделі.

Крок 5. Документація та навчання

Після розгортання передаємо: інструкцію з експлуатації, схему алертів, доступ до дашбордів та коротке навчання для DevOps/ML-інженерів.

Що входить в роботу

  • Встановлення та налаштування DCGM Exporter на кожному GPU-вузлі
  • Конфігурація Prometheus та правил алертингу (Telegram/Slack)
  • Створення дашбордів Grafana під ваші завдання (навчання, інференс)
  • Інтеграція з існуючим стеком моніторингу
  • Документація та навчання команди
  • Підтримка 1 місяць після запуску

Наш досвід та гарантії

Багаторічний досвід на ринку MLOps. 30+ проєктів з GPU-інфраструктури для AI-стартапів та enterprise. Сертифіковані інженери NVIDIA. Гарантуємо стабільну роботу моніторингу 24/7. Зв'яжіться з нами для налаштування моніторингу — ми оцінимо вашу інфраструктуру та запропонуємо оптимальне рішення.