Главная/Блог/Локальная нейросеть: память под контекст, которую забывают посчитать
ЛОКАЛЬНЫЙ ЗАПУСК

Локальная нейросеть: память под контекст, которую забывают посчитать

Память под локальную модель складывается из двух частей, и вторую почти всегда оценивают на глаз — «добавьте 10–20 % на контекст». Мы посчитали её по характеристикам, снятым с карточек десяти открытых моделей 26 августа 2026 года: доля вышла от 1 % до 118 % от веса самой модели, и ни одна из десяти не попала в это правило. Разбираем, из чего вторая часть складывается и почему она меняет класс карты, а не проценты.

Обновлено 2026-08-26 · 8 мин чтения · ЗероКвант

Сравнительная таблица

МодельПараметровВниманиеВеса INT4Кэш при 32k, один запросИтогоКэш к весам
Qwen3-8B8,2 млрдGQA4,1 ГБ4,8 ГБ9,7 ГБ118 %
YandexGPT 5 Lite 8B8,0 млрдGQA4,0 ГБ4,3 ГБ9,1 ГБ107 %
Vikhr-Nemo-12B12,2 млрдGQA6,1 ГБ5,4 ГБ12,7 ГБ88 %
Qwen3-32B32,8 млрдGQA16,4 ГБ8,6 ГБ28,2 ГБ52 %
T-pro-it-1.032,8 млрдGQA16,4 ГБ8,6 ГБ28,2 ГБ52 %
T-lite-it-1.07,6 млрдGQA3,8 ГБ1,9 ГБ6,4 ГБ49 %
Mistral Small 3.1 24B24,0 млрдGQA12,0 ГБ5,4 ГБ19,8 ГБ45 %
GigaChat-20B-A3B20,6 млрдGQA10,3 ГБ3,8 ГБ16,1 ГБ37 %
Qwen2.5-72B-Instruct72,7 млрдGQA36,4 ГБ10,7 ГБ54,4 ГБ30 %
DeepSeek-V3684,5 млрдMLA342,3 ГБ2,3 ГБ413,0 ГБ1 %
Llama 3.3 70B Instruct70,6 млрдконфигурация закрыта35,3 ГБнет данныхнет данныхнет данных
Gemma 3 27B Instruct27,4 млрдконфигурация закрыта13,7 ГБнет данныхнет данныхнет данных

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

Первая часть — веса. Она считается в одну строку: число параметров умножается на число байт, в которых параметр хранится. В 16-битном формате это два байта, в 4-битном квантовании — половина байта. Отсюда и берутся ходовые прикидки вроде «70 миллиардов в INT4 — примерно 35 гигабайт». Как разрядность меняет выбор карты, разобрано отдельно в материале про квантование.

Вторая часть — KV-кэш. Модель хранит промежуточное представление каждого токена, который уже прошёл через неё: и вопроса, и всего, что она успела ответить. Этот кэш растёт с длиной диалога и с числом запросов, обслуживаемых одновременно, и живёт в памяти рядом с весами.

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

Поверх этих двух частей идёт надбавка рантайма — активации, буферы, фрагментация памяти. В расчётах на сайте она принята коэффициентом 1,2 и одинакова для калькулятора и для страниц моделей: две надбавки на одной странице дали бы два разных ответа на один вопрос. Это ориентир для планирования закупки, а не показание профилировщика.

Правило «плюс 10–20 % на контекст» не попало ни в один из десяти случаев

В таблице выше — десять моделей каталога, у которых конфигурация опубликована, при одинаковых условиях: веса в INT4, контекст 32 тысячи токенов, один запрос за раз. Правый столбец — отношение кэша к весам, то есть ровно та «добавка на контекст», которую обычно берут на глаз.

Разброс — от 1 % до 118 %. В диапазон 10–20 % не попала ни одна модель: девять оказались выше, одна — сильно ниже. Правило не то чтобы неточное, оно попадает мимо в обе стороны и на порядок.

Зависимость к тому же обратная той, которую подсказывает здравый смысл. У двух восьмимиллиардных моделей — Qwen3-8B и YandexGPT 5 Lite 8B — кэш при 32 тысячах токенов больше весов: 4,8 ГБ против 4,1 ГБ и 4,3 ГБ против 4,0 ГБ. У Qwen2.5-72B, которая в девять раз крупнее, доля падает до 30 %.

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

Три архитектуры внимания дают три разные формулы, а не один коэффициент

Способ, которым модель хранит ключи и значения, — это три разные конструкции. При полном внимании (MHA) у каждой головы свои ключи и значения. При групповом (GQA) они общие на группу голов, и кэш меньше в разы. При сжатом (MLA) кэшируются не ключи и значения, а их компактное представление, и множителя «два» в формуле нет вовсе.

Самое наглядное следствие — в нижней строке таблицы. DeepSeek-V3 на 684,5 миллиарда параметров кэширует один токен в 0,070 МБ. Qwen3-8B, которая меньше по числу параметров в 83 раза, — в 0,147 МБ, то есть вдвое дороже. Модель, которой нужен целый сервер под веса, обходится с контекстом экономнее, чем модель, помещающаяся в одну карту.

