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

# Сколько VRAM модели действительно нужно.

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

Коротко

- **Weights:** Параметры в миллиардах × байт на параметр. 70B при 4-bit — это **35 GB**.
- **KV-кэш:** 2 × слои × KV-головы × размерность головы × байты, на токен. Никак не связано с числом параметров.
- **Overhead:** Добавьте около **15 %** на активации, контекст CUDA и фрагментацию аллокатора.
- **Ловушка:** Квантование весов до 4-bit **не** квантует кэш. Он остаётся FP16 в любом распространённом стеке.

## Формула

Здесь нет эмпирического правила, которое выдержит столкновение со второй моделью. Весь расчёт — это три строки, и их стоит выполнить, а не полагаться на множитель.

Общий VRAM, в GB

```
# 1. Weights
weights_gb   = parameters_in_billions × bytes_per_parameter

# 2. KV cache, per token — then multiplied by the context you serve
bytes_per_tok = 2 × layers × kv_heads × head_dim × cache_bytes
cache_gb      = bytes_per_tok × context_tokens × batch / 1024³

# 3. Everything else
total_gb      = (weights_gb + cache_gb) × 1.15
```

`2` здесь потому, что на токен приходится два тензора, K и V. `bytes_per_parameter` равен 2 для BF16, 1 для FP8, 0.5 для 4-bit. `cache_bytes` — это *отдельное* число, и именно эта отдельность чаще всего становится источником неверного ответа — см. [ниже](https://gpuserver.io/ru/guides/vram-sizing#wrong).

## Веса

Простая половина. Она линейно зависит от числа параметров, и единственное, что нужно решить — точность.

**Память под веса по точности, для нескольких размеров моделей**

| Модель | BF16 / FP16 | FP8 | 4-bit (AWQ, GPTQ) |
|---|---|---|---|
| Llama 3.1 8B 8B параметров | 16.0 GB | 8.0 GB | 4.0 GB |
| Qwen 3 32B 32B параметров | 64.0 GB | 32.0 GB | 16.0 GB |
| Llama 3.3 70B 70B параметров | 140.0 GB | 70.0 GB | 35.0 GB |
| Llama 3.1 405B 405B параметров | 810.0 GB | 405.0 GB | 202.5 GB |

Четырёхбитное квантование стоит качества, и насколько сильно — зависит от модели куда больше, чем от метода. Это оправданный компромисс, когда речь о разнице между одной картой и четырьмя; и плохой компромисс, когда вам и так хватает места.

## KV-кэш

Сложная половина — та, что решает, хватит ли машины при 4k и окажется ли она бесполезной при 128k. Она зависит от числа слоёв и KV-голов, а *не* от размера модели.

**Две модели очень разного размера, рядом друг с другом.** У Llama 3.3 70B 80 слоёв и 8 KV-голов, то есть 320 KB на токен. У Gemma 3 27B — трети параметров — 62 слоёв и 16 KV-голов, то есть 496 KB на токен, что в 1.6× *больше*. Любая оценка, отталкивающаяся от числа параметров, ошибается ровно наоборот.

**Размер KV-кэша по моделям и длине контекста, при точности кэша FP16, один запрос**

| Модель | На токен | контекст 4k | контекст 8k | контекст 32k | контекст 128k |
|---|---|---|---|---|---|
| Llama 3.1 8B 32 слоёв · 8 KV-голов | 128 KB | 0.5 GB | 1.0 GB | 4.0 GB | 16.0 GB |
| Gemma 3 27B 62 слоёв · 16 KV-голов | 496 KB | 1.9 GB | 3.9 GB | 15.5 GB | 62.0 GB |
| Llama 3.3 70B 80 слоёв · 8 KV-голов | 320 KB | 1.3 GB | 2.5 GB | 10.0 GB | 40.0 GB |
| DeepSeek V3 671B-A37B (MoE) Latent attention | 70 KB | 0.3 GB | 0.5 GB | 2.2 GB | 8.8 GB |
| Llama 3.1 405B 126 слоёв · 8 KV-голов | 504 KB | 2.0 GB | 3.9 GB | 15.8 GB | 63.0 GB |

Читайте последний столбец раньше первого. При контексте 4k кэш — это статистическая погрешность для каждой модели здесь; при 128k он больше, чем веса модели 70B в 4-bit. DeepSeek V3 — исключение, потому что её latent attention сжимает кэш по конструкции — именно поэтому она пригодна при длинном контексте, несмотря на то что это самая крупная модель в списке.

## Где ошибаются в оценках

**Оценивать кэш по числу параметров.** Самая частая ошибка, та же, что показана выше. Модели 27B может понадобиться больше кэша, чем модели 70B.

**Предположение, что 4-bit веса означают 4-bit кэш.** Это не так. AWQ и GPTQ квантуют только веса; кэш остаётся FP16, пока вы явно не включите FP8 KV. Модель 70B при 4-bit и контексте 128k — это 35 GB весов и 40 GB кэша.

**Рассчитывать только на один запрос.** Кэш считается на каждую параллельную последовательность. Обслуживание восьми пользователей одновременно требует кэша в восемь раз больше — см. [ниже](https://gpuserver.io/ru/guides/vram-sizing#batch).

**Забыть про накладные расходы.** Активации, контекст CUDA и фрагментация аллокатора — это реальные затраты. 15 % — намеренно осторожный запас; полностью его игнорировать — верный способ не загрузить модель, которая якобы «помещается».

**Суммирование VRAM по всем картам.** Четыре карты по 24 GB — это не одна карта на 96 GB. Тензорный параллелизм может разделить модель между ними, но тогда каждый слой синхронизируется через линк — см. [руководство по NVLink](https://gpuserver.io/ru/guides/nvlink-vs-pcie).

**Оценивать размер MoE по активным параметрам.** DeepSeek V3 активирует 37B на токен, но в памяти нужно держать все 671B. Активные параметры определяют *скорость*; общее число параметров решает, загрузится ли модель вообще.

## Разобранные примеры

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

**Требуемый общий VRAM при контексте 8k, по моделям и точности**

| Модель | BF16 / FP16 | FP8 | 4-bit (AWQ, GPTQ) | Самый маленький узел, который помещается |
|---|---|---|---|---|
| Llama 3.1 8B 8B параметров | 20 GB | 10 GB | 6 GB | [NVIDIA L4](https://gpuserver.io/ru/gpu/nvidia-l4) $125/мес · на одной карте · ~34 tok/s |
| Mistral Small 24B 24B параметров | 57 GB | 28 GB | 15 GB | [NVIDIA L4](https://gpuserver.io/ru/gpu/nvidia-l4) $125/мес · на одной карте · ~11 tok/s |
| Gemma 3 27B 27B параметров | 67 GB | 33 GB | 20 GB | [NVIDIA L4](https://gpuserver.io/ru/gpu/nvidia-l4) $125/мес · на одной карте · ~10 tok/s |
| Qwen 3 32B 32B параметров | 76 GB | 38 GB | 21 GB | [NVIDIA L4](https://gpuserver.io/ru/gpu/nvidia-l4) $125/мес · на одной карте · ~8 tok/s |
| Llama 3.3 70B 70B параметров | 164 GB | 82 GB | 43 GB | [2 × NVIDIA L4](https://gpuserver.io/ru/gpu/nvidia-l4) $285/мес · разделено между картами узла · ~7 tok/s |
| Mixtral 8×22B (MoE) 39B активных из 141B | 326 GB | 163 GB | 83 GB | [4 × NVIDIA L4](https://gpuserver.io/ru/gpu/nvidia-l4) $564/мес · разделено между картами узла · ~4 tok/s |
| Qwen 3 235B-A22B (MoE) 22B активных из 235B | 542 GB | 271 GB | 137 GB | [8 × NVIDIA L4](https://gpuserver.io/ru/gpu/nvidia-l4) $1,106/мес · разделено между картами узла · ~10 tok/s |
| DeepSeek V3 671B-A37B (MoE) 37B активных из 671B | 1,544 GB | 772 GB | 386 GB | [8 × NVIDIA A100 PCIe](https://gpuserver.io/ru/gpu/a100-80gb) $7,906/мес · разделено между картами узла · ~37 tok/s |
| Llama 3.1 405B 405B параметров | 936 GB | 468 GB | 237 GB | [10 × NVIDIA L4](https://gpuserver.io/ru/gpu/nvidia-l4) $1,371/мес · разделено между картами узла · ~3 tok/s |

Последний столбец — самый дешёвый узел в нашем каталоге, вмещающий модель при 4-bit и контексте 8k, со скоростью генерации в один поток, которую допускает пропускная способность памяти. Цифры пропускной способности намеренно консервативны и откалиброваны по опубликованным измерениям — воспринимайте их как нижнюю границу, а не как обещание.

## Обслуживание более одного запроса

Именно здесь машина, рассчитанная под демо, превращается в машину, неспособную обслуживать продукт. За веса платят один раз; за кэш — за каждую параллельную последовательность.

**Общий VRAM для Llama 3.3 70B при 4-bit, по числу параллельных запросов и контексту**

| Параллельные запросы | контекст 4k | контекст 8k | контекст 32k |
|---|---|---|---|
| 1 запрос | 42 GB одна карта на 80 GB | 43 GB одна карта на 80 GB | 52 GB одна карта на 80 GB |
| 4 запросов | 46 GB одна карта на 80 GB | 52 GB одна карта на 80 GB | 86 GB одна H200 |
| 16 запросов | 63 GB одна карта на 80 GB | 86 GB одна H200 | 224 GB многокарточный узел |
| 64 запросов | 132 GB одна H200 | 224 GB многокарточный узел | 776 GB многокарточный узел |

Llama 3.3 70B при 4-bit — это 35 GB весов, что бы вы ни делали. Всё, что выше 35 GB в этой таблице, — кэш. Именно поэтому «на ноутбуке всё работало» и «в продакшене всё упало» — это одна и та же модель на одной и той же карте.

**Два способа вернуть память кэша.** Включите FP8 KV-кэш, если ваш стек это поддерживает — это вдвое уменьшает числа выше ценой качества, которая обычно незаметна. И ограничьте `--max-model-len` реально обслуживаемым контекстом: vLLM резервирует кэш под заявленный максимум, так что заявленные 128k при обслуживании 8k впустую тратят в шестнадцать раз больше памяти, чем нужно.

## Какая это машина

Три практических правила, которые следуют из всего сказанного выше, в порядке важности.

1. **Одна карта лучше нескольких, когда это возможно.** Никакого шардинга, синхронизации между слоями, интерконнекта, о котором нужно думать. Если ваша модель при вашем контексте помещается на одну карту — берите именно её.
2. **Рассчитывайте под ваш реальный контекст и реальную параллельность**, а не под заявленный максимум модели. Заявленный максимум — это возможность, а не обязательное требование.
3. **Если шардинг неизбежен, выбирайте NVLink.** Разделение между четырьмя картами PCIe работает; разделение между четырьмя картами NVLink работает и заметно быстрее. [Следующее руководство](https://gpuserver.io/ru/guides/nvlink-vs-pcie) как раз о том, когда эта разница стоит своих денег.

[Конфигуратор](https://gpuserver.io/ru/configure) проводит этот расчёт в реальном времени по всем 41 конфигурациям: выберите модель, точность и длину контекста — и он покажет, какие узлы её вмещают, какие вмещают на одной карте, и сколько стоит каждый в месяц. Он использует формулу с этой страницы, так что если вы не согласны с нашей арифметикой, теперь вы можете указать, где именно.

## Проверьте свою модель на каждой машине, которую мы сдаём.

Конфигуратор проделывает все эти вычисления по всем 41 конфигурациям ещё до того, как вы что-либо оплатите.

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

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

- [Расчёт · 7 мин NVLink или PCIe: что нужно вашей задаче Когда связь между картами определяет пропускную способность, когда она ничего не меняет и как понять, какой у вас случай, прежде чем платить за не тот узел. Читать руководство](https://gpuserver.io/ru/guides/nvlink-vs-pcie)
- [Расчёт · 9 мин Выбор карты для моделей изображений и видео Сколько VRAM нужно FLUX, SDXL, SD 3.5 и Wan 2.1, какая карта каталога держит каждую и почему дешёвая подходящая карта редко оказывается лучшим выбором. Читать руководство](https://gpuserver.io/ru/guides/gpu-for-flux-sdxl)
- [Расчёт · 10 мин Выбор формата квантования Во что обходятся AWQ, GPTQ, GGUF и FP8 по памяти, скорости и качеству — и почему формат с самыми лёгкими весами редко даёт самую маленькую модель. Читать руководство](https://gpuserver.io/ru/guides/awq-vs-gptq-vs-fp8)

---

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