Одна большая 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-сервер