Библиотека Python от NVIDIA для сжатия KV-кэша LLM во время инференса с множеством подключаемых методов на базе Hugging Face transformers.
Zefan-Cai/KVCache-Factory
Единая исследовательская среда для сравнения сжатия, извлечения, объединения и квантования KV-кэша при инференсе LLM с длинным контекстом.
- Звёзды
- 1,394
- Форки
- 181
- Открытые issues
- 4
- Последний коммит
- 3 месяца назад
Что это?
KVCache-Factory объединяет несколько методов работы с KV-кэшем авторегрессионных LLM и предоставляет для них единый интерфейс оценки. Проект вырос из кодовой базы PyramidKV и теперь включает такие базовые методы, как StreamingLLM, H2O, SnapKV, Quest, MiniCache, AdaKV и HeadKV, а также не теряющий данные способ выгрузки HeadInfer, который сохраняет кэш целиком.
Проект предназначен для инференса с длинным контекстом, при котором KV-кэш растёт вместе с длиной промпта и занимает большую часть памяти GPU. Пользователь выбирает метод и бюджет кэша для каждого слоя с помощью флагов командной строки, а затем запускает оценку на LongBench, RULER или тесте «иголка в стоге сена», чтобы сравнить точность. В комплект входит скрипт для измерения задержки и использования памяти при декодировании.
Наиболее полно поддерживаются модели Llama и Mistral. Для некоторых новых методов доступно меньше вариантов запуска, а версия transformers зафиксирована на 4.44.2, поскольку патчи для механизмов внимания зависят от неё.
Ключевые возможности
- 01Объединяет методы сжатия, извлечения, объединения и квантования в одном интерфейсе.
- 02Запускает оценку на LongBench, RULER и тесте «иголка в стоге сена» с настраиваемым бюджетом кэша.
- 03Включает HeadInfer — не теряющий данные метод выгрузки кэша на CPU по головам, сохраняющий кэш целиком.
- 04Предоставляет скрипт для измерения задержки и пикового использования памяти при декодировании.
- 05Поддерживает реализации внимания FlashAttention v2 и SDPA.
Сценарии использования
- Сравнение методов сжатия KV-кэша на бенчмарках для длинного контекста.
- Воспроизведение экспериментов с PyramidKV и другими методами распределения бюджета кэша.
- Измерение компромисса между потреблением памяти и задержкой для стратегий работы с KV-кэшем на одной GPU.
- Создание прототипа нового метода работы с KV-кэшем и сравнение с существующими базовыми методами.
Быстрый старт
- 1
Клонируйте репозиторий
git clone https://github.com/Zefan-Cai/KVCache-Factory.git - 2
Перейдите в каталог проекта
cd KVCache-Factory - 3
Установите зависимости
pip install -r requirements.txt - 4
Укажите корневой каталог проекта в качестве пути Python
export PYTHONPATH="$PWD:${PYTHONPATH}"
Что важно знать
- Для основных запусков оценки требуется локальная модель Llama или Mistral и GPU.
- Версия transformers зафиксирована на 4.44.2, а attention-патчи зависят от версии.
- Для некоторых новых методов поддержка runner и моделей более ограничена.
- Пакетный инференс не поддерживается; eval_batch_size должен оставаться равным 1.
Темы
Частые вопросы
- Что такое KVCache-Factory?
- Единая исследовательская среда для сравнения сжатия, извлечения, объединения и квантования KV-кэша при инференсе LLM с длинным контекстом. KVCache-Factory объединяет несколько методов работы с KV-кэшем авторегрессионных LLM и предоставляет для них единый интерфейс оценки. Проект вырос из кодовой базы PyramidKV и теперь включает такие базовые методы, как StreamingLLM, H2O, SnapKV, Quest, MiniCache, AdaKV и HeadKV, а также не теряющий данные способ выгрузки HeadInfer, который сохраняет кэш целиком.
- KVCache-Factory можно использовать бесплатно? Какая у него лицензия?
- KVCache-Factory распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- KVCache-Factory всё ещё поддерживается?
- Обновлялся за последние 6 месяцев. Последний коммит в KVCache-Factory — 13 авг. 2026 г..
- Для чего можно использовать KVCache-Factory?
- Сравнение методов сжатия KV-кэша на бенчмарках для длинного контекста. Воспроизведение экспериментов с PyramidKV и другими методами распределения бюджета кэша. Измерение компромисса между потреблением памяти и задержкой для стратегий работы с KV-кэшем на одной GPU. Создание прототипа нового метода работы с KV-кэшем и сравнение с существующими базовыми методами.
- Как установить KVCache-Factory?
- Клонируйте репозиторий: git clone https://github.com/Zefan-Cai/KVCache-Factory.git Перейдите в каталог проекта: cd KVCache-Factory Установите зависимости: pip install -r requirements.txt Укажите корневой каталог проекта в качестве пути Python: export PYTHONPATH="$PWD:${PYTHONPATH}"
- Где скачать KVCache-Factory?
- Исходный код и инструкции по установке — на GitHub: https://github.com/Zefan-Cai/KVCache-Factory
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Python-библиотека для сжатия LLM с помощью квантования и прунинга, создающая чекпойнты, которые vLLM загружает напрямую для инференса.
Инструментарий для квантования больших языковых моделей (GPTQ, AWQ, GGUF, FP8, EXL3 и другие) и запуска на оборудовании NVIDIA, AMD, Intel, Apple и CPU.
Python-фреймворк для сжатия нейросетей с помощью квантования, прореживания и разреживания, ускоряющий инференс в OpenVINO, PyTorch и ONNX.
Нативный для edge-устройств движок для инференса MoE-моделей с открытыми весами, например DeepSeek-V4 и Qwen3.6, на потребительских GPU и CPU.
Библиотека NVIDIA с открытым исходным кодом для сжатия моделей глубокого обучения с помощью квантования, pruning, дистилляции, разреженности и спекулятивного декодирования, ускоряющих инференс.