3 篇文章

  • Batching Inference & KV Cache

    Batching Inference & KV Cache KV Cache Question without KV Cache Attention 计算实际上是与 seq_len 平方成正比的,所以 prompt 变长的话,我们的 FLOPs 会很快增长到超过 Single GPU 的计算能力(Compute-Bound) “Aha!”时刻: 当我们去预测第 9 个词时,我们需要: Q = 第 8 个 token 的 Query 向量。 K = ["The", ..., "and", "the"](所有 8 个 token)...

  • Group Query Attention

    GQA: Group Query Attention Group Query Attention 这是一种针对多头注意力机制的优化技术,可以降低与键 (K) 和值 (V) 投影相关的计算和内存成本。与多头注意力机制 (MHA) 中每个查询 (Q) 头都有自己的 K 头和 V 头不同,多个 Q 头共享相同的 K 头和 V 头。多查询注意力机制 (MQA) 是 GQA 的一个特例,其中所有 Q 头共享一个 K/V 头对。 实际上在应用时,我们还会再计算 q @ k 后进行 mask 叠加,这里一般有两种情况: 一种就是我们自己设计的 mask 形式 一种就是 causal mask(因果掩码),用...

  • RMSNorm & MLP

    RMSNorm & MLP RMSNorm RMSNorm1 的定义: y = \frac{x}{\sqrt{mean(x^2) + \epsilon}} \cdot weight x 是输入张量。 weight 是一个可学习的缩放参数。 epsilon(eps) 是为了数值稳定性而添加的一个小常数(例如,1e-5 或 1e-6)。 mean(x^2) 是平方和然后除以元素的数量 LayerNorm 成功的关键在于其 “重新缩放” (re-scaling) 的不变性,而 “重新中心化” (re-centering,即减去均值) 这一步可能不是必需的 归一化方法 方法归一化维度是否依赖批...