Контекст 64к на 24 гигах: KV-кэш жрет больше половины VRAM. Как вы это разруливаете?

Рейтинг: 52.9% · 8 голосов
Запуск больших языковых моделей локально: Llama, Mistral, Qwen, DeepSeek, Gemma. Квантизация GGUF, Ollama, llama.cpp, vLLM, LM Studio, выбор GPU и оптимизация инференса.
Ответить
Аватара пользователя
armstron
Сообщения: 16
Зарегистрирован: 18 май 2026, 19:08

Контекст 64к на 24 гигах: KV-кэш жрет больше половины VRAM. Как вы это разруливаете?

Сообщение armstron »

Уперся в стену и не понимаю, как люди живут с длинным контекстом локально. 3090, 24 гига. Qwen3-32B в Q4_K_M весит около 19 гигов, влезает с запасом. Но стоит поставить -c 65536, llama.cpp радостно сообщает, что на KV-кэш нужно еще 16 гигов. Посчитал руками: 64 слоя, 8 kv-голов, head_dim 128, fp16, выходит 256 кб на токен. На 64к токенов ровно 16 гигов, все сходится.

Зачем мне 64к: скармливаю модели куски кодовой базы на ревью, 8-16к не хватает даже на пару файлов с зависимостями.

Видел флаги -ctk q8_0 -ctv q8_0, это режет кэш вдвое. Вопрос к тем, кто реально гоняет: насколько просаживается качество? Особенно интересует q4_0 на value, там вообще в 4 раза экономия. И обязателен ли -fa, без него вроде квантование кэша не работает.

llama.cpp b7900, если важно.
👍3 ❤️ 🔥 😄 🤔
✔ Лучший ответ сформирован автоматически — corvet
rabbit8 писал(а):64к в лоб это самый дорогой и самый тупой способ смотря какая задача. для ревью пулреквеста агент с грепом норм, а вот найти дублирование логики по трем модулям или несостыковку контрактов между сервисами агент с repo map не вывозит, проверял. там нужен именно широкий контекст. ТС, по делу: бери -ctk q8_0 -ctv q8_0 -fa, это 8 гигов вместо 16, влезешь впритык. Хочется запаса, выгр…
Перейти к ответу →
Аватара пользователя
pkdunn8
Сообщения: 18
Зарегистрирован: 12 май 2026, 19:25

Re: Контекст 64к на 24 гигах: KV-кэш жрет больше половины VRAM. Как вы это разруливаете?

Сообщение pkdunn8 »

@armstron, q8_0 на оба гоняю месяцев восемь, разницы с fp16 не увидел ни разу, даже на длинных ревью. q4_0 на K не вздумай, на V еще терпимо. И да, -fa обязателен, без flash attention квантованный V-кэш просто не заведется.
👍1 ❤️2 🔥 😄1 🤔
Аватара пользователя
elixir1337
Сообщения: 18
Зарегистрирован: 11 май 2026, 03:21

Re: Контекст 64к на 24 гигах: KV-кэш жрет больше половины VRAM. Как вы это разруливаете?

Сообщение elixir1337 »

подпишусь под q8, но добавлю ложку дегтя. на 64к у тебя проблема не в кэше, а в том что 32B после 30-35к контекста начинает тупеть независимо от квантования. в карточке написано 128к, по факту retrieval еще работает, а рассуждать над всем этим объемом модель уже не может. кидаешь ей 50к кода, она ревьюит первые и последние файлы, середину пролистывает. так что 16 гигов на кэш это плата за цифру в конфиге, а не за реальное качество
👍 ❤️ 🔥 😄 🤔
Аватара пользователя
ralfalfa
Сообщения: 5
Зарегистрирован: 15 май 2026, 09:06

Re: Контекст 64к на 24 гигах: KV-кэш жрет больше половины VRAM. Как вы это разруливаете?

Сообщение ralfalfa »

elixir1337 писал(а):32B после 30-35к контекста начинает тупеть независимо от квантования
ну не настолько все плохо. гонял needle-тесты на Qwen3-32B до 80к, иголки находит стабильно, по всей глубине. согласен что глобальное рассуждение над 60к кода проседает, но для ревью обычно и не надо держать все в голове сразу, надо найти косяк в конкретном месте и сверить с соседними файлами. это ближе к retrieval, и это работает. другое дело что prompt processing на 64к у ТС займет минуты полторы на 3090, вот это реально бесит
👍 ❤️3 🔥1 😄 🤔
Аватара пользователя
rabbit8
Сообщения: 41
Зарегистрирован: 13 май 2026, 08:48

Re: Контекст 64к на 24 гигах: KV-кэш жрет больше половины VRAM. Как вы это разруливаете?

Сообщение rabbit8 »

а зачем вообще пихать кодовую базу целиком? у любого нормального агентского клиента есть grep и чтение файлов по запросу, aider тот же строит repo map на пару тысяч токенов. 64к в лоб это самый дорогой и самый тупой способ. ощущение что задача высосана из пальца
👍 ❤️ 🔥1 😄 🤔
Аватара пользователя
corvet
Сообщения: 38
Зарегистрирован: 16 май 2026, 06:36

Re: Контекст 64к на 24 гигах: KV-кэш жрет больше половины VRAM. Как вы это разруливаете?

Сообщение corvet »

✔ Лучший ответ — сформирован автоматически
rabbit8 писал(а):64к в лоб это самый дорогой и самый тупой способ
смотря какая задача. для ревью пулреквеста агент с грепом норм, а вот найти дублирование логики по трем модулям или несостыковку контрактов между сервисами агент с repo map не вывозит, проверял. там нужен именно широкий контекст.

ТС, по делу: бери -ctk q8_0 -ctv q8_0 -fa, это 8 гигов вместо 16, влезешь впритык. Хочется запаса, выгрузи пару слоев на CPU через -ngl, на генерации потеряешь процентов десять. И кэш промпта включи, --cache-reuse 256, чтобы при повторных запросах по той же базе не пересчитывать все с нуля.
👍 ❤️1 🔥 😄 🤔
Ответить
Поделиться темой: ✈ Telegram VK

Вернуться в «Локальные LLM и open-source модели»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость