【NLP高频面题 - LLM架构篇】LLM为何使用GQA代替MHA?
重要性:★★ 💯
NLP Github 项目:
-
NLP 项目实践:fasterai/nlp-project-practice
介绍:该仓库围绕着 NLP 任务模型的设计、训练、优化、部署和应用,分享大模型算法工程师的日常工作和实战经验
-
AI 藏经阁:https://gitee.com/fasterai/ai-e-book
介绍:该仓库主要分享了数百本 AI 领域电子书
-
AI 算法面经:fasterai/nlp-interview-handbook#面经
介绍:该仓库一网打尽互联网大厂NLP算法面经,算法求职必备神器
-
NLP 剑指Offer:https://gitee.com/fasterai/nlp-interview-handbook
介绍:该仓库汇总了 NLP 算法工程师高频面题
随着模型规模越来越大,训练和推理时需要的显存越来越多,为了降低大模型的计算量,需要使用缓存注意力机制代替Transformer原始的多头注意力机制,达到既节约时间,又节约显存的目的。
最极端的做法是MQA(多查询注意力),MQA能够大幅加速采用MHA的Transformer的推理,但是会有明显的性能损失,而GQA(分组查询注意力)通过设置合适的分组大小,可以和MQA的推理性能几乎相等,同时逼近MHA的模型性能。
MQA和GQA对推理的帮助主要是以下两点:
- 降低内存读取模型权重的时间开销:由于Key矩阵和Value矩阵数量变少了,因此权重参数量也减少了,需要读取到内存的数量量少了,因此减少了读取权重的等待时间
- KV-Cache空间占用明显降低:KV-Cache会将之前推理过的Key、Value向量存储在内存中,而随着步长和batch_size的增长,KV-Cache空间占用越来越高,使得KV-Cache不能被高效的读写,而MHA和GQA方式使得KV-Cache需要存储的参数量降低了head_num倍,从而提高KV-Cache的读写效率;另一方面,可以有空间来增大batch_size,从而提高模型推理的吞吐量。
GQA的代码实现:
NLP 大模型高频面题汇总
NLP基础篇
-
【NLP 面试宝典 之 模型分类】 必须要会的高频面题
-
【NLP 面试宝典 之 神经网络】 必须要会的高频面题
-
【NLP 面试宝典 之 主动学习】 必须要会的高频面题
-
【NLP 面试宝典 之 超参数优化】 必须要会的高频面题
-
【NLP 面试宝典 之 正则化】 必须要会的高频面题
-
【NLP 面试宝典 之 过拟合】 必须要会的高频面题
-
【NLP 面试宝典 之 Dropout】 必须要会的高频面题
-
【NLP 面试宝典 之 EarlyStopping】 必须要会的高频面题
-
【NLP 面试宝典 之 标签平滑】 必须要会的高频面题
-
【NLP 面试宝典 之 Warm up 】 必须要会的高频面题
-
【NLP 面试宝典 之 置信学习】 必须要会的高频面题
-
【NLP 面试宝典 之 伪标签】 必须要会的高频面题
-
【NLP 面试宝典 之 类别不均衡问题】 必须要会的高频面题
-
【NLP 面试宝典 之 交叉验证】 必须要会的高频面题
-
【NLP 面试宝典 之 词嵌入】 必须要会的高频面题
-
【NLP 面试宝典 之 One-Hot】 必须要会的高频面题
-
......
BERT 模型面
-
【NLP 面试宝典 之 BERT模型】 必须要会的高频面题
-
【NLP 面试宝典 之 BERT变体】 必须要会的高频面题
-
【NLP 面试宝典 之 BERT应用】 必须要会的高频面题
-
......
LLMs 微调面
-
【NLP 面试宝典 之 LoRA微调】 必须要会的高频面题
-
【NLP 面试宝典 之 Prompt】 必须要会的高频面题
-
【NLP 面试宝典 之 提示学习微调】 必须要会的高频面题
-
【NLP 面试宝典 之 PEFT微调】 必须要会的高频面题
-
【NLP 面试宝典 之 Chain-of-Thought微调】 必须要会的高频面题
-
......
本文由mdnice多平台发布