
给大模型装上「记忆外挂」:LMCache让推理速度提升10倍!
在人工智能应用日益普及的今天,大型语言模型(LLM)推理正逐渐成为核心基础设施。无论是在代码智能助手、搜索引擎、文档理解工具还是企业级对话系统中,绝大多数现实世界的AI应用都需要依赖运行在GPU集群上的高吞吐量推理引擎来完成模型调用任务。
然而随着使用规模的持续扩大,尤其是在处理长上下文请求时,LLM推理面临两大核心性能瓶颈:成本激增和延迟指标难以达标。
单纯依赖扩展GPU数量已难以为继,迫切需要引入更加智能、高效的显存与缓存管理策略。
正是在这一背景下,LMCache应运而生。
github地址: https://github.com/LMCache/LMCache
一、LMCache是什么?
LMCache是一个为大型语言模型(LLM)设计的缓存服务引擎扩展,它的目的是减少服务响应时间(TTFT)并提高吞吐量,特别是在长上下文场景下。
LMCache 是一个 LLM 服务引擎扩展,用于减少 TTFT 并提高吞吐量,尤其是在长上下文场景下。通过将可重用文本的 KV 缓存存储在不同位置,包括(GPU、CPU DRAM、本地磁盘),LMCache 在任何服务引擎实例中重用任何重用文本(不一定是前缀)的 KV 缓存。因此,LMCache 节省了宝贵的 GPU 周期并减少了用户响应延迟。
通过将 LMCache 与 vLLM 相结合,开发人员在许多 LLM 用例(包括多轮 QA 和 RAG)中实现了 3-10 倍的延迟节省和 GPU 周期减少。
特点:
(1)可以缓存kv cache到(GPU、CPU DRAM、本地磁盘)上;
(2)LMCache 在任何服务引擎实例中重用任何重用文本(不一定是前缀)的 KV 缓存;
名词定义:
TTFT(Time To First Token)
定义:从请求发送到收到第一个输出 Token 的时间。核心影响因素:Prompt 预填充(Prefill)阶段的计算效率。
二、LMCache三大核心特性
1. 海量规模(Massive Scale)
LMCache支持存储远超GPU显存容量的大规模KV缓存数据,通过解耦“模型推理”与“上下文存储”的耦合瓶颈,使得大模型可以应对更长上下文、更多用户并发的挑战。
2. 极速加载(Blazing Speed)
LMCache采用基于CUDA加速算子与流水线数据传输机制的高效加载方式,可将命中的KV缓存以极低延迟迅速加载至GPU显存中。相比传统的内存拷贝与CPU-GPU数据通路,该方式在多轮对话、RAG等高频缓存场景中显著降低推理启动时延(TTFT)。
3. 插件式存储后端(Pluggable Storage)
LMCache提供灵活开放的存储接口,可无缝集成多种后端系统,包括MooncakeStore、Infinistore、Redis、分布式文件系统(DFS)等。这种插件式设计不仅增强了系统的可扩展性,也为企业部署提供更广泛的适配空间。
三、LMCache性能表现
在实际部署中,当LMCache与高性能推理引擎vLLM结合使用时,能够显著提升模型响应速度:“首个Token响应时间”(TTFT)可提升3-10倍,同时在多轮问答、RAG检索增强生成等典型大模型应用场景中,有效节省大量GPU计算资源,降低整体运行成本。
一些实际部署案例显示了令人印象深刻的结果:
- 资源消耗:70B模型推理GPU显存需求从140GB→85GB(节省38%)
- 响应速度:处理50K病历文本时,TTFT从12.4s→3.1s
- 吞吐量:单A100节点QPS从4.3→11.6
四、如何安装和使用LMCache
环境准备
LMCache需要Python 3.6或更高版本和Cuda 10.0或更高版本。
安装步骤
- 安装依赖:
pip install lmcache
与vLLM集成
作者已经复现,亲测可以用,详细示例参考vllm的文档: https://github.com/vllm-project/vllm/blob/main/examples/others/lmcache/cpu_offload_lmcache.py
五、LMCache的应用场景
LMCache在多个场景中都能发挥重要作用:
- 多轮对话系统:在多轮对话系统中,LMCache可以缓存对话历史,加速响应速度。
- 内容推荐系统:通过缓存用户的浏览和交互历史,LMCache可以提高内容推荐的速度和准确性。
- 医疗问答系统:实际部署案例显示,LMCache在处理长篇病历时能显著降低响应时间。
- RAG检索增强生成:LMCache能够有效缓存检索到的文档片段,避免重复计算。
本文转载自AI小新,作者:AI小新
