Posts SGLang-Prefix_Prompt_Cache设计
Post
Cancel

SGLang-Prefix_Prompt_Cache设计

SGLang-Prefix Prompt Cache设计

Paper

SGLang: Efficient Execution of Structured Language Model Prpgrams

Motivation

多轮对话中,由于Prompts存在大量相同前缀,因此 Prefix prompt cache 的复用就显得很重要:需要考虑:efficient prefix search,reuse,insertion,eviction已经对应的cache aware scheduing

Key Points

SGLang采用了 prefix tree 的数据结构来进行Cache的数据存储,基础特点:

  1. 前缀压缩:相同前缀的多个键只存储一次,减少重复存储。
  2. 动态扩展:支持增删查操作,适应符号集合或规则的动态变化。
  3. 快速查询:查找复杂度接近 O(k) ,其中 k 是键的平均长度。
  4. 稀疏存储:仅存储有效路径,优化内存占用。

img

另外,Scheduling策略上,以匹配的prefix-length作为最高优先级。

VLLM结合PA和Prefix Cache,通过 hash(prefix tokens + block tokens) 来定义对应的KV Block,通过hash-mapping的方式来实现prefix-cache和physical block的mapping:

img

Statistics

multi-call 下的性能收益: img

This post is licensed under CC BY 4.0 by the author.

MoEs算法&&部署概述

Prefill Decode分离部署