KV Cache
也称 Key Value Cache
KV Cache(Key-Value Cache)保存已处理词元在注意力层中的键和值,供后续生成复用;减少重复计算,但缓存本身也会占用内存或显存。
如何理解
自回归语言模型生成新词元时,需要利用此前上下文的信息。键值缓存保留各层已经计算过的键和值;处理新词元时,模型可直接复用这些结果,而不必重新计算前面所有词元的对应表示。
缓存把一部分重复计算换成存储开销。对于保留完整上下文的缓存,序列越长,需要保存的内容越多;因此理解长上下文成本时,除了模型参数,还要考虑生成过程持续积累的缓存。
容易混淆的地方
KV Cache 保存的是计算中间结果,不是可直接阅读的知识库或完整答案。它能避免部分重复计算,但不会让长上下文的计算和存储成本消失。