为什么会发展出Multi-Query Attention和Group-Query Attention?

导入

如果你看GPT系列的论文,你学习到的self-attention是Multi-Head Attention(MHA)即多头注意力机制,
MHA 包含h个Query、Key 和 Value 矩阵,所有注意力头(head)的 Key 和 Value 矩阵权重不共享。

这个机制已经能很好的捕捉信息了,为什么会继续发展出MQA和GQA?

很多文章上来就是这三种attention机制的数学公式差别,但没有说为什么有了MHA,还需要MQA,甚至GQA。本文简单阐述原因,给大家一个直觉式的理解。
请添加图片描述

KV Cache

随着大模型的参数量越来越大,推理速度也受到了严峻的挑战。于是人们采用了KV Cache,想用空间换时间。

KV Cache的介绍参见之前的文章:

如何评判大模型的输出速度?首Token延迟和其余Token延迟有什么不同?

MQA

而增加了空间后,显存又是一个问题,于是人们尝试在attention机制里面共享keys和values来减少KV cache的内容。
这就有了Multi-Query Attention(MQA),即query的数量还是多个,而keys和values只有一个,所有的query共享一组。这样KV Cache就变小了。

GQA

但MQA的缺点就是损失了精度,所以研究人员又想了一个折中方案:不是所有的query共享一组KV,而是一个group的guery共享一组KV,这样既降低了KV cache,又能满足精度。这就有了Group-Query Attention。

参考

请添加图片描述

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值