BeeLlama.cpp v0.4.0: улучшенная квантизация KV-кеша с точным хвостом для последних токенов
Выпущен форк llama.cpp с продвинутыми функциями квантизации KV-кеша: улучшенный KVarN (нормализованная по дисперсии квантизация), «хвост высокой точности» для недавних токенов и дополнительные уровни сжатия q2_0-q6_1. Позволяет тонко балансировать между точностью модели и расходом VRAM, особенно для больших контекстов.
Для работы с большими моделями (27B+) на потребительском железе это критично: можно втиснуть 64k контекст в ограниченную VRAM без катастрофической потери точности. Precision tail особенно важен для задач с кодом, данными и точными инструкциями.
Новая версия форка llama.cpp с умной квантизацией памяти
BeeLlama.cpp v0.4.0 — серьёзное обновление популярного форка llama.cpp, сфокусированное на продвинутой квантизации KV-кеша. Разработчик переосмыслил архитектуру: убрал устаревшие функции (DFlash, TurboQuant, TCQ), которые либо вошли в основную ветку, либо не оправдали себя в бенчмарках, и сосредоточился на том, что реально улучшает соотношение точность/память.
Ключевые возможности
KVarN (Variance-normalized quantization) — квантизация с нормализацией по дисперсии, дающая лучшую точность на бит по сравнению со стандартными методами. В v0.4.0 механизм доработан: устранены проблемы с производительностью и скачками потребления VRAM. Для большинства моделей готов к продакшену (кроме SWA-архитектур типа Gemma).
KV cache precision tail — прорывная фича смешанной точности. Позволяет хранить N последних токенов в BF16/F16 без потерь, а остальной кеш квантизовать агрессивно. Это критично для точного понимания свежего контекста (код, данные, инструкции), но без взрыва VRAM. Бенчмарки показывают резкое снижение KL-дивергенции при использовании хвоста в 1024-2048 токенов.
Расширенная палитра квантизации: добавлены q2_0-q3_1 для экстремального сжатия и q6_0/q6_1 для тонкой настройки между q5 и q8.
Результаты
Для Qwen 3.6 27B с хвостом 1024 токена: q2_0 снижает KLD на 76%, q3_0 на 67%, q4_0 на 43%. KVarN3 показывает снижение на 27% при хвосте 1024 и 12% при 2048. Даже агрессивная q3_0 с хвостом становится близка по точности к q5_0 без хвоста.
Релиз сопровождается подробной статьёй с полными бенчмарками на Qwen 3.6 27B и Gemma 4 31B.
Ключевые выводы
- KV cache precision tail решает проблему потери точности на критичных последних токенах без взрыва VRAM — хранение 1024-2048 последних токенов в BF16 даёт 40-76% снижение KLD для низких квантов
- KVarN демонстрирует лучшую точность на бит по сравнению со стандартной квантизацией: kvarn3 близок к q4_0 по точности, но экономит память
- Даже экстремальные кванты q2_0-q3_1 становятся практически пригодны для использования благодаря precision tail
- Разработчик убрал TurboQuant и собственную реализацию DFlash после объективных бенчмарков — редкий пример отказа от своих решений в пользу доказанно лучших
Автор: Марина Соколова · Источник: reddit.com
**Это один из тех редких апдейтов, где разработчик честно убил свои фичи после бенчмарков.** TurboQuant не дал обещанной точности — удалён. DFlash вошёл в основную ветку — собственная реализация больше не нужна. Уважение за объективность.
**Precision tail — вот где реальная магия.** Идея проста: свежие токены (твоя задача, код, данные) хранятся идеально, а старый контекст сжат. Результат: q3 с хвостом работает почти как q5 без него. Для реальных задач с длинным контекстом это game changer — особенно для тех, кто запускает 27B+ модели на 24GB карте. Пока не работает идеально с Gemma (SWA), но для Qwen/Llama уже можно пробовать.
Комментарии