Что такое контекст и сколько VRAM он ест
Контекст — всё, что модель «видит» прямо сейчас: системный промпт, история диалога, приложенные файлы. Его длина ограничена (8K–128K+ токенов у разных моделей), и каждая порция контекста живёт в VRAM как KV-кэш: при Q8-кванте кэша это ≈ 0.008 ГБ на 1K токенов на 1 млрд параметров (FP16-кэш — вдвое больше). Для 8B это «копейки» даже на 32K, для 70B на 128K — уже ≈ 7 ГБ сверх весов.
KV-кэш, ГБ (Q8; для FP16-кэша — ×2)
| Модель \ контекст | 8K токенов | 16K токенов | 32K токенов | 64K токенов | 128K токенов |
|---|---|---|---|---|---|
| 7B | 0.5 | 0.9 | 1.8 | 3.7 | 7.3 |
| 14B | 0.9 | 1.8 | 3.7 | 7.3 | 15 |
| 70B | 4.6 | 9.2 | 18 | 37 | 73 |
Оценка: 0.008 ГБ на 1K токенов на 1B параметров (Q8 KV-кэш), наша модельная оценка (не бентчмарк), методика modelfit.io (CC BY 4.0). К этим цифрам добавляются сами веса модели — см. гид по квантам.
Как не «съесть» VRAM контекстом
- Q8 (или Q4) KV-кэш вместо FP16 — вдвое дешевле VRAM, для большинства задач качество не проседает.
- Сокращайте историю: «сжатие» длинных диалогов в саммари — контекст уезжает из VRAM.
- Отдавайте KV в CPU-память (llama.cpp/Ollama умеют): медленнее, но длинный контекст встаёт.
- Не гонитесь за 128K «на всякий случай»: для большинства задач 8–32K достаточно; длинный контекст = и VRAM, и заметная просадка скорости (кэш растёт линейно).
Рядом