加载中
Attention
Attention发展历程
MHA
这里我们设以下值:
- d:每个token为d维向量
- i:sequence中的第i个token
- s:第s个注意力头
位置编码
绝对位置编码
计算方式如图所示
其中pos指token在sequence中的位置,而i指每个维度的索引,维度值的奇偶相关。
计算公式
对于第t个token,第s个注意力头处的注意力分数经过以下计算方式:
将所有注意力头的输出拼接后即为:
KV Cache
LLM通常在GPU上进行推理,而GPU的显存资源是有限的。显存需要同时存储3类数据:
- 模型权重参数
- 计算过程中的激活值
- 存储KV Cache 前面两个部分是固定的,取决于模型规模,而KV Cache的大小会随着序列长度L线性增长,总复杂度为:
代码实现
MQA
与MHA相比,每个head的KV矩阵是相同的。
代码实现
GQA
将MHA和MQA相结合,将head进行分组,其中每一组共享KV矩阵
代码实现
MLA
上一篇
RAG
下一篇
Transformer
Loading...