Prefix Cache特性介绍

当前大语言模型推理系统普遍采用KV Cache缓存机制,但该机制存在以下两个问题:

  1. 随着LLM支持的序列长度不断增长,KV Cache所需要的显存资源也急剧增加。
  2. KV Cache只对当前session有效,如果跨session存在重复token序列的情况下无法实现复用。

Prefix Cache通过RadixTree保留session结束后的KV Cache,新的session请求在RadixTree中查找是否存在相同的Token序列,即可复用之前计算好的KV Cache,从而实现跨session的KV Cache复用。

其优势主要包括:

限制与约束

开启Prefix Cache特性需要配置的补充参数如表1表2所示:

表1 Prefix Cache补充参数1:ModelDeployConfig中的ModelConfig参数

配置项

取值类型

取值范围

配置说明

plugin_params

std::string

"{\"plugin_type\":\"prefix_cache\"}"或""

  • 不添加该字段或将该字段设置为"",均表示默认不生效任何插件功能。
  • 设置为"{\"plugin_type\":\"prefix_cache\"}",表示执行Prefix Cache。
表2 Prefix Cache补充参数2:ScheduleConfig的参数

配置项

取值类型

取值范围

配置说明

enablePrefixCache

-

-

该字段已无需配置,目前版本按老版本方式配置无影响。

该字段预计日落时间:2026年Q1版本。

执行推理

  1. 配置服务化参数。该特性需配合MindIE Service使用,按照表1在服务化的config.json文件中添加相应参数,config.json文件路径的详细说明请参考:《MindIE安装指南》中的“配置MindIE > 配置MindIE Server > 单机推理”章节中的软件包文件清单。
  2. 启动服务。具体请参考《MindIE Service开发指南》中的“快速开始 > 启动服务”章节