kvmem/kvmem
KVMem virtualizes KV memory across inference backends to make ultra-long-context local AI accessible on limited hardware.
解决的问题
KVMem 通过在受限的 GPU 工作集中管理对话历史和智能体工具数据,解决了长上下文 AI 应用中的内存瓶颈问题。它允许用户通过在 GPU 显存、系统内存和 SSD 存储之间智能地卸载和检索 KV (Key-Value) 缓存数据,从而运行具有海量上下文窗口(例如 200K+ tokens)的大型模型。
工作原理
KVMem 作为 llama.cpp 和 NInfer 等推理引擎的管理层。它实现了一种分层内存架构,将活跃的历史记录保留在 GPU 上,而将空闲或不太相关的历史记录移动到主机内存或 SSD。它使用 LRFU (Least Recently Frequently Used) 加权算法来决定哪些对话部分保留在高速内存中。当模型需要引用长对话中较旧的部分时,KVMem 会将所需数据检索回 GPU,而无需完全重新计算上下文。
适用人群
本项目适用于在消费级 NVIDIA 硬件(RTX 20/30/40/50 系列)上运行本地 LLM 的开发者和高级用户,他们需要维护超出显卡显存容量的长期运行的智能体任务或海量文档分析任务。
亮点
- 分层内存管理:自动在 GPU、内存和 SSD 之间移动 KV 缓存,以最大化上下文容量。
- 多后端支持:为 llama.cpp 和 NInfer 推理引擎提供统一管理。
- 工具与智能体优化:支持复杂的智能体工作流,包括工具调用、严格的模式约束和多轮状态恢复。
- 硬件特定调优:包含针对各种 NVIDIA GPU 架构(sm70 到 sm120a)的专用 Windows 软件包和启动器。
- 性能导向:具备自适应 MTP (Multi-Token Prediction)、ngram 加速和可配置的预填充分块功能,以在长上下文生成过程中保持高每秒 token 生成率。
相关
- 项目
- 项目
- 项目
- 项目