Lmcache+vllm——KVcache卸载CPU/SSD探索

LMCache与vLLM:探索KV缓存卸载技术

目前查看了vllm、Nvidia dynamo、mooncake都没有找到将kvcache卸载到SSD的方法,幸好lmcache支持。
以下进行lmcache+vllm实践,对比将kvcache分别卸载到CPU-ram和SSD上的TTFT性能差异。目前的query只是单并发,对比的效果已经比较明显了,可能多并发下对存储的要求就会更高了。

1. 环境部署配置

1.1 组件安装

pip install vllm lmcache

1.2 LM Cache 配置

创建 disk-offload.yaml 配置文件:

# KV Cache 存储策略配置
storage:
  chunk_size: 256        # 内存页分配粒度(单位:MB)
  local_cpu: true       
  max_local_cpu_size: 30.0 # CPU内存最大占用(GB)
  local_disk: "/home/kv-cache" # SSD缓存路径(禁用时注释)
  max_local_disk_size: 200.0  # SSD最大存储配额(GB)

1.3 vLLM 服务配置

创建启动脚本 vllm_serve_start.sh

#!/bin/bash
# 服务启动参数配置
export LMCACHE_CONFIG_FILE="disk-offload.yaml"
export LMCACHE_USE_EXPERIMENTAL=True

vllm serve /ngc/hub/models--nim--meta--llama-3_1-8b-instruct/snapshots/hf-8c22764-nim1.3b/ \
    --max-model-len 80000 \          # 最大上下文长度
    --kv-transfer-config '{"kv_connector":"LMCacheConnectorV1", "kv_role":"kv_both"}' \
    --gpu-memory-utilization 1.0 \   # GPU显存利用率调整
    --swap_space 256 \               # 交换空间分配(GB)
    --no-enable-prefix-caching       # 禁用GPU前缀缓存

启动服务:

chmod +x vllm_serve_start.sh
./vllm_serve_start.sh

2. 性能验证测试

2.1 测试脚本创建

#测试文件创建
man bash > man-bash.txt
# 测试脚本 vim query-twice-new.py
import time
from openai import OpenAI
from transformers import AutoTokenizer

client = OpenAI(
    api_key="dummy-key",
    ba
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值