

























今天在 GitHub Trending 上看到一个很有意思的项目:LMCache,一个 KV Cache 管理中间层,能够把 GPU 显存里的中间结果持久化出来复用,显著降低 TTFT(首 Token 延迟)和提升吞吐,特别适合长上下文和多轮 Agentic 场景。
LMCache 定位为 LLM 推理的服务层基础设施,核心思路是把 KV Cache 从"推理引擎的临时状态"转化为"可持久化存储、可跨引擎复用、可观测、可变换的 AI 原生知识"。
项目主要特点:
LMCache 采用 Daemon + Plugin 架构:
┌─────────────────────────────────────────────────────────┐
│ LLM Serving Engine │
│ (vLLM / Dynamo / SGLang / TGI / ...) │
└──────────────────────┬──────────────────────────────────┘
│ LMCache Connector
┌──────────────────────▼──────────────────────────────────┐
│ LMCache Daemon │
│ ┌─────────────┐ ┌──────────────┐ ┌───────────────┐ │
│ │ Storage Mgr │ │ KV Transforms│ │ Observability │ │
│ └──────┬──────┘ └──────┬───────┘ └───────┬───────┘ │
│ │ │ │ │
│ ┌──────▼────────────────▼───────────────────▼───────┐ │
│ │ Storage Backend Interface │ │
│ │ (CPU RAM / SSD / Redis / Mooncake / S3 / ...) │ │
│ └────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
核心源码在 lmcache/v1/ 目录下,包含存储管理、连接器、Serde(序列化/反序列化)等核心模块。
Tiered Storage:KV Cache 从 GPU 显存卸载到分层存储(CPU RAM → SSD → Remote),通过 LRU/TTL 策略管理各层容量。
Non-prefix KV Reuse:基于 CacheBlend 论文(EuroSys 2025),不仅复用前缀,还能在 Prompt 任意位置复用 KV Cache,对不能命中的 Token 用 CacheBlend 选择性重计算来保证生成质量。
Serde Interface:统一的序列化/反序列化接口,支持自定义压缩、Token Dropping 等变换策略:
# Serde 接口示意(基于 README 中描述的 pluggable interface)
class KVSerde:
def serialize(self, kv_cache) -> bytes:
...
def deserialize(self, data: bytes) -> kv_cache:
...
LMCache 的 GPU 扩展通过 PyTorch C++ Extension 编译,支持多种后端:
# setup.py 核心逻辑(简化)
ext_modules = []
if not NO_NATIVE_EXT:
# 纯 C++ 通用扩展
ext_modules.extend(_common_cpp_extensions())
# GPU 后端(互斥,只能选一)
if BUILD_WITH_SYCL:
ext_modules.extend(sycl_extension()) # Intel XPU
elif BUILD_WITH_HIP:
ext_modules.extend(rocm_extension()) # AMD ROCm
elif BUILD_WITH_MUSA:
ext_modules.extend(musa_extension()) # 摩尔线程
else:
ext_modules.extend(cuda_extension()) # NVIDIA CUDA
CUDA 架构支持范围非常广:7.5 (T4) → 12.0 (RTX 50),确保各类 GPU 均能受益。
从源码编译(启用全部 GPU 扩展):
git clone https://github.com/LMCache/LMCache.git
cd LMCache
pip install -e . --no-build-isolation
安装完成后,有三个命令行工具可用:
# 启动 LMCache Server(管理 KV Cache 的 Daemon 进程)
lmcache_server
# 启动 LMCache Controller(API 服务)
lmcache_controller
# CLI 工具
lmcache --help
配合 vLLM 使用示例:
pip install lmcache vllm
# vLLM 会自动通过 connector 与 LMCache Daemon 通信
更多配置和部署方案请参考 官方文档。
LMCache 已深度融入 LLM 推理生态,是 PyTorch Foundation 官方项目:
2026 年 GTC 也有相关展示,已成为分布式推理领域的基础设施层。
LMCache 填补了 LLM 推理中 KV Cache 无法复用 的关键空白——它通过标准化的 Daemon + 插件架构,将 KV Cache 管理从推理引擎中解耦出来,既保证了稳定性(引擎崩溃不影响 Cache),又实现了跨请求、跨会话、跨引擎的复用。结合 CacheBlend 等学术研究成果,在长上下文 RAG 和多轮 Agentic 场景中有着明显的性能优势。
如果你正在做 LLM 推理优化,或需要处理长上下文场景,LMCache 是一个值得深入了解的项目。
项目地址:https://github.com/LMCache/LMCache 官方文档:https://docs.lmcache.ai/ 博客(含深度技术文章):https://blog.lmcache.ai/
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。