⚠️ Это же место, где ошибались мы сами, и дважды. Сначала кэш считался по MHA там, где везде GQA, — завышение в 7,9 раза; потом по GQA там, где MLA, — в 21 раз. Оба случая лежат в публичном журнале исправлений. Занижение при этом опаснее завышения: оно советует купить меньше карт, чем нужно, и обнаруживается уже в эксплуатации.

Практический вывод простой: способ внимания читается из конфигурации модели, а не подставляется коэффициентом по размеру. На каждой карточке в каталоге моделей он назван прямо — вместе со слоями, KV-головами и длиной контекста, из которых и складывается число.

Второй множитель меняет класс карты, а не проценты

Кэш умножается на два числа сразу: на длину контекста и на количество запросов, обслуживаемых в один момент. Значит 32 тысячи токенов у десяти сотрудников стоят ровно столько же памяти, сколько 320 тысяч токенов у одного, — это один и тот же множитель, и путать «длинный контекст» с «многопользовательской нагрузкой» не нужно, они складываются в произведение.

Что это даёт в железе. Qwen3-8B при одном запросе требует 9,7 ГБ — помещается в потребительскую карту на 24 ГБ с большим запасом. При десяти одновременных запросах ей нужно 53,2 ГБ, то есть карта другого класса, на 80 ГБ. Модель та же, квантование то же, изменилось только число людей за экраном.

У Qwen2.5-72B тот же переход выглядит как 54,4 ГБ против 151,0 ГБ: одна карта на 80 ГБ против конфигурации на 192 ГБ. А у DeepSeek-V3 итог растёт с 413,0 ГБ всего до 433,7 ГБ — прибавка около 5 %, потому что при сжатом внимании кэш почти не замечает параллельности, и ограничением остаются веса.

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

Заявленный контекст и доступный контекст — разные числа

Длина контекста в карточке модели — это верхняя граница, которую разрешает архитектура, а не то, что получится развернуть. Память под неё нужно купить отдельно.

Крайний случай в нашем каталоге — Vikhr-Nemo-12B: заявлен контекст в 1 024 000 токенов. Веса в INT4 занимают 6,1 ГБ, и на этом основании модель выглядит как «влезает в потребительскую карту». На полном заявленном контексте кэш составляет 167,8 ГБ, итого 175,1 ГБ — то есть в 27 раз больше весов, и это уже серверная конфигурация, а не карта.

Случаи помягче считаются так же. Mistral Small 3.1 24B на своих 131 072 токенах: 21,5 ГБ кэша, итого 35,9 ГБ против 19,8 ГБ на контексте в 32 тысячи токенов. GigaChat-20B-A3B на том же контексте — 15,0 ГБ кэша, итого 27,4 ГБ.

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

Две модели из двенадцати посчитать нельзя, и это тоже ответ

Llama 3.3 70B и Gemma 3 27B стоят в таблице с прочерками. Их веса выдаются после принятия условий и одобрения автором, конфигурация закрыта — значит числа слоёв и KV-голов у нас нет, и посчитать кэш не из чего.

Вес весов при этом известен: 35,3 ГБ и 13,7 ГБ в INT4. Соблазн дописать «плюс 15 % на контекст» и выдать итог здесь максимальный, и именно этого мы не делаем: пустое место честнее уверенного числа, а число, в котором отсутствует память под контекст, занижает ответ ровно там, где обещана точность.

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

Как посчитать свой случай

Чтобы получить число, нужно знать пять величин: количество параметров, разрядность весов, длину контекста, число одновременных запросов и способ внимания. Первые четыре задаёт задача, пятую даёт конфигурация модели. Расчёт под свои условия — в калькуляторе памяти, готовые числа по каждой модели каталога — на её странице в разделе моделей.

Что в этот расчёт не входит и считается отдельно: скорость генерации (она упирается в пропускную способность памяти, а не в её объём), запас на пики нагрузки, память под вторую модель рядом — эмбеддер или распознавание, — и дообучение, где к весам нужен множитель три-четыре, а не 1,2.

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

Вердикт

Веса — половина ответа. Вторая половина — KV-кэш, и она не сжимается вместе с весами. Чем сильнее квантование, тем большую долю занимает то, что не квантуется.
Доля кэша обратна интуиции. У восьмимиллиардных моделей кэш при 32 тысячах токенов превышает веса; у семидесятидвухмиллиардной — треть от них. Считается он от слоёв и KV-голов, а не от числа параметров.
Длина и параллельность — один множитель. 32 тысячи токенов у десяти человек стоят столько же памяти, сколько 320 тысяч у одного. Число одновременных запросов входит в расчёт наравне с выбором модели.
Заявленный контекст надо переводить в гигабайты. Vikhr-Nemo-12B с весами 6,1 ГБ на полном заявленном контексте требует 175,1 ГБ. Пока контекст не пересчитан в память, он не характеристика, а обещание.
Закрытая конфигурация — это прочерк. У двух моделей каталога веса под воротами, и полной потребности мы не знаем. Прочерк здесь точнее правдоподобного числа.