Расчёт · руководство · 10 мин на чтение

# Сколько людей на самом деле может обслужить один GPU.

Машина, которая вмещает вашу модель, — не то же самое, что машина, которая обслуживает ваших пользователей. Веса — это пошлина, уплаченная один раз; всё, что остаётся после них, — весь ваш бюджет на обслуживание людей. Именно этот остаток — а не размер карты — определяет вашу вместимость, и он меняется намного быстрее, чем объём памяти.

Коротко

- **Вместимость — это остаток, а не карта:** **Llama 3.3 70B** в 4-бит резервирует **40 GB**, прежде чем обслужить хоть кого-то. Каждый следующий одновременный запрос стоит ещё **2.9 GB**.
- **Вот почему память окупается дважды:** На одной и той же карте переход от 48 GB к 240 GB увеличивает память в 5.0××, а число мест — в **35××**. Веса уже оплачены.
- **Худшая покупка в шортлисте:** [NVIDIA L40S](https://gpuserver.io/ru/gpu/l40s) за **$714** в месяц вмещает 2 одновременных запросов — **$357.00** за место.
- **Лучший вариант стоит дешевле:** [4 × NVIDIA L4](https://gpuserver.io/ru/gpu/nvidia-l4) за **$564** вмещает 19 — **$29.68** за место, при более дешёвом инвойсе.

## Коротко

Любое руководство, которое говорит вам, *помещается* ли модель, отвечает на вопрос об одном запросе. Продукт — это не один запрос. В тот момент, когда два человека одновременно используют ваш endpoint, машине нужна вторая копия диалога в памяти — а потом и третья, и сороковая, — тогда как сами веса хранятся ровно один раз.

Так что число, которое определяет, скольких людей вы можете обслужить, — это не размер карты. Это размер карты *минус* модель, делённый на то, во что обходится один диалог. Обе эти величины известны ещё до заказа, а значит, вместимость — одна из немногих вещей в машинном обучении, которую можно верно рассчитать на бумаге заранее.

**Веса — это пошлина.** Платится один раз, при входе, независимо от вашего трафика. Она не растёт вместе с числом пользователей и никогда не возвращается.

**KV-кэш — это аренда.** Платится за каждый одновременный запрос, пока этот запрос открыт, и пропорционально тому, как долго длится диалог.

**Вместимость — это остаток, делённый на аренду.** Именно поэтому машина с вдвое большим объёмом памяти очень часто обслуживает не вдвое, а в десять раз больше людей.

**И почему самая дешёвая машина, в которую помещается модель, обычно оказывается самой невыгодной.** Она помещается потому, что после весов у неё почти ничего не остаётся, а то немногое, что остаётся, — это единственное, за что вы на самом деле платите.

Всё, что ниже, использует ту же арифметику, что и [конфигуратор](https://gpuserver.io/ru/configure), по тому же каталогу, в 4-бит при 8k контекста. Если сама формула памяти для вас в новинку, [ей посвящено отдельное руководство](https://gpuserver.io/ru/guides/vram-sizing) — а эта страница о том, что с ней происходит, когда появляется больше одного человека.

## Что остаётся после весов

Возьмите эталонную модель этого сайта и разместите её на узлах каждого размера, построенных на одной и той же карте. Тот же кремний, та же цена за карту, всё то же самое — меняется только объём памяти. Смотрите, как два последних столбца движутся с совершенно разной скоростью.

**Одновременные запросы для Llama 3.3 70B в 4-бит при 8k контекста, для каждого узла на основе одной и той же карты**

| Узел | Память | Остаток после весов | Параллельные запросы | В месяц |
|---|---|---|---|---|
| [NVIDIA L4](https://gpuserver.io/ru/gpu/nvidia-l4) | 24 GB | — | не вмещает её | $125 |
| [2 × NVIDIA L4](https://gpuserver.io/ru/gpu/nvidia-l4) | 48 GB | 8 GB | 2 | $285 |
| [4 × NVIDIA L4](https://gpuserver.io/ru/gpu/nvidia-l4) | 96 GB | 56 GB | 19 | $564 |
| [8 × NVIDIA L4](https://gpuserver.io/ru/gpu/nvidia-l4) | 192 GB | 152 GB | 52 | $1,106 |
| [10 × NVIDIA L4](https://gpuserver.io/ru/gpu/nvidia-l4) | 240 GB | 200 GB | 69 | $1,371 |

Первая строка — это весь урок целиком: карта, которая не может вместить даже веса, не обслуживает никого, и это не пограничный случай. В следующих строках память растёт равными шагами, а число мест — всё более крупными, потому что пошлина в 40 GB уплачена уже в первой строке и больше никогда не взимается.

**Арифметика в одной строке.** `seats = (memory − weights) ÷ cache_per_request`. Для Llama 3.3 70B в 4-бит это 40 GB пошлины и 2.9 GB аренды за каждый открытый диалог. Сначала вычитайте, потом делите: поступить наоборот значит купить машину под демо и обнаружить нехватку уже в продакшене.

## Во что на самом деле обходится один пользователь

Теперь те же модели, отсортированные так, как их сортирует покупатель: сначала самые дешёвые. Последний столбец — это месячная цена, делённая на число людей, которых машина может вместить одновременно, — единственный столбец, который честно сравнивает две машины, если вы строите что-то большее, чем демо.

Одно допущение, названное прямо, потому что оно меняет каждое число: каждое число мест дано для *одного* экземпляра модели, развёрнутого на весь узел, — именно это даёт флаг `--tensor-parallel-size`. Веса хранятся один раз, и каждая карта отдаёт свою оставшуюся память в общий пул диалогов. Если вместо этого запустить на одном узле две отдельные копии, пошлина будет уплачена дважды, а мест в сумме получится меньше.

**Десять самых дешёвых узлов, вмещающих Llama 3.3 70B, с ценой каждого в расчёте на одновременного пользователя**

| Узел | Память | В месяц | Параллельные запросы | На пользователя |
|---|---|---|---|---|
| [2 × NVIDIA L4](https://gpuserver.io/ru/gpu/nvidia-l4) Карт: 2 · по 24 GB | 48 GB | $285 | 2 | $142.50 |
| [NVIDIA RTX A6000](https://gpuserver.io/ru/gpu/rtx-a6000) Одна карта · 48 GB | 48 GB | $286 | 2 | $143.00 |
| [2 × NVIDIA RTX 4090](https://gpuserver.io/ru/gpu/rtx-4090) Карт: 2 · по 24 GB | 48 GB | $416 | 2 | $208.00 |
| [4 × NVIDIA L4](https://gpuserver.io/ru/gpu/nvidia-l4) Карт: 4 · по 24 GB | 96 GB | $564 | 19 | $29.68 |
| [2 × NVIDIA RTX A6000](https://gpuserver.io/ru/gpu/rtx-a6000) Карт: 2 · по 48 GB | 96 GB | $597 | 19 | $31.42 |
| [2 × NVIDIA RTX 5090](https://gpuserver.io/ru/gpu/rtx-5090) Карт: 2 · по 32 GB | 64 GB | $692 | 8 | $86.50 |
| [NVIDIA L40S](https://gpuserver.io/ru/gpu/l40s) Одна карта · 48 GB | 48 GB | $714 | 2 | $357.00 |
| [2 × NVIDIA A100 PCIe](https://gpuserver.io/ru/gpu/a100-40gb) Карт: 2 · по 40 GB | 80 GB | $802 | 13 | $61.69 |
| [4 × NVIDIA RTX 4090](https://gpuserver.io/ru/gpu/rtx-4090) Карт: 4 · по 24 GB | 96 GB | $814 | 19 | $42.84 |
| [NVIDIA A100 PCIe](https://gpuserver.io/ru/gpu/a100-80gb) Одна карта · 80 GB | 80 GB | $1,091 | 13 | $83.92 |

Сравните две выделенные цветом ячейки с их столбцом цены. NVIDIA L40S стоит $714 в месяц и вмещает 2; 4 × NVIDIA L4 стоит $564 — *меньше денег* — и вмещает 19. Это 10× мест за 0.79× инвойса, и именно дорогой вариант обычно остаётся в шортлисте, потому что именно в нём модель помещается на одной карте.

**Это не довод против однокарточных машин.** Модель, которая помещается на одной карте, не требует ни разбиения между картами, ни интерконнекта, ни флагов tensor-parallel, и отвечает одному пользователю быстрее, чем та же модель, разделённая между четырьмя картами. Если ваша нагрузка — один запрос за раз (пакетная задача, внутренний инструмент, демо), такая машина — правильная покупка, а столбец «на пользователя» вам не важен. Он начинает иметь значение только тогда, когда люди приходят одновременно, и с этого момента значит уже очень многое.

Если смотреть по всему каталогу, а не по первым десяти строкам, лучшая цена за место для этой модели — [8 × NVIDIA RTX A6000](https://gpuserver.io/ru/gpu/rtx-a6000) за $2,239 в месяц: 119 одновременных запросов по $18.82 каждый. Это намного более крупный инвойс, чем всё, что было в шортлисте выше, и всё равно самый дешёвый способ разместить пользователя — и именно это решает, рассчитываете ли вы продукт или прототип.

## Длина контекста — второй множитель

Всё сказанное выше предполагало 8k контекста. Это допущение значит больше, чем выбор машины. Кэш оплачивается не только за пользователя, но и за токен, поэтому один и тот же узел вмещает совершенно разное число людей — в зависимости от того, насколько длинным вы позволяете стать диалогу.

Одна машина, четыре модели, четыре длины контекста. Узел — [8 × NVIDIA L4](https://gpuserver.io/ru/gpu/nvidia-l4) за $1,106 в месяц: самый дешёвый в нашем каталоге, который вмещает все четыре модели одновременно, так что каждое число ниже измерено относительно одного и того же объёма памяти.

**Одновременные запросы на одном узле, по модели и длине контекста, в 4-бит**

| Модель | Кэш на токен | 4k | 8k | 32k | 128k |
|---|---|---|---|---|---|
| Llama 3.1 8B 4 GB весов | 128 KiB | 325 | 162 | 40 | 10 |
| Qwen 3 32B 16 GB весов | 256 KiB | 150 | 75 | 18 | 4 |
| Llama 3.3 70B 35 GB весов | 320 KiB | 105 | 52 | 13 | 3 |
| Qwen 3 235B-A22B (MoE) 118 GB весов | 188 KiB | 67 | 33 | 8 | 2 |

На одной и той же неизменной машине Llama 3.3 70B переходит с 105 одновременных пользователей на 3 — рост в 35×× — и всё это просто из-за числа, заданного в командной строке. Оборудование остаётся совершенно прежним.

Отсюда следуют две вещи. Первая: столбец контекста, на который стоит смотреть, — это тот, который вы реально обслуживаете, а не тот, что заявлен на карточке модели, — модель, которая *поддерживает* 128k, не обязывает вас резервировать все 128k. Вторая: объём кэша на токен сильно различается между моделями схожего размера, потому что его определяет архитектура внимания, а не число параметров; [у самых крупных моделей из этой таблицы порой самый маленький кэш](https://gpuserver.io/ru/guides/mixture-of-experts) — и это, пожалуй, самый парадоксальный факт во всей этой теме.

## Четыре способа отвоевать вместимость

В порядке убывания отношения пользы к затратам. Первый способ почти бесплатен и почти всегда остаётся неиспользованным.

Ограничьте заявленный контекст Бесплатно — и самый большой выигрыш Стек обслуживания резервирует кэш под максимальную заявленную длину, а не под ту, что вы реально используете. Заявить 128k и обслуживать 8k — значит выбросить в шестнадцать раз больше памяти, чем нужно, а эта память и была всей вашей вместимостью по местам. С первого дня задавайте `--max-model-len` равным вашему реальному потолку.

Квантуйте кэш до 8 бит Примерно удваивает места Квантование *весов* до 4 бит никак не влияет на кэш: он остаётся 16-битным в любом распространённом стеке, если не задать иное. Задать иное — это один флаг, потеря качества обычно незаметна на чат-нагрузках, а таблица ниже показывает, что это даёт.

Квантуйте веса сильнее Помогает один раз, потом перестаёт. Уменьшение весов вдвое отдаёт разницу прямиком кэшу, поэтому на переполненной машине это даёт дополнительные места. Но это разовый выигрыш против фиксированной пошлины, и он стоит вам качества — [какой формат стоит скольких](https://gpuserver.io/ru/guides/awq-vs-gptq-vs-fp8) — отдельное решение.

Арендуйте остаток, а не карту Структурное решение Все рычаги, перечисленные выше, дают лишь предельный выигрыш. Переход на узел, чей объём памяти превышает веса модели с большим запасом, меняет саму суть задачи — это единственный из четырёх способов, который продолжает окупаться по мере роста.

**Одновременные запросы на одном и том же узле с 16-битным кэшем и с 8-битным кэшем, при 8k контекста**

| Модель | 16-битный кэш | 8-битный кэш | Прирост мест |
|---|---|---|---|
| Llama 3.1 8B | 162 | 325 | +163 |
| Qwen 3 32B | 75 | 150 | +75 |
| Llama 3.3 70B | 52 | 105 | +53 |
| Qwen 3 235B-A22B (MoE) | 33 | 67 | +34 |

Тот же узел, те же веса, те же деньги. Меняется только точность, в которой хранится кэш, — и это разница между машиной, которая обслуживает команду, и машиной, которая обслуживает продукт.

## Места — это ещё не обслуживание

Одна поправка перед тем, как вы начнёте что-то рассчитывать по цифрам выше, — и именно она не даёт этой странице соврать. Здесь везде считается, сколько диалогов машина может держать *открытыми*. Это не обещание, что каждый из них получает быстрый ответ.

Память и пропускная способность — это два разных потолка. На [8 × NVIDIA L4](https://gpuserver.io/ru/gpu/nvidia-l4) Llama 3.3 70B вмещает 52 одновременных диалогов, а один пользователь в одиночку на этой машине получает примерно 17 токенов в секунду. Заполнение всех 52 мест не даёт каждому по 17 токенов в секунду — генерация делит одну и ту же пропускную способность памяти, поэтому суммарная скорость растёт вместе с батчингом, а скорость на пользователя падает. Потолок пропускной способности достигается заметно раньше потолка памяти.

**Используйте число мест как потолок, а не как цель.** Машина, заполненная до последнего места, — это машина, где все ждут. Число мест показывает, какое оборудование вообще способно на вашу одновременную нагрузку — это отсеивает машины, которые не способны, а это большая часть шортлиста, — а затем вы измеряете скорость на пользователя, которая вам действительно нужна, и отступаете от потолка. Рассчитывать машину впритык к потолку — второй по частоте способ купить не ту машину, сразу после полного игнорирования кэша.

Хорошая новость в том, что оба потолка обычно движутся вместе: машины с большим остатком памяти после весов — почти всегда те же машины, у которых больше и пропускная способность. Выбор по запасу памяти редко стоит вам скорости. [Настройка стека обслуживания](https://gpuserver.io/ru/guides/serve-llama-70b) на выбранной машине — отдельное руководство, и именно в его флагах эти цифры превращаются в реальность.

## Выбор под собственное число пользователей

По порядку. Остановитесь на первой строке, которая описывает вашу нагрузку.

1. **Один запрос за раз.** Пакетные задачи, внутренний инструмент, один разработчик. Покупайте самую дешёвую машину, которая вмещает модель на одной карте, и на этом чтение можно закончить — каждый столбец этой страницы отвечает на вопрос, которого у вас нет.
2. **Горстка людей, изредка.** Инструмент для команды, продукт на раннем этапе. Считайте пиковое число одновременных запросов, а не число пользователей: сто зарегистрированных пользователей редко означают больше горстки одновременных. Затем берите самую дешёвую машину, чьё число мест с запасом превышает этот пик.
3. **Реальный продукт с реальным трафиком.** Сортируйте каталог по цене за место, а не по цене, ограничьте контекст тем, что вы реально обслуживаете, переведите кэш на 8 бит — и будьте готовы, что победителем окажется машина, которую вы не включили бы в шортлист по одной только месячной цене.
4. **Длинные документы или длинные диалоги.** Сначала смотрите таблицу контекста, потом таблицу машин. Начиная с 32k кэш преобладает настолько, что выбор модели значит меньше, чем архитектура внимания, лежащая в её основе.
5. **Скачкообразный, непредсказуемый трафик.** Рассчитывайте машину на пик, который нельзя провалить, потому что кэш нельзя одолжить, когда он заканчивается, — запрос, которому некуда деть свой диалог, ждёт в очереди. Если пик редкий и огромный, [потокенный API для избытка нагрузки](https://gpuserver.io/ru/guides/api-vs-self-hosting) обходится дешевле, чем машина, рассчитанная на всплеск, который случается дважды в месяц.

На какой бы строке вы ни остановились, прежде всего сделайте вычитание: возьмите объём памяти машины, уберите веса вашей модели в той точности, в которой будете её обслуживать, и посмотрите, что осталось. Именно этот остаток вы и арендуете. [Конфигуратор](https://gpuserver.io/ru/configure) применяет ту же арифметику к каждому узлу, который мы эксплуатируем, а [во что обходится месяц аренды](https://gpuserver.io/ru/guides/monthly-vs-hourly) разобрано отдельно.

## Подбирайте машину по пользователям, а не по модели.

Конфигуратор включает каждый узел, который мы сдаём в аренду, использует ту же арифметику памяти, что и эта страница, и показывает, что остаётся после загрузки вашей модели, — ещё до того, как вы за что-либо заплатите.

[Открыть конфигуратор](https://gpuserver.io/ru/configure) [Читать руководства](https://gpuserver.io/ru/guides)

## Другие руководства

- [Стоимость · 6 мин Когда помесячная аренда выгоднее почасовой Точка безубыточности на реальных цифрах, три статьи расходов, которые почасовая цена скрывает до счёта, и ловушка простоя, утраивающая оценку. Читать руководство](https://gpuserver.io/ru/guides/monthly-vs-hourly)
- [Стоимость · 9 мин Self-hosting против API с оплатой за токен Точка безубыточности между оплатой API за токен и арендой GPU на наших ценах и пропускной способности — и четыре момента, которые арифметика не учитывает. Читать руководство](https://gpuserver.io/ru/guides/api-vs-self-hosting)
- [Практика · 11 мин Llama 3.3 70B на одном узле От доставленной машины до OpenAI-совместимого эндпоинта: флаги, которые действительно важны, и два флага, которые незаметно вдвое снижают пропускную способность. Читать руководство](https://gpuserver.io/ru/guides/serve-llama-70b)

---

Источник: https://gpuserver.io/ru/guides/concurrent-users/. Этот файл формируется на основе тех же данных, что и сайт; если цифра здесь отличается от страницы сайта, приоритет у страницы, а этот файл устарел — канонический источник: https://gpuserver.io/.
