Память и контекст

Как понять, какая модель влезет в вашу RAM, и почему «длинный контекст» съедает память быстрее, чем кажется.

← Локальные модели

🇬🇧 English version: memory-and-context.md


Что влезет в вашу RAM

Реальная формула: macOS резервирует ~6–10 GB. Доступно для модели = Общая RAM − 8 GB (в среднем).
Правило 60%: держите размер модели ≤ 60% от общей RAM для стабильной работы без swap.

RAM Доступно Комфортные модели (Q4) Впритык (будет swap)
8 GB ~3–4 GB 0.8B–3B 7B Q4 — 0.4 tok/s
16 GB ~8–10 GB 3B–8B Q4/Q5 9B Q4, 14B Q4 — тесно
24 GB ~14–17 GB 7B–14B 32B Q4 — впритык
32 GB ~22–25 GB 14B–32B Q4 70B Q3 (сильные потери)
48 GB ~38–42 GB 20B–40B Q4 70B Q4 — тесно
64 GB ~54–58 GB 32B–70B Q4 70B Q5/Q6
128 GB ~118–122 GB 70B+ Q4–Q8 120B+ Q4

Что будет при swap: генерация падает до 0.3–2.2 tok/s. На M1 8 GB 8B-модель выдаёт 0.4 tok/s — в 200× медленнее cloud API.
Проверка: ollama ps показывает занятую память. Если Memory (MB) близко к RAM → закрывайте приложения или берите модель меньше.


Контекст по умолчанию (тихий пожиратель памяти)

Ollama автоматически выбирает num_ctx в зависимости от VRAM вашего Mac:

VRAM num_ctx Примеры чипов
< 23 GB 4096 M1/M2/M3/M4 16 GB — ваш случай
23–47 GB 32768 M1/M2/M3/M4 24–36 GB
≥ 47 GB 262144 M1/M2/M3/M4 48 GB+

Если вы не задаёте num_ctx явно, на M1 16 GB контекст всего 4096 токенов. Для чата это маловато (≈2–3 страницы текста). Чтобы увеличить:

# Через API
curl http://localhost:11434/api/chat -d '{
  "model": "qwen3.5:4b",
  "messages": [{"role": "user", "content": "Привет!"}],
  "options": {"num_ctx": 8192}
}'

# Или через Modelfile
ollama create my-model -f - << 'EOF'
FROM qwen3.5:4b
PARAMETER num_ctx 8192
EOF

Правило: каждый токен контекста ≈ 0.5–2 MB KV cache на модель. Увеличение num_ctx с 4096 до 8192 — это ещё ~4–16 MB.


Расход KV cache (скрытый потребитель памяти)

Даже если веса модели влезают, длинный контекст съедает RAM через KV cache. Вот сколько памяти уходит сверху:

Контекст 8B модель 32B Q4 70B Q4
4K +0.6 GB +1.5 GB +2.5 GB
32K +5 GB +12 GB +20 GB
128K +20 GB +48 GB +80 GB

Решение: используйте KV cache квантизацию + flash attention:

  • OLLAMA_KV_CACHE_TYPE=q8_0 — 2× экономия (хорошее качество)
  • OLLAMA_KV_CACHE_TYPE=q4_0 — 4× экономия (небольшая потеря качества, но контекст влезает)
  • OLLAMA_FLASH_ATTENTION=1 — дополнительная экономия + ускорение (экспериментально)
  • Комбинация q4_0 + flash attention даёт до 5× меньше памяти на KV cache

Подробнее о TurboQuant и форматах — в quantization.md.


Рекомендации по железу

8 GB RAM — только маленькие модели (<4B)

# Модель Вес (Q4) Почему
1 Phi-4-mini 2.5 GB Лучший reasoner, MIT, 128K
2 Qwen3.5-4B 2.8 GB Лучший coding в этом классе
3 Llama 3.2 3B 2.0 GB Самый быстрый, 128K
4 Gemma 3 4B 2.5 GB Multimodal (vision!)

16 GB RAM — универсальный вариант

# Модель Запуск Вес (Q4) tok/s (M1) Почему
1 Qwen 2.5 Coder 7B ollama run qwen2.5-coder:7b 4.7 GB 22–25 Лучший кодер с FIM
2 Qwen 3.5 9B ollama run qwen3.5:9b 6.6 GB 10–13 Лучший general-purpose
3 Phi-4 (14B) ollama run phi4:14b 9.1 GB 8–11 MMLU 84.8%, тесно но работает
4 DeepSeek R1 Distill 14B ollama run deepseek-r1:14b 9.0 GB 8–10 Reasoning
5 Llama 3.1 8B ollama run llama3.1:8b 4.9 GB 14–18 Проверенная классика

Как узнать точный размер модели: ollama run <model> или откройте страницу модели на ollama.com/search — там колонка Size.

24–32 GB RAM

# Модель Вес (Q4) Почему
1 Qwen3.6-27B ~17 GB Лучшая coding модель, SWE-bench 77.2%
2 Gemma 4 26B A4B MoE ~14 GB 97% качества 31B, Apache 2.0
3 Qwen3-Coder-30B-A3B ~19 GB MoE coding, 256K
4 DeepSeek R1 Distill 32B ~20 GB Reasoning

48–64 GB RAM

# Модель Вес (Q4) Почему
1 Llama 3.3 70B ~40 GB Мощный general-purpose
2 Qwen3.5-397B-A17B ~48 GB Флагман, Apache 2.0
3 Llama 4 Maverick ~48 GB Multimodal, 1M контекст

Полный каталог с альтернативами — в catalog.md. Рекомендации по задачам — в models.md.


Что дальше

Если хотите Переходите
Выбрать конкретную модель под свою задачу models.md
Полный каталог всех моделей catalog.md
Настроить Ollama под своё железо advanced-setup.md
Разобраться с квантизацией (Q4, Q5, Q8) quantization.md
Вернуться к выбору сценария README.md

В разделе: getting-started · running-models · models · catalog · quantization · memory-and-context · tools · advanced-setup · troubleshooting · apple-silicon
Связанные разделы: Нулевой уровень · AI-агенты · Use Cases
Навигация: ← Локальные модели · ↑ На главную · 🇬🇧 English