Automatic Prefix Caching

APC技术,遇到新prompt和老prompt前缀完全相等的,则复用老prompt的KV cache,避免重新计算。

VLLM代码实例:

# set enable_prefix_caching=True to enable APC
llm = LLM(
    model='lmsys/longchat-13b-16k',
    enable_prefix_caching=True
)

 应用场景:

1. 长文档问答。给1个长文档,变换不同的query。则把长文档放到前面,可以复用KV cache。

2. 多轮聊天。多轮对话聊天历史,放到前面,可以复用KV cache。

我的实验:

1. fetch_count>1时,不管是否打开enable_prefix_caching,prompt的KV cache都会被复用。

2. prefill公共前缀较长,且decode output较短时,KV cache复用的威力才能发挥出来。

3. 只要前面有1个字符不同,后面完全相同的部分,也不能被视为公共前缀。因为2个prompt这部分的KV值不相等了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值