Root posts (1)

KV Cache 入门

推理效率对于 llm 是一个至关重要的问题。当模型生成文本时,尤其是以自回归方式逐词生成时,效率瓶颈会变得非常明显。KV Cache 就是为了解决这一问题而诞生的技术。 1. What is KV Cache? KV Cache,全称 Key-Value Cache,是一种优化技术,用于加速 Transformer 架构在自回归生成过程中的推理速度。它的核心思想是缓存并重用在注意力机制中计算得到的 Key (K) 和 Value (V) 向量。 2. Transformer Attention Mechanism Review 要理解 KV Cache,首先需要对 Transformer 架构中的自注意力机制有一个基本认识。自注意力机制允许模型在处理序列中的某个词时,考虑序列中所有其他词的重要性。 每个输入 token(词或子词)在进入注意力层时,都会被转换成三个不同的向量: Q 向量:代表当前 token 的“查询”信息 K 向量:代表所有 token 的“键”信息,用于与 Query 进行匹配 V 向量:代表所有 token 的“值”信息,用于加权求和,得到最终的输出 自注意力机制的计算过程为以下步骤: 计算 Query 与所有 Key 的点积,得到注意力分数 将注意力分数进行缩放,除以 $ \sqrt{d_k} $($ d_k $ 是 Key 向量的维度) 对缩放后的分数进行 Softmax,将其转换为注意力权重,表示每个 token 对当前 token 的重要性 将注意力权重与 Value 向量进行加权求和,得到当前 token 的注意力输出 公式为: $$ \text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V $$ 其中矩阵 $ Q,K,V \in \mathbb{R}^{L \times d} $ ,$ L $ 为当前上下文长度 ...

July 30, 2025 · 3 min · diefish