
Коротко
Видеопамять при запуске языковой модели уходит на три вещи:
- Веса модели. Зависят от числа параметров и формата хранения.
- KV-кэш. Память под контекст, растёт с длиной диалога и числом одновременных запросов.
- Служебные буферы движка инференса. Под них оставляют запас.
При обучении добавляются градиенты и состояния оптимизатора, и памяти нужно в разы больше. Ниже — формулы и расчёт на реальных конфигурациях моделей.
1. Веса модели
Формула простая:
память под веса ≈ число параметров × байт на параметр
| Формат | Байт на параметр | 27B-модель | 70B-модель |
|---|---|---|---|
| FP16 / BF16 | 2 | ≈ 54 ГБ | ≈ 140 ГБ |
| 8 бит (INT8, FP8, Q8_0) | ≈ 1 | ≈ 27 ГБ | ≈ 70 ГБ |
| 4 бита (Q4, AWQ, GPTQ) | ≈ 0,5 + служебные данные | ≈ 15–18 ГБ | ≈ 35–43 ГБ |
4-битные форматы на практике занимают чуть больше 0,5 байта на параметр: вместе с весами хранятся масштабы квантования, а часть слоёв часто оставляют в большей точности. Поэтому точнее всего ориентироваться на размер файла модели. Например, в библиотеке Ollama llama3.3:70b весит 43 ГБ, а qwen3.6:27b — 18 ГБ.
2. KV-кэш: память под контекст
Когда модель обрабатывает текст, для каждого токена на каждом слое внимания она сохраняет ключи (K) и значения (V). Это и есть KV-кэш. Формула:
KV-кэш на токен = 2 × число слоёв с вниманием × число KV-голов × размер головы × байт на значение
Все числа берутся из файла config.json модели на Hugging Face: num_hidden_layers, num_key_value_heads, head_dim.
Пример 1: Llama 3.3 70B. В конфигурации 80 слоёв, 8 KV-голов, размер головы 128. В FP16:
2 × 80 × 8 × 128 × 2 байта = 327 680 байт ≈ 0,31 МБ на токен.
| Длина контекста | KV-кэш (FP16) |
|---|---|
| 8 192 токена | ≈ 2,5 ГБ |
| 32 768 токенов | ≈ 10 ГБ |
| 131 072 токена (максимум модели) | ≈ 40 ГБ |
Полный контекст Llama 3.3 требует под кэш почти столько же памяти, сколько сама модель в 4 битах.
Пример 2: Qwen3.6-27B. Эта модель гибридная: из 64 слоёв только 16 используют классическое полное внимание, а остальные 48 — линейное, которое не хранит кэш на каждый токен. Считаем только по 16 слоям: 4 KV-головы, размер головы 256.
2 × 16 × 4 × 256 × 2 байта = 65 536 байт = 64 КБ на токен, то есть в 5 раз меньше, чем у Llama 3.3 70B. Контекст в 32 768 токенов займёт около 2 ГБ.
Отсюда практический вывод: у современных моделей память под контекст может отличаться в разы при похожем размере. Считайте по конфигурации конкретной модели, а не «на глаз».
Параллельные запросы. KV-кэш нужен каждому одновременному запросу. Если сервер обслуживает 4 запроса с контекстом 8 000 токенов, памяти под кэш нужно столько же, сколько одному запросу на 32 000 токенов.
3. Как сэкономить память на инференсе
- Квантование весов. 4 бита вместо 16 уменьшают веса примерно в 3–4 раза. Для большинства задач потеря качества невелика, но проверяйте на своих данных.
- Квантование KV-кэша. В Ollama переменная
OLLAMA_KV_CACHE_TYPE=q8_0уменьшает кэш примерно вдвое по сравнению сf16. По документации Ollama, потеря точности при этом очень небольшая. В vLLM есть FP8-кэш. - Ограничение контекста. Если задачам хватает 8–16 тысяч токенов, не выставляйте максимум модели. В vLLM это параметр
--max-model-len, в Ollama —num_ctx. - Выгрузка в оперативную память. Ollama и llama.cpp умеют держать часть слоёв в RAM. Модель поместится, но будет работать медленнее.
- Несколько видеокарт. Модель делится между картами, память суммируется, но часть скорости уходит на обмен данными. Пример с двумя RTX 4090 разобран в отдельной статье.
Запас. Движку инференса нужна память под служебные буферы и промежуточные вычисления. Их объём зависит от движка и настроек, поэтому не планируйте загрузку видеокарты под 100%, оставляйте запас.
4. Обучение и дообучение
При полном обучении памяти нужно намного больше, чем при запуске. В работе о ZeRO (Rajbhandari и соавт., Microsoft) посчитано: при обучении со смешанной точностью и оптимизатором Adam на каждый параметр приходится 16 байт:
- 2 байта — веса в FP16;
- 2 байта — градиенты в FP16;
- 12 байт — состояния оптимизатора в FP32 (копия весов, первый и второй моменты).
Для 7B-модели это около 112 ГБ без учёта активаций, то есть больше, чем есть на одной видеокарте. Поэтому полное обучение даже небольших моделей делают на нескольких GPU с распределением состояний (ZeRO, FSDP).
Дообучение через адаптеры (LoRA, QLoRA) требует гораздо меньше памяти: обучается только небольшое число дополнительных параметров, а основная модель заморожена. В QLoRA основную модель вдобавок хранят в 4 битах. Авторы QLoRA показали дообучение 65B-модели на одной видеокарте с 48 ГБ памяти.
Быстрая шпаргалка
- Веса: число параметров × байт на параметр, или просто размер файла модели.
- Кэш: формула выше × длина контекста × число параллельных запросов.
- Сложите и добавьте запас под буферы движка.
- Не помещается — квантуйте веса и кэш, ограничьте контекст или добавьте видеокарту.
Какие модели для кода помещаются в 8, 12, 16 и 24 ГБ, мы разбирали в статье о лучших локальных LLM для программирования. Если нужна приватная LLM на своей инфраструктуре под задачи компании, посмотрите, как мы внедряем ИИ.
Читайте также. Какие модели помещаются в 6, 8, 12–16, 24 и 48+ ГБ — в подборке «Модели для Ollama и LM Studio»; какая версия DeepSeek влезет в вашу видеокарту — в статье «DeepSeek на ПК».
Вопросы и ответы
Сколько видеопамяти нужно, чтобы запустить Llama 3.3 70B? В 4 битах веса занимают около 35–43 ГБ, плюс KV-кэш: около 2,5 ГБ на 8 192 токена контекста в FP16. На полный контекст в 131 072 токена кэшу нужно около 40 ГБ.
Как посчитать память под контекст? KV-кэш на токен = 2 × число слоёв с вниманием × число KV-голов × размер головы × байт на значение. Числа берутся из config.json модели на Hugging Face; результат умножается на длину контекста и число параллельных запросов.
Как уменьшить расход видеопамяти без новой видеокарты? Квантовать веса до 4 бит, квантовать KV-кэш (в Ollama — OLLAMA_KV_CACHE_TYPE=q8_0), ограничить длину контекста или выгрузить часть слоёв в оперативную память ценой скорости.
Сколько памяти нужно для дообучения модели? Полное обучение с Adam требует около 16 байт на параметр — для 7B-модели это около 112 ГБ без активаций. Дообучение через LoRA и QLoRA требует во много раз меньше, потому что основная модель заморожена.
Источники
- Конфигурация Llama 3.3 70B Instruct: https://huggingface.co/meta-llama/Llama-3.3-70B-Instruct
- Конфигурация Qwen3.6-27B: https://huggingface.co/Qwen/Qwen3.6-27B
- Rajbhandari et al., ZeRO: Memory Optimizations Toward Training Trillion Parameter Models: https://arxiv.org/abs/1910.02054
- Dettmers et al., QLoRA: Efficient Finetuning of Quantized LLMs: https://arxiv.org/abs/2305.14314
- Ollama FAQ (квантование KV-кэша, контекст): https://docs.ollama.com/faq
- Библиотека Ollama: https://ollama.com/library
Внедряет ИИ и LLM в процессы компаний, разрабатывает платформы и чат-ботов. LinkedIn
Сколько видеопамяти нужно вашей модели
Объём служебных буферов зависит от движка и настроек, поэтому не планируйте загрузку видеокарты под 100%. Не помещается — квантуйте веса и кэш, сократите контекст или выгрузите часть слоёв в оперативную память ценой скорости. Формулы и примеры — в статье «Сколько видеопамяти нужно для LLM», отдельная страница калькулятора — здесь.
Внедрение ИИ и разработка чат-ботов для бизнеса
Внедряем LLM в процессы компании: AI-агенты, Telegram-боты, автоматизация на n8n, облачные и локальные модели на своей инфраструктуре.
от 60 000 ₽ · от 2 недель
Подробнее об услуге и стоимостиПохожая задача в вашем бизнесе?
Расскажите коротко — предложим путь от аудита до запуска. Можно без формальностей.


