Repolode
LMCache

LMCache/LMCache

Слой управления KV-кэшем, который хранит, передаёт и повторно использует кэши внимания LLM между serving-движками, сокращая время до первого токена.

Звёзды
12,128
Форки
2,187
Открытые issues
878
Последний коммит
6 часов назад

Что это?

LMCache располагается между движками инференса LLM и хранилищем и управляет key-value-кэшем (KV-кэшем), который модели формируют при обработке промптов. Вместо повторного вычисления prefill для уже обработанного текста он выгружает блоки KV из памяти GPU в иерархию уровней хранения — память CPU, локальный диск и удалённые бэкенды — а затем повторно использует их между запросами, сессиями и экземплярами движков. Цель проекта — сократить время до первого токена и увеличить пропускную способность, особенно при работе с длинным контекстом, многошаговыми диалогами с агентами и генерацией с дополнением из найденных данных.

LMCache работает как отдельный daemon, поэтому кэш сохраняется, даже если процесс движка инференса аварийно завершается. Проект не привязан к конкретному вендору и интегрируется с популярными serving-движками, например vLLM. Хранилища и транспортные механизмы подключаются через плагины: среди поддерживаемых бэкендов указаны RAM CPU, SSD, Redis/Valkey, Mooncake, объектные хранилища с совместимостью с S3, NIXL и GDS. Также поддерживается раздельное выполнение prefill и decode с передачей KV по NVLink, RDMA или TCP.

Проект предоставляет метрики наблюдаемости для KV-кэша, включая долю попаданий в кэш префиксов, а также интерфейс SERDE для экспериментов со сжатием, удалением токенов и пользовательской сериализацией. LMCache можно установить с помощью pip.

Ключевые возможности

  • 01Выгружает KV-кэш из памяти GPU на CPU, локальный диск и удалённые уровни хранения.
  • 02Работает как отдельный daemon и сохраняет кэш, если движок инференса аварийно завершается.
  • 03Повторно использует блоки KV между запросами, сессиями и экземплярами движков.
  • 04Поддерживает повторное использование KV не только по префиксу с помощью CacheBlend.
  • 05Передаёт KV-кэш между узлами prefill и decode по NVLink, RDMA или TCP.
  • 06Предоставляет метрики на уровне KV-кэша, например число попаданий в кэш префиксов.

Сценарии использования

  • Ускорение многошаговых диалогов и задач с агентами, в которых повторно используется длинный контекст.
  • Сокращение TTFT при генерации с дополнением из найденных данных, когда одни и те же документы встречаются повторно.
  • Совместное использование пула KV-кэша несколькими экземплярами vLLM в кластере.
  • Запуск serving-систем с раздельным выполнением prefill и decode и передачей KV-кэша.

Быстрый старт

  1. 1

    Установите lmcache из PyPI с помощью pip

    pip install lmcache
  2. 2

    Ознакомьтесь с руководством Quickstart в документации, чтобы узнать о настройке и посмотреть примеры

Что важно знать

  • Для эффективного использования требуется среда с GPU-системой serving, поэтому решение ориентировано на развертывание инференса на GPU.
  • При развертывании нужно выбрать backend хранилища и serving engine, поэтому потребуется выполнить некоторую настройку.

Темы

Частые вопросы

Что такое LMCache?
Слой управления KV-кэшем, который хранит, передаёт и повторно использует кэши внимания LLM между serving-движками, сокращая время до первого токена. LMCache располагается между движками инференса LLM и хранилищем и управляет key-value-кэшем (KV-кэшем), который модели формируют при обработке промптов. Вместо повторного вычисления prefill для уже обработанного текста он выгружает блоки KV из памяти GPU в иерархию уровней хранения — память CPU, локальный диск и удалённые бэкенды — а затем повторно использует их между запросами, сессиями и экземплярами движков. Цель проекта — сократить время до первого токена и увеличить пропускную способность, особенно при работе с длинным контекстом, многошаговыми диалогами с агентами и генерацией с дополнением из найденных данных.
LMCache можно использовать бесплатно? Какая у него лицензия?
LMCache распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
LMCache всё ещё поддерживается?
Активно поддерживается. Последний коммит в LMCache — 20 окт. 2026 г..
Для чего можно использовать LMCache?
Ускорение многошаговых диалогов и задач с агентами, в которых повторно используется длинный контекст. Сокращение TTFT при генерации с дополнением из найденных данных, когда одни и те же документы встречаются повторно. Совместное использование пула KV-кэша несколькими экземплярами vLLM в кластере. Запуск serving-систем с раздельным выполнением prefill и decode и передачей KV-кэша.
Как установить LMCache?
Установите lmcache из PyPI с помощью pip: pip install lmcache Ознакомьтесь с руководством Quickstart в документации, чтобы узнать о настройке и посмотреть примеры
Где скачать LMCache?
Исходный код и инструкции по установке — на GitHub: https://github.com/LMCache/LMCache

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

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