14 октября 2026 г. · Анатолий Крылов, редактор Тераферма
Сколько CPU и RAM нужно GPU-серверу, чтобы видеокарта не простаивала
Чтобы видеокарта не простаивала, GPU-серверу нужно 4–8 физических ядер процессора на каждую карту, оперативной памяти не меньше суммарной видеопамяти (лучше вдвое больше) и NVMe-диск. Для одной RTX 4090 на 24 ГБ это 8 ядер, 32–64 ГБ ОЗУ и NVMe от 500 ГБ. Если сэкономить на процессоре, на обучении с картинками видеокарта может работать на 30–50% мощности, а вы платите за 100%.
Почему видеокарта простаивает
Видеокарта считает быстро, но данные ей готовит процессор. При обучении на каждом шаге происходит одно и то же:
- Процессор читает файлы с диска.
- Декодирует их: распаковывает JPEG, режет аудио, токенизирует текст.
- Применяет аугментации: повороты, кропы, изменение цвета.
- Собирает батч и копирует его в память видеокарты.
- Видеокарта делает прямой и обратный проход.
Пока шаги 1–4 занимают меньше времени, чем шаг 5, всё хорошо: процессор готовит следующий батч, пока видеокарта считает текущий. Как только подготовка становится дольше расчёта, видеокарта начинает ждать.
Чем быстрее карта, тем легче её «недокормить». RTX 3090 даёт 71 TFLOPS в FP16, RTX 4090 — 165, H100 — 989. Процессор, которого хватало для 3090, рядом с H100 становится узким местом.
Сколько ядер процессора нужно на одну видеокарту
Всё зависит от того, сколько работы процессору достаётся на каждый шаг.
Инференс языковых моделей: 2–4 ядра на карту. Модель целиком лежит в видеопамяти, процессор только принимает запросы и токенизирует текст. Это лёгкая работа.
Обучение и дообучение LLM на тексте: 4–6 ядер. Токенизация на лету нагружает процессор умеренно, а если датасет заранее токенизирован, хватает и четырёх ядер.
Обучение на изображениях: 6–8 ядер, иногда больше. Декодирование JPEG и аугментации нагружают процессор сильнее всего остального в ML. Именно здесь чаще всего видно, как видеокарта простаивает.
Генерация изображений в Stable Diffusion и Flux: 4 ядра. Основная работа на видеокарте, процессор нужен на загрузку модели и сохранение картинок.
Обучение на видео: 8–12 ядер. Декодирование видео тяжелее, чем картинок, если не переносить его на видеокарту.
Считайте физические ядра, а не потоки. 8 ядер с гиперпоточностью дают 16 потоков, но для декодирования и аугментаций выигрыш от второго потока на ядро обычно составляет десятки процентов, а не вдвое.
Оперативная память: правило RAM ≥ VRAM
Второе частое узкое место: оперативная память. Минимальное правило: ОЗУ не меньше суммарной видеопамяти всех карт в сервере. Комфортно, когда её вдвое больше.
Зачем столько:
- Загрузка модели. Веса модели часто сначала читаются в оперативную память, а затем копируются в видеопамять. Модель на 40 ГБ в сервере с 32 ГБ ОЗУ загрузится медленно, с использованием подкачки, или не загрузится вовсе.
- Кеш датасета. Если датасет помещается в ОЗУ, после первой эпохи он читается из памяти, а не с диска. Это снимает нагрузку с диска полностью.
- Воркеры загрузки данных. Каждый процесс DataLoader в PyTorch держит свою копию части данных и батчей. 8 воркеров на карту легко съедают 10–20 ГБ.
- Выгрузка в ОЗУ. DeepSpeed ZeRO-Offload и подобные методы переносят состояние оптимизатора из видеопамяти в оперативную, чтобы обучить модель больше, чем помещается в карту. Тогда ОЗУ нужно в несколько раз больше видеопамяти.
| Конфигурация | Видеопамять | ОЗУ минимум | ОЗУ комфортно |
|---|---|---|---|
| 1 × RTX 3090 / RTX 4090 | 24 ГБ | 32 ГБ | 64 ГБ |
| 1 × RTX 5090 | 32 ГБ | 32 ГБ | 64 ГБ |
| 1 × RTX A6000 / L40S | 48 ГБ | 64 ГБ | 96–128 ГБ |
| 1 × A100 / H100 | 80 ГБ | 96 ГБ | 128–192 ГБ |
| 4 × RTX 4090 | 96 ГБ | 128 ГБ | 192–256 ГБ |
| 8 × A100 / H100 | 640 ГБ | 768 ГБ | 1–2 ТБ |
Диск: почему NVMe
Диск влияет на две вещи: как быстро загружается модель и как быстро читается датасет.
Модель на 40 ГБ (например, 70B в 4 битах):
| Диск | Скорость чтения, ориентир | Загрузка 40 ГБ |
|---|---|---|
| Жёсткий диск (HDD) | 150–200 МБ/с | 3,5–4,5 минуты |
| SATA SSD | около 550 МБ/с | около 75 секунд |
| NVMe PCIe 3.0 | около 3 500 МБ/с | 11–12 секунд |
| NVMe PCIe 4.0 | 5 000–7 000 МБ/с | 6–8 секунд |
Для инференса это разовая задержка. Для обучения на датасете из миллиона мелких картинок важнее не линейная скорость, а случайное чтение мелких файлов. Здесь NVMe быстрее SATA SSD в разы, а жёсткий диск проигрывает обоим в десятки раз.
Объём: под веса моделей, датасет, чекпойнты и Docker-образы закладывайте от 200 ГБ на простые задачи и от 500 ГБ — 1 ТБ на обучение. Чекпойнт модели на 7B параметров вместе с состоянием оптимизатора весит десятки гигабайт, и если сохранять его каждую эпоху, место кончается быстро.
PCIe: сколько линий нужно карте
Видеокарта общается с процессором по шине PCIe. Для одной карты в обычном компьютере это не проблема: слот x16 даёт с запасом. Проблемы начинаются в двух случаях:
- Майнинговые фермы на райзерах x1. Пропускная способность в 16 раз ниже. Для инференса после загрузки модели это почти не важно, но сама загрузка идёт медленно, а обучение с постоянной передачей батчей страдает.
- Несколько карт без NVLink. При обучении на 2–8 картах градиенты синхронизируются через PCIe. Если карты стоят в слотах x4, синхронизация тормозит обучение. Подробнее в статье обучение на нескольких GPU.
Для обучения ориентируйтесь на x8 и выше на каждую карту. Для инференса подойдёт и x4.
Таблица: сколько CPU и RAM под задачу
Сводная таблица на одну видеокарту. Для нескольких карт умножайте ядра и ОЗУ на количество.
| Задача | Видеокарта | Ядра CPU | ОЗУ | Диск |
|---|---|---|---|---|
| Инференс LLM 7–8B | RTX 3090 / RTX 4090 | 2–4 | 32 ГБ | NVMe 200 ГБ |
| Инференс LLM 32B в 4 битах | RTX 4090 / RTX 5090 | 4 | 32–64 ГБ | NVMe 200–500 ГБ |
| Инференс LLM 70B в 4 битах | RTX A6000 / A100 | 4–6 | 64–128 ГБ | NVMe 500 ГБ |
| SDXL, Flux, ComfyUI | RTX 4090 / RTX 5090 | 4 | 32–64 ГБ | NVMe 200–500 ГБ |
| LoRA для SDXL и Flux | RTX 4090 / RTX 5090 | 4–6 | 64 ГБ | NVMe 500 ГБ |
| QLoRA 7–13B на тексте | RTX 4090 / A100 | 4–6 | 64 ГБ | NVMe 500 ГБ |
| Обучение CV-модели (YOLO, ResNet, ViT) | RTX 4090 / L40S | 8 | 64 ГБ | NVMe от 500 ГБ |
| Whisper, пакетная расшифровка | RTX 3090 / RTX 4090 | 4–6 | 32 ГБ | NVMe 200 ГБ |
| Обучение на видео | RTX 5090 / A100 | 8–12 | 64–128 ГБ | NVMe 1 ТБ |
| Полное обучение 7B на нескольких картах | 4–8 × A100 / H100 | 8–12 на карту | от 1,5 × VRAM | NVMe 2+ ТБ |
Как проверить, что карта не ждёт процессор
Проверка занимает пять минут. Запустите обучение и в соседнем терминале выполните:
nvidia-smi dmon -s u
Колонка sm показывает загрузку вычислительных блоков видеокарты в процентах.
- Держится на 90–100%. Карта загружена, процессора хватает.
- Скачет от 0 до 100%. Карта отрабатывает батч и ждёт следующий. Узкое место в загрузке данных.
- Стабильно 30–60%. То же самое, только равномерно.
Затем откройте htop. Если все ядра процессора загружены на 100%, а видеокарта нет, не хватает процессора. Если процессор свободен, а видеокарта всё равно ждёт, проблема в диске или в настройках загрузчика.
Что можно исправить без смены сервера
- Увеличьте
num_workersв DataLoader. По умолчанию в PyTorch загрузка идёт в основном процессе. Начните с количества ядер на карту. - Включите
pin_memory=Trueиpersistent_workers=True. Копирование в видеопамять ускорится, воркеры не будут перезапускаться каждую эпоху. - Токенизируйте датасет заранее. Один раз перед обучением, а не на каждом шаге.
- Уменьшите картинки заранее. Если модель обучается на 512 × 512, хранить исходники 4000 × 3000 и уменьшать их на лету значит впустую тратить процессор.
- Перенесите декодирование на видеокарту. NVIDIA DALI и декодер nvJPEG разгружают процессор на задачах компьютерного зрения.
- Скопируйте датасет на локальный NVMe. Не читайте его с сетевого хранилища во время обучения.
Если после всего этого карта всё равно простаивает, нужен сервер с более мощным процессором.
Аренда серверов с GPU: на что смотреть кроме видеокарты
При выборе сервера легко смотреть только на модель видеокарты и цену часа. Но две машины с одной и той же RTX 4090 по 48 ₽ в час могут отличаться по скорости обучения в полтора-два раза из-за процессора и диска.
В каталоге серверов с видеокартами у каждой машины указаны процессор, объём оперативной памяти, диск и скорость интернета. Перед запуском обучения сверьте их с таблицей выше. Полный чек-лист (видеопамять, процессор, диск, сеть) есть в статье как выбрать сервер с GPU.
Если задача сводится к инференсу, не переплачивайте за мощный процессор: модель целиком на видеокарте, и 4 ядер достаточно. Если обучение на картинках, то наоборот: процессор и NVMe важнее, чем лишние 10 ₽ в час разницы между машинами. Когда видеокарта загружена на 95% вместо 50%, эпоха заканчивается почти вдвое быстрее, и итоговый счёт оказывается меньше.
Видеокарта считает ровно настолько быстро, насколько быстро процессор и диск подают ей данные. Ориентир на одну карту: 4–8 физических ядер, оперативной памяти не меньше видеопамяти (лучше вдвое больше), NVMe от 500 ГБ. Для инференса хватит и меньшего, для обучения на изображениях и видео берите с запасом.
Подберите конфигурацию по таблице, проверьте загрузку через nvidia-smi в первые минуты работы, и запускайте аренду сервера с GPU под свою задачу.