
> Калькулятор VRAM для GGUF: проверь до загрузки▋
2 октября 2026 г.· 3 min read
One field note a week, no noise — get it by email
ggml_backend_cuda_buffer_type_alloc_buffer: failed to allocate 3412 MiB. Файл скачался без приключений. Карта не могла принять его с самого начала — и арифметика, которая это предсказывала, поместилась бы на полях чека. Обычный порядок действий обратный: нажать «скачать», смотреть на полосу прогресса и позволить ошибке нехватки памяти сделать расчёты. Именно этот порядок сегодняшняя инструмент отвергает. Калькулятор VRAM для GGUF запущен: размер модели, квант и контекст на входе — веса, KV-кэш и вердикт по каждой ходовой карте на выходе. Или наоборот: от бюджета карты к самому тяжёлому кванту, который влезет. Всё считается в вашем браузере, наверх не уходит ничего, и инструмент встал в хаб локальных LLM рядом с остальным кластером.
Режима два, потому что вопрос приходит в двух формах:
- «Сколько VRAM нужно этой модели?» — параметры, квант, контекст, архитектура на входе; разбивка и вердикт по каждой карте (от 6 до 96 ГБ) на выходе.
- «Что влезет в мою VRAM?» — бюджет, размер модели, контекст на входе; каждый квант от Q2_K до F16 со своим вердиктом.
Сколько VRAM нужно GGUF-модели?
Три части, всегда одни и те же:
VRAM ≈ веса + KV-кэш + накладные
веса = параметры × бит-на-вес / 8
KV-кэш = 2 × слои × kv_dim × контекст × 2 байта (f16)
накладные ≈ 0,7 ГБ CUDA/рантайм + ~5% вычислительных буферов
Разобранный пример, самый частый: модель 8B в Q4_K_M с контекстом 32k. Веса: 8 × 4,85 / 8 = 4,85 ГБ. KV-кэш: 2 × 32 слоя × 1024 kv-dim × 2 байта = 128 КБ на токен × 32 768 = 4,0 ГБ. С накладными: итого ~9,8 ГБ — «Q4 8B», который все называют моделью для карты на 8 ГБ, промахивается мимо неё на 23% в тот же момент, когда вы даёте ему длинный контекст. Виноват никогда не был квант; виноват контекст. У этого отказа есть отдельная полевая записка — при оффлоаде он заедает и системную память.
Какой квант влезет в мою карту?
Второй режим существует, потому что вопрос у людей обычно обратный: карта фиксирована, модель на примете. 7B с контекстом 4096 против бюджета 8 ГБ возвращает ровно это:
| Квант | Веса | Итого (оценка) | Вердикт |
|---|---|---|---|
| Q4_K_M | 4,24 ГБ | ~5,7 ГБ | влезает с запасом |
| Q6_K | 5,77 ГБ | ~7,3 ГБ | впритык |
| Q8_0 | 7,44 ГБ | ~9,0 ГБ | частичный оффлоад на CPU, заметно медленнее |
Один экран — и вечный форумный спор «Q4 или Q8» сводится к ответу вашего железа, а не соседа по ветке.
Откуда берутся числа
Таблица бит-на-вес взята из форматов квантов ggml в llama.cpp — те же числа, по которым собраны файлы на Hugging Face:
| Квант | bpw | Квант | bpw |
|---|---|---|---|
| Q2_K | 3,35 | Q5_K_M | 5,69 |
| Q3_K_M | 3,91 | Q6_K | 6,59 |
| IQ4_XS | 4,25 | Q8_0 | 8,50 |
| Q4_K_M | 4,85 | F16 | 16,0 |
Половина про KV-кэш использует публичную геометрию каждого семейства. Grouped-query attention — вся история здесь: 8B класса Llama-3 держит 8 KV-голов × 128 размерностей × 32 слоя, то есть 128 КБ на токен — а Llama 2 на 13B, без GQA, жжёт 640 КБ на токен, в пять раз больше, при том что модель прошлого поколения. Выпадающий список архитектур покрывает четыре ходовые формы плюс ручной режим для всего, что читается из config.json.
Размер файла говорил вам, что вы скачаете. Он никогда не говорил, что вы сможете запустить.
Что оценки нарочно не учитывают
Три вещи, намеренно. Маршрутизацию mixture-of-experts: инференс трогает только активных экспертов, но инструмент считает весь набор весов, поэтому итоги по MoE завышены. Смешанный квантование: Q4_K_M сам по себе среднее по тензорам — реальный файл уходит на пару процентов от табличного значения. И паддинг на стороне CUDA меняется от версии бэкенда — плоские 0,7 ГБ это средняя цифра, а не закон природы. Когда решение стоит дороже пары сотен мегабайт, пропустите оценки и прочитайте заголовок файла утилитой gguf_dump.py из llama.cpp — калькуляторы, читающие заголовок, делают ровно это. Этот остаётся арифметикой нарочно: три входа, которые можно пересчитать руками, и вердикт, с которым можно спорить.
Инструмент живёт на github.com/mrsaynothing/gguf-vram-calculator — один HTML-файл, ноль зависимостей, ноль сборки. Рядом с ним локальное руководство по GGUF, llama.cpp против Ollama и шорт-лист локальных моделей для кода, серверная сторона — в читает ли vLLM GGUF.
Если вердикт расходится с вашими временами загрузки — откройте issue в репозитории с моделью, квантом и контекстом: таблица обязана выжить при встрече с настоящим железом, и каждое расхождение — строка к исправлению.
faq
+ Сколько VRAM нужно GGUF-модели на 7B?
Q4_K_M модели 7B несёт около 4,2 ГБ весов; с контекстом 4k и накладными расходами закладывайтесь примерно на 5,7 ГБ — на карту 8 ГБ влезает с запасом. Та же модель в Q8_0 с тем же контекстом — около 9 ГБ, уже не влезет.
+ Влияет ли длина контекста на VRAM?
Да, через KV-кэш. 8B класса Llama-3 с GQA тратит ~128 КБ на токен в f16, значит контекст 32k стоит ~4 ГБ ещё до первого веса. Бюджет рвёт контекст, а не квант.
+ Размер файла GGUF — это и есть нужная VRAM?
Нет. Размер файла приближает только веса. KV-кэш растёт с контекстом, а накладные расходы (буферы CUDA, вычислительный запас) добавляют свою постоянную часть. Диск и VRAM — два разных бюджета.
+ Насколько точен калькулятор VRAM?
Этот — намеренно простая арифметика из публичных таблиц квантов: для решения «влезет или нет» хватает с точностью до пары сотен МБ. Для байтово точных чисел читайте заголовок GGUF утилитой gguf_dump.py из llama.cpp.
— mrsaynothing
$ Related entries
Мы удалили CI. Машина деплоит как раньше.
2026-10-01
CI от GitHub удалён: 118 строк YAML — в мусор, вместо них локальный скрипт на 27 строк. Что стало безопаснее, что хуже — с квитанциями по обе стороны.
Can vLLM Run GGUF? Yes — on GPU Only
2026-09-23
Can vLLM run GGUF? Yes — via the official plugin, on GPU only. The serve syntax, the tokenizer trap, the hardware limits, and when llama.cpp still wins.
GGUF Quantization Levels: Q4_K_M vs Q8_0, Size and VRAM
2026-09-13
GGUF quantization levels compared: Q4_K_M vs Q8_0 on size, VRAM and quality, plus the one rule — default Q4_K_M, step up only for code and math.