Repolode
Zefan-Cai

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. 1

    Клонируйте репозиторий

    git clone https://github.com/Zefan-Cai/KVCache-Factory.git
  2. 2

    Перейдите в каталог проекта

    cd KVCache-Factory
  3. 3

    Установите зависимости

    pip install -r requirements.txt
  4. 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 обновляется ежедневно.

Похожие проекты

Библиотека NVIDIA с открытым исходным кодом для сжатия моделей глубокого обучения с помощью квантования, pruning, дистилляции, разреженности и спекулятивного декодирования, ускоряющих инференс.

5,6 тыс.+76 за неделю803PythonApache-2.0Обновлён 4 часа назад