KV 缓存
Key-Value CacheKV Cache常用把已算过的注意力键和值存起来,生成后续 token 时直接复用。
KV 缓存是 Transformer 推理时的标准加速手段。自注意力中每个 token 会算出查询(Q)、键(K)、值(V)三组向量;自回归生成时每步只新增一个 token,而前面 token 的 K 和 V 不会变。不缓存的话每步都要把整段前文重算一遍;缓存后每步只算新 token,再和存好的 K、V 做注意力,速度大幅提升。代价是显存:缓存随上下文长度线性增长,长上下文时常成为瓶颈,于是有量化缓存、滑动窗口等办法。它在 VLA 里同样关键:π0 把图像和语言组成的前缀的 K、V 缓存起来,流匹配的 10 步去噪只重算动作部分,整次推理约 73 毫秒。
例子π0 一次推理:图像编码约 14 毫秒、前缀前向约 32 毫秒只算一次;动作专家 10 步去噪共约 27 毫秒,每步都复用同一份前缀 KV 缓存。
- 也叫
- 键值缓存、KV Caching
- 相关
- 自注意力、因果注意力、自回归解码、推理延迟、上下文长度、π0
- 来源
- Hugging Face Transformers: Cache strategies
π0: A Vision-Language-Action Flow Model for General Robot Control (arXiv 2410.24164)