Статьи

расчет объема видео памяти

Сколько видеопамяти нужно для ИИ-сервера

Практическое руководство по выбору VRAM для ИИ-сервера: два способа расчёта (быстрый и инженерный), пример для 7B/4k/5 потоков, ориентиры для 7–70B и рекомендации по конфигурациям.

Эта статья даёт понятные ориентиры по выбору объёма видеопамяти (VRAM) для инференса и дообучения. Мы используем два рабочих способа расчёта — быстрый прикидочный и более точный инженерный — и сверяем их на реальном примере. Так вы избежите недокомплекта и не переплатите за «лишние» гигабайты.


Ключевая мысль

Потребление VRAM складывается из весов модели и памяти под контекст (KV-кэш), плюс служебные буферы. Веса занимают память один раз на GPU, а контекст растёт по длине окна и числу одновременных потоков. Всегда оставляйте резерв +20%.


Подход А. Быстрый прикидочный расчёт (с запасом)

Устойчивые усреднённые коэффициенты:

  • Вес модели: ≈ 1,3 ГБ на 1 млрд параметров
  • Контекст на поток: ≈ 1,5 ГБ на 1000 токенов
  • Резерв: +20%

Формула:
VRAM ≈ Вес + (Контекст_на_1k × (Окно/1000) × Одновременные_потоки) × 1.2

Пример (7B, окно 4k, 5 потоков):

  • Вес: 1,3 × 7 = 9,1 ГБ
  • Контекст: 1,5 × 4 = 6 ГБ/поток → ×5 = 30 ГБ
  • Итого: (9,1 + 30) × 1,2 = 46,9 ГБ → ориентир GPU 48 ГБ

Когда полезно: пресейл-оценки, быстрые пилоты, ситуации с неопределённой нагрузкой, где избыточность важнее экономии.


Подход Б. Инженерный кросс-чек (веса + KV-кэш)

Опирается на точность весов и реальный объём кэша внимания.

Веса модели (ориентиры)

  • BF16/FP16: ~2 байта/параметр → 7B ≈ ~14 ГБ
  • FP8 / INT8: ~1 байт/параметр → 7B ≈ ~7–9 ГБ
  • INT4: ~0,5 байта/параметр → 7B ≈ ~4–6 ГБ

KV-кэш на поток в FP16 (на 1000 токенов)

  • 7B: ~0,45–0,6 ГБ
  • 13B: ~0,8–1,0 ГБ
  • 34B: ~1,8–2,2 ГБ
  • 65–70B: ~3,0–3,6 ГБ
    Примечание: при FP8/INT8-KV эти значения уменьшаются примерно в 1,5–2×.

Формула:
VRAM ≈ Веса + (KV_на_1k × (Окно/1000) × Одновременные_потоки) × 1.2

Тот же пример (7B, 4k, 5 потоков):

  • Веса (BF16): ~14 ГБ
  • KV-кэш: ~0,5 × 4 × 5 = ~10 ГБ
  • Итого: (14 + 10) × 1,2 = ~28,8 ГБминимум 32 ГБ, комфортно 48 ГБ
  • С INT8-весами: (8 + 10) × 1,2 = ~21,6 ГБ → подходит 24–32 ГБ

Когда полезно: продакшн-сметы, экономия бюджета, сравнение «толстого» GPU и узла с несколькими картами.


Как посчитать самому — пошагово

  1. Выберите формат весов: BF16/FP16 (обучение/дообучение) или INT8/INT4 (инференс-экономия).
  2. Оцените веса: Параметры × байты_на_параметр.
  3. Оцените KV-кэш: возьмите ориентир из таблицы выше и умножьте на (Окно/1000) × Одновременные_потоки.
  4. Посчитайте по обоим подходам и возьмите большее значение.
  5. Добавьте резерв +20% и небольшой запас на рост контекста/параллельности.

Быстрые ориентиры (инференс)

Класс задачиРежимКомфортный объём VRAM на GPU
7–13B, окно 4–8k, 1–8 потоковINT824–32 ГБ
7–13B, окно 4–8k, 1–8 потоковBF1648 ГБ
30–34BКвантовка~48 ГБ
30–34BBF1680–96 ГБ
65–70BBF1680–96+ ГБ или 2×48 ГБ с параллелизмом
Длинный контекст 64–128kлюбое141–192 ГБ на GPU или 2–4×48–96 ГБ с NVLink/NVSwitch

Дообучение (LoRA/QLoRA): для 7–13B удобно иметь 48 ГБ, для 30–70B — 80–96+ ГБ.


Что сильнее всего влияет на VRAM

  • Длина контекста и одновременные потоки — KV-кэш растёт линейно.
  • Формат весов/кэша — INT8/INT4 и FP8/INT8-KV сильно снижают потребление.
  • Batch и параллелизм — увеличивают пиковые буферы (особенно без FlashAttention/gradient checkpointing).
  • Offloading в RAM/NVMe — помогает «влезть», но повышает латентность и снижает скорость.

Рекомендации от MDM Electronics

  • Универсальный инференс и пилоты: 48 ГБ на GPU — тянет 13–30B, 70B с квантовкой и умеренным контекстом.
  • Обучение/дообучение и стабильные продакшн-нагрузки: 80–96+ ГБ.
  • Очень длинный контекст и крупные модели: 141+ ГБ на карту или узлы с 2–4×48–96 ГБ и NVLink/NVSwitch.

Поможем рассчитать под ваш стек: подберём конфигурацию по конкретным моделям, окну контекста и SLA, проведём тесты, измерим VRAM-пики и настроим параллелизм так, чтобы вы платили только за то, что даёт скорость и качество.