LMCache+VLLM實戰指南,讓大模型的推理速度顯著提升!
一、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)階段的計算效率。
github地址:??? https://github.com/LMCache/LMCache??
二、LMCache實戰
安裝依賴環境
# 安裝基礎環境
conda create -n vllm_092 pythnotallow=3.12
conda activate vllm_092
# 安裝依賴包
pip install uv
uv pip install vllm==0.9.2
uv pip install lmcache==0.3.5創建一個yaml文件,填寫lmcache的配置項,例如使用10g的內存空間:
lmcache_config.yaml
chunk_size: 32
local_cpu: True
max_local_cpu_size: 10vllm+lmcache的啟動命令:
LMCACHE_CONFIG_FILE=$PWD/lmcache_config.yaml \
vllm serve $PWD/Qwen3-14B \
--gpu_memory_utilization 0.7 \
--port 12345 \
--kv-transfer-config \
'{"kv_connector":"LMCacheConnectorV1",
"kv_role":"kv_both"
}'啟動后,可以利用openai的通用接口進行調用;接口文檔可以參考deepseek的調用方式,
??https://api-docs.deepseek.com/zh-cn/??
把模型類型換成自己部署的qwen3-14b模型即可;
下面進行測試一下效果:
可以看到紅框里的,相同兩次請求,第一次請求,lmcache會把輸入的信息進行緩存起來,當第二次請求時,會統計命中的token數,并且直接把命中的kv cache從內存中拿出來,避免重復計算,減少推理的響應速度;

本文轉載自??AI小新??,作者:AI小新

















