【NLP】MHA、MQA、GQA机制的区别

Note

  • LLama2的注意力机制使用了GQA。三种机制的图如下:

MHA机制(Multi-head Attention)

MHA(Multi-head Attention)是标准的多头注意力机制,包含h个Query、Key 和 Value 矩阵。所有注意力头的 Key 和 Value 矩阵权重不共享

MQA机制(Multi-Query Attention)

MQA(Multi-Query Attention,Fast Transformer Decoding: One Write-Head is All You Need)是多查询注意力的一种变体,也是用于自回归解码的一种注意力机制。与MHA不同的,MQA 让所有的头之间共享同一份 Key 和 Value 矩阵,每个头只单独保留了一份 Query 参数,从而大大减少 Key 和 Value 矩阵的参数量。

GQA机制(Grouped-Query Attention)

GQA(Grouped-Query Attention,GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints)是分组查询注意力,GQA将查询头分成G组,每个组共享一个Key 和 Value 矩阵。GQA-G是指具有G组的grouped-query attention。GQA-1具有单个组,因此具有单个Key 和 Value,等效于MQA。若GQA-H具有与头数相等的组,则其等效于MHA。GQA介于MHA和MQA之间。GQA机制,多头共用 KV Cache。

Reference

1\] [一文通透各种注意力:从多头注意力MHA到分组查询注意力GQA、多查询注意力MQA](https://blog.csdn.net/v_july_v/article/details/134228287) \[2\] [Transformer系列:注意力机制的优化,MQA和GQA原理简述](https://www.jianshu.com/p/c7b40d8526dd) \[3\] [Navigating the Attention Landscape: MHA, MQA, and GQA Decoded](https://iamshobhitagarwal.medium.com/navigating-the-attention-landscape-mha-mqa-and-gqa-decoded-288217d0a7d1)

相关推荐
人猿泰飞3 小时前
【大模型应用开发】Qwen2.5-VL-3B识别视频
python·大模型·qwen·视觉模型·ai应用开发
橙子小哥的代码世界19 小时前
面向超大规模模型的提示词工程
深度学习·算法·大模型·提示词工程
在未来等你1 天前
互联网大厂Java求职面试:AI大模型推理优化与实时数据处理架构
java·ai·大模型·向量数据库·rag·分布式系统
Panesle1 天前
开源轻量级语音合成和语音克隆模型:OuteTTS-1.0-0.6B
人工智能·语言模型·自然语言处理·开源·大模型·语音识别
摩尔线程2 天前
推测解码算法在 MTT GPU 的应用实践
算法·语言模型·大模型·gpu算力·gpu·摩尔线程
在未来等你2 天前
互联网大厂Java求职面试:云原生架构与AI应用集成解决方案
java·spring cloud·微服务·ai·云原生·kubernetes·大模型
拾忆-eleven2 天前
NLP学习路线图(五):常用库-NumPy, Pandas, Matplotlib
python·自然语言处理·nlp
脚踏实地的大梦想家2 天前
【ICL】上下文学习
语言模型·大模型·prompt·提示词·上下文学习·提示词工程·icl
Mr.小海2 天前
AI 商业化部署中,ollama 和 vllm 的选型对比
人工智能·大模型
人工智能培训2 天前
计算机视觉设计开发工程师学习路线
人工智能·学习·计算机视觉·大模型·transformer·ai大模型