Одна большая GPU или несколько видеокарт для AI?

Несколько GPU нужны для конкретного ограничения: модель не помещается на одной карте, требуется больше независимых запросов или нужно ускорить обучение. Это разные задачи с разными требованиями к ПО. Две карты по 24 ГБ не превращаются автоматически в одну на 48 ГБ.

Выберите способ масштабирования по задаче

Проблема Что рассмотреть Что остаётся на каждой GPU
Одна модель превышает память карты Поддерживаемый tensor/pipeline parallelism или шардирование модели Часть тензоров и некоторые дублируемые выделения памяти
Нужно больше независимых запросов Несколько реплик и маршрутизация запросов Полная модель каждой реплики
Нужно ускорить обучение, реплика помещается Distributed data parallel (DDP) Реплика модели; градиенты синхронизируются
Состояние обучения не помещается Поддерживаемое стеком шардирование FSDP/ZeROРазделённое состояние, обмен и пики временной сборки тензоров
Независимые задания генерации Отдельные workers с полным совместимым workflow Модели конкретного worker

DDP — метод обучения, а не универсальный способ обслуживания модели на нескольких GPU. Реплики увеличивают независимую ёмкость, но не уменьшают память одной модели. До аренды проверьте совместимость модели, квантования и параллелизма в движке.

Для памяти одна большая карта часто проще

Допустим, вся задача использует больше 24 ГБ, но меньше доступной памяти карты на 48 ГБ. Одну L40S стоит сравнить с двумя меньшими GPU: она позволяет не разделять модель. Это аргумент в пользу простоты, а не гарантия цены или скорости.

Для условной модели 70B в BF16 только веса занимают около 140 ГБ в десятичных единицах. Две GPU по 80 ГБ — лишь начальный кандидат: остаются баланс шардирования, KV-кэш, буферы движка и дублируемые выделения. Суммарная VRAM больше весов ещё не доказывает вместимость.

Оцените нижнюю границу по инструкции о памяти. Если одна карта покрывает полное требование, измерьте её как базовый вариант до добавления межкарточного обмена.

Проверяйте сервер, а не только поддержку в GPU

RTX 3090 поддерживает NVLink, но на сервере должно быть соответствующее соединение. У RTX 4090 и 5090 NVLink нет. Конфигурации A100/H100 различаются по SKU и серверу. Упоминание NVLink в спецификации не определяет топологию выделенных вам ресурсов.

На выделенном NVIDIA-хосте сохраните:

nvidia-smi --query-gpu=name,uuid,memory.total,memory.free --format=csv
nvidia-smi topo -m

Матрица показывает видимые соединения; это не тест пропускной способности и не доказательство доступности GPU peer access для framework. Права контейнера и виртуализация могут ограничивать видимость. Перед длительным запуском проверьте логи движка и выполните проверку обмена, предусмотренную вашим стеком.

При выборе между одним multi-GPU-сервером и несколькими независимыми машинами учитывайте сеть. Отдельные арендованные инстансы не образуют управляемый кластер автоматически и не подразумевают общую высокоскоростную сеть.

Сравнивайте полный запуск

Для фиксированной задачи обучения или пакетного инференса запишите время одной GPU T1 и N карт TN при сопоставимых настройках:

Speedup = T1 / TN
Scaling efficiency = T1 / (N × TN)
Compute cost = full_instance_hourly_rate × paid_hours

Speedup — ускорение, Scaling efficiency — эффективность масштабирования, Compute cost — стоимость вычислений. Если две GPU выполняют работу за 70% исходного времени, ускорение составляет около 1,43×, а эффективность — 71%. При удвоении полной цены часа вычисления стоят в 1,4 раза дороже. Это условные длительности для объяснения расчёта, а не замеры GPU.

Если модель вообще не запускается на одной карте, базового однокарточного времени нет. Сравнивайте работающие варианты: большую память, поддерживаемую квантованную модель, CPU offload или multi-GPU. При смене точности также проверяйте качество результата.

Разберите проблему до добавления карт

  • Out of memory на одном rank: проверьте шардирование, неравномерность слоёв и дублируемые буферы. Общий объём свободной памяти может скрывать переполнение одной карты.
  • Зависание обмена: проверьте видимые устройства, ranks, версии runtime и коммуникационный тест стека.
  • Низкая загрузка: проверьте загрузку данных и синхронизацию; дополнительные GPU не исправляют голодающий pipeline.
  • Пропускная способность выросла, диалог стал медленнее: измерьте время первого токена и задержку при нужном параллелизме.

Источники: PyTorch DDP, память и tensor parallelism в vLLM, топология в NVIDIA-SMI.

Выбор GPU · Расчёт стоимости · Первый запуск vLLM на одной GPU · Текущие предложения.

Готовы запустить?

Запустить GPU-сервер