Логотип Тераферма Тераферма Регистрация

14 октября 2026 г. · Анатолий Крылов, редактор Тераферма

Сколько GPU нужно на 1000 пользователей чат-бота: расчёт нагрузки и цены

Видеокарта принимает поток сообщений с сотен смартфонов — сколько GPU нужно для LLM сервиса на 1000 пользователей

Сколько GPU нужно для LLM-сервиса на 1000 активных пользователей в день с открытой моделью 8B? Одной видеокарты на 24 ГБ: RTX 4090 в пиковый час держит 20–25 параллельных диалогов с запасом по скорости. Если нужна модель 32B, понадобится карта на 48–80 ГБ, а для 70B — две карты по 80 ГБ. Круглосуточная работа RTX 4090 стоит 34 560 ₽ в месяц, или 35 ₽ на пользователя.

Подставьте свои цифры, и через 10 минут у вас будет оценка для своего сервиса.

Шаг 1. Из пользователей в запросы в секунду

«1000 пользователей» звучит слишком размыто. Видеокарте важно не число зарегистрированных, а сколько запросов приходит в самый нагруженный момент. Для расчёта нужны четыре допущения:

  • 1000 активных пользователей в день (DAU). Зарегистрированных может быть 5 000–10 000, но заходят в бот не все.
  • 10 сообщений на пользователя в день. Для поддержки и справочного бота это много, для ассистента-собеседника — норма.
  • 15% дневного трафика приходится на пиковый час. Типичная картина для сервисов с аудиторией в одном часовом поясе.
  • Коэффициент всплеска 2,5. Внутри часа запросы приходят неравномерно: в отдельные минуты их в 2–3 раза больше среднего.

Считаем:

10 000 сообщений в день × 15% = 1 500 сообщений в пиковый час

1 500 ÷ 3 600 с × 2,5 ≈ 1 запрос в секунду в пике

Один запрос в секунду — это немного. Для сравнения: такую нагрузку многие разработчики создают сами, когда гоняют тесты. Но у LLM каждый запрос длится секунды, и важен не поток запросов, а то, сколько их обрабатывается одновременно.

Шаг 2. Длина запроса и ответа в токенах

Нагрузку на видеокарту задают токены. Типичный диалог в чат-боте:

  • Вход — около 2 000 токенов. Системный промпт (300–800 токенов) плюс история последних сообщений. Если бот ищет ответы в базе знаний (RAG), добавьте 3 000–6 000 токенов найденных фрагментов.
  • Выход — около 300 токенов. Ответ в 2–3 абзаца. Рассуждающие модели перед ответом генерируют ещё сотни и тысячи токенов «размышлений», и их тоже нужно считать.

Отсюда суммарный поток в пике:

  • генерация: 1 запрос/с × 300 токенов = 300 токенов в секунду;
  • обработка промптов (prefill): 1 запрос/с × 2 000 токенов = 2 000 токенов в секунду.

Prefill на современных картах идёт в десятки раз быстрее генерации, поэтому узким местом почти всегда становится выдача ответа. Подробно о двух фазах и о том, почему генерация упирается в память, рассказано в статье про скорость генерации токенов LLM.

Шаг 3. Сколько диалогов идёт одновременно

Число одновременных диалогов считается по закону Литтла:

параллельных запросов = запросов в секунду × время обработки одного запроса

Если пользователь получает ответ со скоростью 30 токенов в секунду, 300 токенов генерируются за 10 секунд, плюс около секунды до первого токена. Значит, в пике на сервере одновременно идут:

1 × 11 ≈ 11 диалогов

Закладываем двукратный запас на неточность допущений и неравномерность и получаем 20–25 параллельных запросов. Под это число и подбираем видеокарту.

Важный момент: 30 токенов в секунду для чата вполне комфортны, человек читает медленнее. Гнаться за 100 токенами в секунду на пользователя нет смысла, а вот общую пропускную способность сервера нужно держать с запасом.

Шаг 4. Видеопамять: веса плюс KV-кеш

Видеопамять уходит на три вещи:

  1. Веса модели. 8B в FP8 — около 8,5 ГБ, 32B в 4 битах — около 19 ГБ, 70B в 4 битах — около 40 ГБ.
  2. KV-кеш. Каждый параллельный диалог хранит в памяти промежуточные данные по всем своим токенам. Именно кеш, а не веса, ограничивает число одновременных пользователей.
  3. Служебная память движка занимает 1,5–3 ГБ на активации, CUDA-графы и буферы.

Размер KV-кеша на один токен считается по формуле:

2 × число слоёв × число KV-голов × размер головы × байт на значение

Для моделей с группированным вниманием (GQA), к которым относятся Llama 3 и Qwen3, это даёт в 16 битах:

