【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

[2] Transformer系列:注意力机制的优化,MQA和GQA原理简述

[3] Navigating the Attention Landscape: MHA, MQA, and GQA Decoded

相关推荐
致Great2 小时前
Invar-RAG:基于不变性对齐的LLM检索方法提升生成质量
人工智能·大模型·rag
OptimaAI5 小时前
【 LLM论文日更|检索增强:大型语言模型是强大的零样本检索器 】
人工智能·深度学习·语言模型·自然语言处理·nlp
技术仔QAQ7 小时前
【tokenization分词】WordPiece, Byte-Pair Encoding(BPE), Byte-level BPE(BBPE)的原理和代码
人工智能·python·gpt·语言模型·自然语言处理·开源·nlp
OneFlow深度学习框架8 小时前
LLM长上下文RAG能力实测:GPT o1 vs Gemini
gpt·语言模型·大模型·openai·gemini·o1
fly-9718 小时前
LLM大模型微调入门Lora(LlamaFactory)
chatgpt·nlp
AI大模型-王哥1 天前
产业科普 | 什么是人工智能和大模型?大模型入门到精通 看完你就明白了
人工智能·学习·langchain·大模型·大模型学习·大模型入门·大模型教程
CSDN云计算1 天前
性能高于Transformer模型1.7-2倍,彩云科技发布基于DCFormer架构通用大模型云锦天章
大模型·transformer·dcformer·彩云天气·彩云小梦·云锦天章
微学AI1 天前
MathGPT的原理介绍,在中小学数学教学的应用场景,以及代码样例实现
人工智能·python·大模型·mathgpt
小森( ﹡ˆoˆ﹡ )2 天前
词嵌入方法(Word Embedding)
人工智能·机器学习·自然语言处理·nlp·word·embedding
小嗷犬2 天前
【论文笔记】The Power of Scale for Parameter-Efficient Prompt Tuning
论文阅读·人工智能·大模型·微调·prompt