Видеокарта для LLM и нейросетей: выбор GPU по памяти и задаче
Выбор GPU для LLM и других AI-задач: сначала память, затем совместимость ПО и стоимость выполненной работы.
Начните с конкретного сценария: checkpoint модели, точность, максимальная длина входа, лимит ответа и число одновременных запросов. Для генерации изображений запишите полный workflow и разрешение, для обучения — optimizer, длину последовательности и batch. Эти настройки определяют требования к GPU точнее, чем одно название модели.
Сначала объём памяти, затем предложения аренды
Таблица помогает выбрать кандидатов для проверки; это не рейтинг по измеренной скорости. Память указана номинально. Проверьте точное выделение в предложении и свободную VRAM, которую видит движок.
| GPU | Номинальная память | Когда рассмотреть | Что проверить |
|---|---|---|---|
| RTX 3090 | 24 ГБ | Задача на одну карту с подходящей полной ценой инстанса | Время выполнения против 4090; наличие NVLink-моста, если он заявлен |
| RTX 4090 | 24 ГБ | Небольшие LLM, image-workflow и эксперименты с адаптерами | Вычислительная мощность не добавляет памяти по сравнению с 3090 |
| RTX 5090 | 32 ГБ | Задача немного превышает 24 ГБ | Поддержка в framework и расширениях; запас для движка |
| L40S | 48 ГБ | Более крупная модель или workflow на одной GPU | Точный checkpoint, контекст и одновременно работающие компоненты |
| A100 | 40 или 80 ГБ | Задачи с большим расходом памяти и распределённые конфигурации | Объём, исполнение PCIe/SXM и реальная топология |
| H100 | Зависит от варианта; SXM — 80 ГБ | Задача с выигрышем от kernels Hopper или пакетного инференса | Измеренная задержка/скорость, точность и модификация карты |
Если нужный объём уже известен, сравните 3090 и 4090, 4090 и 5090 или 4090 и A100 PCIe 80 ГБ. Другие варианты есть в базе GPU и каталоге сравнений.
Инференс: веса — только нижняя граница
Для условной модели 8B BF16-веса занимают около 16 ГБ в десятичных единицах, а идеализированное 4-битное представление — 4 ГБ. Для 70B это примерно 140 и 35 ГБ. Метаданные квантования и тензоры большей точности меняют размер checkpoint. Дополнительно нужны буферы движка и KV-кэш.
У обычного transformer-кэша расход памяти растёт с числом сохранённых токенов и параллельных последовательностей. В расчёте используйте число KV-heads: оно может отличаться от числа query-heads. В инструкции по памяти есть формула и различие ГБ/GiB. Один фиксированный коэффициент накладных расходов не покрывает все длины контекста.
Три конкретные отправные точки:
- Первый приватный чат:Ollama с Qwen2.5 7B Q4_K_M, один запрос и контекст 4 096 токенов. Перед изменениями подтвердите использование GPU.
- BF16 API из инструкции: рассматривайте 24 ГБ для Qwen2.5 7B в vLLM. Первый запрос выполняйте с указанными лимитами контекста и параллелизма. Это стартовая конфигурация, а не подтверждённая замером гарантия для любой сборки.
- Инференс 70B: сначала выберите точный квантованный checkpoint. GPU на 48 ГБ может подойти для проверки 4-битной модели с ограниченным кэшем; длинный контекст способен изменить выбор. Только BF16-веса уже исключают одну карту на 80 ГБ.
Обучение требует отдельного расчёта
При полном fine-tuning нужны обучаемые параметры, градиенты, состояние optimizer, активации и временные тензоры. Вместимость нельзя оценивать только по инференсу. Для одного распространённого варианта mixed-precision Adam оценка 18 байт на параметр до учёта активаций даёт около 144 ГБ для 8B. Другие схемы хранения и шардирование меняют результат.
LoRA обучает адаптеры, QLoRA сочетает их с квантованной базой. Универсального множителя памяти для них нет. Проверьте полный шаг optimizer с нужной длиной последовательности, целевыми слоями/rank адаптера и batch, затем сохранение checkpoint. Gradient accumulation позволяет сохранить эффективный batch при меньшем micro-batch, но не убирает веса и все пики активаций.
Генерация изображений: проверяйте весь граф
У базового checkpoint, графа с несколькими conditioning-моделями и генерации видео могут быть разные пики VRAM. При сравнении зафиксируйте разрешение, batch, число шагов, файлы моделей и offload. Измеряйте время на принятый результат и проверяйте одинаковое качество. Более быстрый запуск с меньшим разрешением — другая задача.
Начните с существующих инструкций по генерации изображений. При нехватке памяти сравните большую карту с несколькими GPU: большинство workflow не распределяют себя автоматически.
Сравнивайте стоимость результата
Для фиксированной задачи умножьте полную ставку инстанса на оплачиваемое время. Учитывайте загрузки, настройку, простой и платные хранение/трафик. Для API сравнивайте запросы или выходные токены при нужном ограничении задержки: скорость одного ответа не определяет число одновременных пользователей.
Например, предложение с ценой часа в 1,5 раза выше должно выполнить ту же задачу быстрее чем за две трети времени, чтобы только вычислительная часть стоила меньше. Это расчёт порога окупаемости, а не обещание скорости конкретной GPU. В инструкции по стоимости аренды есть пример и список параметров для сравнения.
Повторяемая пробная сессия
- Сохраните идентификатор модели/checkpoint и версии ПО.
- Проверьте выделенную GPU, свободную VRAM, CPU/RAM и диск.
- Сделайте прогрев, затем повторите типичные запросы или выполните полный batch.
- Проверьте максимальный вход и нужный параллелизм; запишите ошибки и пиковую память.
- Сравните время и полную стоимость при одинаковых настройках.
- Сохраните результаты вне инстанса и завершите аренду через его управление.
Скрипт замеров Ollama выполняет последовательные запросы и отделяет загрузку от скорости генерации. Он не измеряет время первого токена или ёмкость параллельного сервиса. Опубликованные бенчмарки полезны вместе с условиями задачи и характеристиками системы.
Источники: память обучения Transformers, стратегии KV-кэша, управление памятью vLLM. Ссылки на спецификации оборудования есть на страницах отдельных GPU.
Текущие предложения GPU · Калькулятор конфигурации · Запуск своей LLM.
Транскрибация Whisper
Для распознавания речи используйте кластер Whisper: выбор CPU/GPU и модели, обработка файлов в Docker и методика измерения. Готовый пример создаёт локальные тексты и субтитры без публичного API.