Модель Слоёв KV на токен Кеш на 25 диалогов × 2 300 токенов Кеш в FP8
Llama 3.1 8B 32 ~128 КБ ~7,4 ГБ ~3,7 ГБ
Qwen3-8B 36 ~144 КБ ~8,3 ГБ ~4,1 ГБ
Qwen3-32B 64 ~256 КБ ~14,7 ГБ ~7,4 ГБ
Llama 3.3 70B 80 ~320 КБ ~18,4 ГБ ~9,2 ГБ

Хранение кеша в FP8 вдвое сокращает его размер почти без потери качества, в vLLM это включается одним параметром --kv-cache-dtype fp8. Для RAG с контекстом 6 000–8 000 токенов кеш вырастает в 3 раза, и это первое, что нужно пересчитать.

Итоговая потребность в памяти для нашего сценария:

Модель Веса KV-кеш (FP16) Служебное Всего
8B, FP8 ~8,5 ГБ ~7–8 ГБ ~2 ГБ ~18 ГБ
32B, 4 бита ~19 ГБ ~15 ГБ ~2,5 ГБ ~36 ГБ
70B, 4 бита ~40 ГБ ~18 ГБ ~3 ГБ ~61 ГБ
70B, FP8 ~70 ГБ ~18 ГБ ~3 ГБ ~91 ГБ

Проверить свой вариант с другой длиной контекста можно в калькуляторе VRAM.

Шаг 5. Хватит ли скорости

Память — необходимое условие, но не достаточное. Карта должна ещё и выдавать 300 токенов в секунду суммарно, не опуская скорость каждого диалога ниже 20–30 токенов.

При батчинге карта читает веса один раз и применяет их сразу ко всем параллельным запросам. Поэтому суммарная скорость растёт почти линейно с числом запросов, пока не упрётся в вычисления или память под кеш. Ориентиры для vLLM на одной карте:

  • 8B на RTX 4090 — одному пользователю 120–160 токенов в секунду, при 25–30 параллельных запросах суммарно больше 1 000. Наши 300 токенов в секунду занимают около трети возможностей.
  • 32B в 4 битах на A100 80 ГБ — одному пользователю 50–70 токенов в секунду, при 20 параллельных запросах суммарно несколько сотен. Запас есть, но меньше.
  • 70B в 4 битах на одной A100 — одному пользователю 30–40 токенов в секунду. При 20 параллельных диалогах скорость каждого падает к 15–20, на границу комфорта. Поэтому для 70B лучше две карты.

Это оценки, а не гарантия: реальная цифра зависит от длины промптов, версии движка и квантизации. Перед запуском сервиса прогоните нагрузочный тест: vllm bench serve с вашей длиной входа и выхода и нужным числом параллельных запросов. Тест на арендованной карте занимает 20–30 минут.

Итог: конфигурации и цена в месяц

Сводим всё в таблицу. Цена указана при круглосуточной работе 720 часов. «На пользователя» значит месячная стоимость, делённая на 1000 активных пользователей.

Модель Конфигурация ₽/час ₽ в месяц 24/7 ₽ на пользователя в месяц
8B, FP8 1× RTX 4090, 24 ГБ 48 34 560 35
8B, FP8, с запасом 1× RTX 5090, 32 ГБ 83 59 760 60
32B, 4 бита 1× RTX A6000, 48 ГБ 66 47 520 48
32B, 4 бита 1× A100, 80 ГБ 97 69 840 70
70B, 4 бита 2× A100, 80 ГБ 194 139 680 140
70B, FP8 2× H100, 80 ГБ 678–834 488 160–600 480 488–600

Для понимания масштаба: при наших допущениях сервис выдаёт около 90 млн токенов ответа в месяц (1 000 × 10 × 300 × 30). На одной RTX 4090 миллион выходных токенов обходится примерно в 384 ₽, и это с учётом ночных часов, когда карта почти простаивает.

Цены указаны с поминутной оплатой без абонентской платы. Выбрать конфигурацию под инференс можно на странице аренда GPU-сервера для ИИ.

Какую модель брать: 8B, 32B или 70B

Цена между первой и последней строкой таблицы отличается в разы, поэтому выбор модели важнее выбора карты.

8B хватает, если бот отвечает по сценарию: поддержка, FAQ, запись на услуги, классификация обращений. С хорошим системным промптом и RAG по базе знаний маленькая модель справляется, а ошибки ловятся тестовым набором из 100–200 типичных вопросов.

32B нужна, когда бот должен рассуждать: разбирать договоры, писать код, вести длинный диалог без потери контекста. Разница с 8B на сложных вопросах заметна сразу.

70B и больше оправданы, когда ошибка дорогая: юридические и медицинские консультации, аналитика. Здесь стоимость GPU обычно мала по сравнению с ценой неверного ответа.

