论文名称:Fast Transformer Decoding: One Write-Head is All You Need
论文地址:https://arxiv.org/abs/1911.02150v1
MQA(Multi-Query Attention)是Google团队在2019年提出的,是MHA (Multi-head Attention,多头注意力机制)的一种变体,也是用于自回归解码的一种注意力机制。
传统的MHA是将输入划分为多个Head,并为每个Head独立计算注意力。在MHA中的,Q、K、V会根据每个head做不同的转换(模拟:每个Head都有自己的感知域/parameter sets,可以独立学习输入中的不同特性)。这在Head数量较多时候可能会存在计算密集的问题。
而与MHA 不同的是,MQA 让所有的Head之间共享同样的一份 K 和 V 矩阵(意味K和V的计算唯一),只让 Q 保留了原始多头的性质(每个Head存在不同的转换),从而大大减少 K 和 V 矩阵的参数量以及KV Cache的显存占用,以此来达到提升推理速度,但是会带来精度上的损失。技术被大量应用于大预言模型,如ChatGLM2。