vllm 问题:分页注意力是否展示了前缀共享?

t98cgbkg  于 2个月前  发布在  其他
关注(0)|答案(4)|浏览(75)

阅读 https://arxiv.org/abs/2311.04934 并想知道我是否会从提示缓存中获得任何收益。
我的用例是有具有重叠前缀的提示(主要是一些大的)。我已经使用 vllm 分页注意力。
假设我只想要缓存前缀的键值状态(而不是像论文中那样定位在某个地方)。
那么缓存注意力前缀状态是否有任何收益,或者分页注意力和 vllm 确实已经在这样做了吗?
论文:

Paged attention also demonstrates simple prefix sharing,
where different prompts with an identical prefix share
KV Cache

目标:

shared inputs with prompt1
                                               |
                                               |
 +---------------------------------+     +-----+------+--------------------+
 |                                 | ... | ////|///// |                    |
 +---------------------------------+     +------------+--------------------+
  prompt 1                                           prompt 2
  request 1                                          request 2

- store prefix->kvs
- request
  - find shared inputs
  - assert_kv_cache(prefix-kvs)

Any gain from this idea?

那么在使用分页注意力时,我们是否已经跳过了共享输入的注意力,还是有其他额外的好处可以从缓存前缀键值对中获得?
如果它已经在跨请求缓存,那么是什么机制可以防止 kv-cache 条目被破坏?
想知道是否仍然有可能进行调整,以确保某些前缀保持在 kv-cache 中。

vaj7vani

vaj7vani1#

同样的问题。有任何更新吗?

gdrx4gfi

gdrx4gfi2#

Is it related to the PR?
#1669

isr3a4wc

isr3a4wc3#

谢谢!@franklyd,但是有没有关于这个机制的详细文档/API?例如,它们是如何存储前缀的,它将持续多长时间,如何匹配等。我是vllm的新用户:)

yvfmudvl

yvfmudvl4#

我相信这个问题可以通过这个#2614解决!(它昨天也合并了)

相关问题