TL;DR
- Весам нужно 2 GB на миллиард параметров в FP16, 1 GB в INT8 и около 0,55 GB в 4-бит.
- Добавьте 10-20 процентов накладных расходов рантайма плюс KV-кэш: Llama 3.1 8B расходует около 0,13 GB на 1k токенов на последовательность.
- Практические варианты: 8B — это 18 GB в FP16 или 6,5 GB в 4-бит; Llama 70B — 150 GB в FP16, 44 GB в 4-бит.
- LowCostGPU тарифицирует мульти-GPU линейно, поэтому две RTX 5090 по $0,481 каждая дают 64 GB для сервинга 70B в 4-бит.
Эмпирическое правило за 60 секунд
weights_gb = params_B x bytes_per_param # fp16 2.0 · int8 1.0 · 4-bit ~0.55
runtime_gb = weights_gb x 1.1..1.2 # CUDA ctx, activations, fragmentation
total_gb = runtime_gb + kv_cache_gb # see below — grows with context
Это и есть весь метод, без прикрас. Таблица ниже применяет его к моделям, которые реально разворачивают, подбирая самую дешёвую карту в нашем прайс-листе, подходящую под каждую ячейку.
Таблица расчёта размера (инференс)
| Модель | FP16 | INT8 | 4-bit | Самая дешёвая подходящая карта (4-bit) | $/ч |
|---|---|---|---|---|---|
| Llama 3.2 3B | 7 GB | 4,5 GB | 2,8 GB | RTX 3060 · 12 GB | $0,058 |
| Llama 3.1 8B | 18 GB | 10 GB | 6,5 GB | RTX 3090 · 24 GB | $0,148 |
| Qwen 2.5 14B | 31 GB | 17 GB | 10,5 GB | RTX 4090 · 24 GB | $0,354 |
| Qwen 2.5 32B | 70 GB | 37 GB | 21 GB | RTX 5090 · 32 GB | $0,481 |
| Llama 3.1 70B | 150 GB | 78 GB | 44 GB | H100 PCIE · 80 GB | $1,811 |
| Qwen 2.5 72B | 155 GB | 80 GB | 46 GB | H100 PCIE · 80 GB | $1,811 |
| Mistral Large 123B | 260 GB | 133 GB | 78 GB | H200 · 141 GB | $3,131 |
| Llama 3.1 405B | 850 GB | 440 GB | 245 GB | B200 · 192 GB | $6,475 |
Веса + 15 % накладных расходов, без учёта KV-кэша; строки 405B предполагают шардинг между несколькими GPU (указана цена за карту). Цифры — инженерные оценки для планирования, а не бенчмарки.
KV-кэш: то, о чём все забывают
Падения при сервинге редко вызваны весами — они вызваны контекстом. Каждый обрабатываемый токен хранит ключи и значения для каждого слоя:
kv_gb = 2 x layers x kv_heads x head_dim x bytes x context x batch / 1e9
# Llama 3.1 8B (GQA, fp16): ~0.13 GB per 1k tokens per sequence
# 32 concurrent chats x 8k context ≈ 33 GB of cache — MORE than the weightsРычаги по возрастанию цены: квантовать кэш (FP8 KV сокращает его вдвое), ограничить одновременный контекст (параметр vLLM --max-num-batched-tokens), и только потом покупать VRAM. Поэтому страницы про сервинг рекомендуют карты на 32–48 GB для «моделей, которые помещаются в 16 GB».
Обучение & файнтюнинг VRAM
| Метод | VRAM ≈ | Куда помещается 8B | Куда помещается 70B |
|---|---|---|---|
| Полный файнтюнинг, AdamW fp16 | 16 GB / B параметров | 8× 24 GB или 2× 80 GB | 16× 80 GB (кластер) |
| Полный, 8-битный оптимизатор | ~10 GB / B | 1× 80 GB | 9× 80 GB |
| LoRA (база fp16) | веса + ~2 GB | 1× 24 GB | 2× 80 GB |
| QLoRA (база 4-bit) | ~0,7 GB / B + 2 GB | 1× 12 GB | 1× 48–80 GB |
Градиентный чекпоинтинг меняет ~20 % скорости на ~30 % памяти и включён по умолчанию в конфигурациях axolotl — в руководстве по QLoRA показан реальный расход на каждом шаге.
Когда одной карты недостаточно
- Тензорный параллелизм (vLLM --tensor-parallel-size) распределяет слои между 2–8 GPU на одной машине — NVLink помогает, но PCIe 4/5 нормально справляется вплоть до 4×.
- Наши цены линейны: 2× RTX 5090 (в сумме 64 GB) стоит ровно 2× $0,481 — часто это самая дешёвая связка для 70B-4bit в прайс-листе.
- Свыше 8 GPU вы уже на территории кластера: pipeline- или FSDP-шардинг через InfiniBand.
Сверяйте любой план со списками совместимости по картам на страницах GPU — каждая такая страница считает, что на неё помещается, по тем же формулам.
Применить цифры на практике
Каждая цена в этом руководстве — наш тариф в реальном времени: фиксированный, ≥30 % ниже медианы рынка, с посекундной тарификацией. Разверните ту же конфигурацию, что описана выше, из консоли примерно за 30 секунд — оплата криптой, без карты и без KYC.