Отдельный вариант: модели Mixture of Experts. У Qwen3-30B-A3B около 30 млрд параметров, но на каждый токен работают лишь около 3 млрд. В 4 битах она занимает около 17 ГБ, помещается в 24 ГБ вместе с кешем и генерирует почти со скоростью маленькой модели. Для чат-бота на одной RTX 4090 это хороший компромисс между качеством и ценой. Сколько памяти занимают разные модели, сведено в таблицу сколько видеопамяти нужно для LLM.

Как не платить за пустые ночные часы

В нашем сценарии на пиковый час приходится 15% трафика, а ночью запросов почти нет. Круглосуточная карта большую часть суток загружена на 10–30%. Варианты экономии:

  • Одна базовая реплика 24/7 плюс пиковые. Если нагрузка выросла до 3 000–5 000 пользователей, держите одну карту постоянно, а вторую и третью запускайте на дневные часы.
  • Очередь вместо отказа. Если в редкие пиковые минуты запросов больше, чем мест в батче, vLLM ставит их в очередь. Пользователь подождёт на 1–2 секунды дольше, и это лучше, чем держать лишнюю карту ради пяти минут в день.
  • Короче история диалога. Передавайте модели не всю переписку, а последние 6–10 сообщений и краткое резюме. Это сокращает и prefill, и KV-кеш.
  • Кеширование префикса. Одинаковый системный промпт для всех пользователей vLLM обрабатывает один раз и переиспользует (--enable-prefix-caching).

Учтите время запуска: новая машина стартует за несколько минут, а модель грузится ещё 5–10 минут. Поэтому реплики для пиков запускайте заранее, по расписанию, а не в ответ на всплеск. И помните, что при остановке данные на сервере удаляются: веса каждый раз скачиваются заново, а логи и настройки нужно хранить вне машины.

Как масштабировать на 10 000 пользователей

Расчёт линейный: в 10 раз больше пользователей — около 10 запросов в секунду в пике, 110 параллельных диалогов с запасом до 200–250. Варианты:

  • Несколько одинаковых реплик за балансировщиком. 8B на 4–5 картах RTX 4090. Надёжнее одной большой машины: выход из строя одной реплики не роняет сервис.
  • Одна мощная карта. H100 держит больше параллельных запросов на реплику за счёт памяти 3,35 ТБ/с и 80 ГБ под кеш. Имеет смысл для 32B–70B.

Перед масштабированием снимите реальную статистику: сколько сообщений на пользователя, какая длина ответа, какой процент трафика в пиковый час. Допущения из этой статьи могут отличаться от вашего сервиса в 2–3 раза в любую сторону.

На 1000 активных пользователей в день хватает одной RTX 4090 с моделью 8B или одной карты на 48–80 ГБ с моделью 32B. Модель 70B требует двух карт по 80 ГБ и стоит в несколько раз дороже. Сначала выберите модель по качеству на своих вопросах, потом посчитайте KV-кеш под свою длину контекста и проверьте всё нагрузочным тестом на арендованной карте.

Баланс пополняется криптовалютой от 500 ₽, оплата картой появится позже. Начните с одной RTX 4090 за 48 ₽ в час, прогоните тест на 30 минут и только потом решайте, сколько карт держать постоянно. Как развернуть модель как API, описано на странице запуска vLLM.

Вопросы по теме

Сколько GPU нужно чат-боту на 1000 пользователей?

При 1000 активных пользователей в день, 10 сообщениях на человека и модели 8B в FP8 хватает одной RTX 4090 с 24 ГБ: в пиковый час она обслуживает 20–25 параллельных диалогов. Для модели 32B в 4 битах нужна карта на 48–80 ГБ, для 70B — две карты по 80 ГБ.

Что ограничивает число одновременных пользователей на одной видеокарте?

Обычно не веса модели, а KV-кеш: каждый параллельный диалог хранит в видеопамяти свою историю. У модели 8B это около 130–145 КБ на токен в 16 битах, у 70B — около 320 КБ. При 25 диалогах по 2 300 токенов кеш 70B-модели занимает больше 18 ГБ.

Сколько стоит GPU для чат-бота в пересчёте на одного пользователя?

Одна RTX 4090 круглосуточно стоит 34 560 ₽ в месяц. При 1000 активных пользователей это 35 ₽ на человека в месяц. Для модели 70B на двух A100 — около 140 ₽ на человека.

Нужно ли держать все видеокарты включёнными круглосуточно?

Нет. Базовую нагрузку держит одна карта 24/7, а дополнительные реплики можно запускать на пиковые часы и останавливать ночью. При поминутной оплате это снижает счёт, но каждый запуск занимает несколько минут на загрузку модели.

Подберите GPU

20 моделей с поминутной оплатой в рублях.