- 简介大型语言模型(LLM)通常将多个文本块合并到输入中以提供必要的上下文。为了加快长LLM输入的预填充速度,可以预先计算文本的KV缓存,并在上下文被重复使用作为另一个LLM输入的前缀时重复使用KV缓存。然而,重复使用的文本块并不总是输入前缀,当它们不是前缀时,它们预计算的KV缓存不能直接使用,因为它们忽略了LLM输入中前面文本的交叉注意力。因此,重复使用KV缓存的好处仍然大部分未被实现。本文只解决一个问题:当一个LLM输入包含多个文本块时,如何快速组合它们的预计算KV缓存,以达到与昂贵的完全预填充(即不重用KV缓存)相同的生成质量?我们提出了CacheBlend方案,该方案重复使用预先计算的KV缓存,无论是否为前缀,并选择性地重新计算少量令牌的KV值,以部分更新每个重复使用的KV缓存。同时,重新计算一些令牌的小额额外延迟可以与同一作业中检索KV缓存进行流水线处理,使CacheBlend可以将KV缓存存储在存储容量更大的较慢设备中,而不会增加推理延迟。通过将CacheBlend与各种大小的三个开源LLM和四个流行基准数据集上的最先进的KV缓存重用方案进行比较,我们表明,与完全KV重新计算相比,CacheBlend将时间到第一个标记(TTFT)降低了2.2-3.3倍,并将推理吞吐量提高了2.8-5倍,而不会影响生成质量或增加存储成本。
- 图表
- 解决问题如何快速结合多个文本块的预计算KV缓存以实现与完整预填充相同的生成质量?
- 关键思路CacheBlend是一种方案,可以重复使用预计算的KV缓存,并选择性地重新计算一小部分令牌的KV值,以部分更新每个重复使用的KV缓存,从而提高生成效率。
- 其它亮点CacheBlend与三个开源LLM和四个流行的基准数据集上的最新KV缓存重用方案进行比较,显示CacheBlend将TTFT降低了2.2-3.3倍,并将推理吞吐量提高了2.8-5倍,而不会影响生成质量或增加存储成本。
- 与此相关的最新研究包括“Revisiting Few-sample BERT Fine-tuning”和“Learning to Learn from Limited Data: A Deep Siamese Network for Similarity-based Sample Selection”。
沙发等你来抢
去评论
评论
沙发等你来抢