LMCache:最快的開源 LLM 推理服務引擎
如果你用過大型語言模型(LLMs)干點正經事,你肯定知道那種等待的煎熬。
你輸入一個問題,按下回車,然后……啥也沒有。
就一個轉圈的光標在那晃,直到第一個詞終于蹦出來。
這種延遲叫“首次令牌時間”(time-to-first-token,TTFT),真是讓人抓狂。
現在,有個叫LMCache的項目。它是開源的,簡單說就是給LLMs提速的神器。
LMCache是干啥的?
LLMs老干重復的活兒。
每次你給它一段文本,它都會構建一個叫KV cache(鍵值緩存)的東西。
你可以把它想象成模型在讀文本時做的筆記。
問題在于,它不會重復用這些筆記。所以如果你又給了同樣的文本,它得從頭再建一遍。
LMCache就解決了這個問題。
它會把KV cache存下來,不光存在GPU顯存里,還能存到CPU內存甚至磁盤上。當模型再次看到一模一樣的文本(不只是前綴,是任何重復的文本),它直接從緩存里取出來。不浪費GPU的計算周期,也不讓你多等。
結果呢?用vLLM的話,很多標準場景下,比如多輪對話或檢索增強生成(retrieval-augmented generation),響應速度能快3到10倍。
看看這個:
# 老辦法:慢得像爬
defget_answer(prompt):
memory = build_memory_from_zero(prompt) # GPU哭了
return model.answer(memory)
# 用LMCache:快如閃電,聰明得很
import lmcache
defget_answer(prompt):
if lmcache.knows_this(prompt): # 以前見過?
memory = lmcache.grab_memory(prompt) # 直接拿來用
else:
memory = build_memory_from_zero(prompt)
lmcache.save_memory(prompt, memory) # 存起來下次用
return model.answer(memory)
圖片
為啥LMCache這么牛
我見過不少AI工具,但LMCache有些特別酷的功能:
- 快得飛起:內存獲取速度最快能提升7倍,處理量也更大。文本在哪它都不在乎,照樣能復用。
- 存哪兒都行:內存塊可以放CPU、磁盤,甚至是NIXL這種高級玩意兒。GPU可以偷個懶。
- 超愛vLLM:跟vLLM(版本1)配合得特別好,能跨設備共享工作,或者在系統間傳遞內存。
- 適合大活兒:專為真實應用設計,支持llm-d和KServe這些工具,不只是實驗室里的小打小鬧。 如果你在做聊天機器人或者搜大堆數據的應用,LMCache能保持速度,還不用非得配個超級電腦。
怎么安裝
開始之前,LMCache在Linux上跑得最順。Windows用戶得用WSL或者社區補丁。另外,你需要:
- Python 3.9或更高版本
- NVIDIA GPU(比如V100或H100)
- CUDA 12.8或更高
- 沒Wi-Fi?沒問題,裝好后離線也能跑。
簡單方法:從PyPI裝
想直接用?跑這個:
pip install lmcache這會帶上最新的Torch。如果碰到怪錯,試試從源碼裝。
想玩點刺激的?試試TestPyPI
想要最新版?裝預發布版:
pip install --index-url https://pypi.org/simple --extra-index-url https://test.pypi.org/simple lmcache==0.3.4.dev61檢查版本對不對:
import lmcache
from importlib.metadata import version
print(version("lmcache")) # 應該是0.3.4.dev61或更高版本號跟LMCache的GitHub上最新的對齊。
自己動手建
愛折騰?克隆代碼然后搞:
git clone https://github.com/LMCache/LMCache.git
cd LMCache
pip install -r requirements/build.txt
# 選一個:
# A: 選你的Torch
pip install torch==2.7.1 # 適合vLLM 0.10.0
# B: 裝帶Torch的vLLM
pip install vllm==0.10.0
pip install -e . --no-build-isolation確認沒問題:
python3 -c "import lmcache.c_ops"沒崩?那就成了。
用uv快速搞定
喜歡快工具?試試uv:
git clone https://github.com/LMCache/LMCache.git
cd LMCache
uv venv --python 3.12
source .venv/bin/activate
uv pip install -r requirements/build.txt
# 一樣的Torch/vLLM選擇
uv pip install -e . --no-build-isolationDocker
想省事?用Docker:
# 穩定版
docker pull lmcache/vllm-openai
# 夜間版
docker pull lmcache/vllm-openai:latest-nightly對AMD GPU(比如MI300X),從vLLM鏡像開始,加這些:
PYTORCH_ROCM_ARCH="gfx942" \
TORCH_DONT_CHECK_COMPILER_ABI=1 \
CXX=hipcc \
BUILD_WITH_HIP=1 \
python3 -m pip install --no-build-isolation -e .跟vLLM無縫對接
LMCache跟vLLM就像燒烤派對上的好哥們。對vLLM v1:
pip install vllm測試一下:
python3 -c "import vllm.distributed.kv_transfer.kv_connector.v1.lmcache_connector"用vLLM v0?去他們repo里看示例腳本。
本文轉載自??PyTorch研習社??,作者:AI研究生

















