摘要
我们提出了一种名为“块注意力”的注意力机制,旨在解决检索增强生成(RAG)场景中推理延迟和成本增加的问题。与现有的对整个上下文进行编码的方法不同,其主要思想是将检索到的文档划分为块,其中每个块独立计算键值(KV)状态,除了最后一个块。在 RAG 场景中,通过将每个段落定义为一个块,块注意力使我们能够预先计算所有段落的 KV 状态并将它们缓存到内存中,从而显著降低推理过程中的延迟和计算成本。实现涉及块分割、位置编码计算以及微调 LLM 以适应块注意力机制。在四个 RAG 基准上的实验表明,在块微调之后,块注意力模型可以实现与自注意力模型相当的性能(Llama3 上为 68.4% 对比 67.9%),甚至更好(Mistral 上为 62.8% 对比 59.6%)。值得注意的是,块注意力将 TTFT(第一个令牌的生成时间)和 FLOPs(浮点运算)降低到了非常低的水平。对于总长度为 32K 的输入序列,它只需要 45 毫秒就能输出第一个令牌。与自注意力模型相比,时间消耗和相应的 FLOPs 分别降低了 98.7% 和 99.8%。