Быстрая и эффективная по памяти библиотека и сервер для запуска и обслуживания больших языковых моделей через API, совместимый с OpenAI.
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
Установите lmcache из PyPI с помощью pip
pip install lmcache - 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 обновляется ежедневно.
Похожие проекты
SGLang — открытый фреймворк для инференса больших языковых и мультимодальных моделей, а также diffusion-моделей на GPU, TPU и CPU разных платформ.
Движок для инференса LLM и мультимодальных моделей на C/C++, работающий локально и в облаке на разных аппаратных платформах.
Библиотека для оптимизации глубокого обучения, упрощающая и ускоряющая распределённое обучение и инференс больших моделей.
Библиотека Python, которая запускает большие языковые модели послойно и позволяет выполнять инференс моделей класса 70B на одной GPU с 4 ГБ памяти без квантования.
Официальная реализация FlashAttention — точного и экономного по памяти attention-ядра для обучения и инференса Transformer-моделей на GPU.