大模型学习笔记------Llama 3模型架构之分组查询注意力(GQA)

大模型学习笔记------Llama 3模型架构之分组查询注意力(GQA)

    • 1、分组查询注意力(GQA)的动机
    • 2、 多头注意力(Multi-Head Attention, MHA)
    • 3、 多查询注意力 (Multi-Query Attention,MQA)
    • 4、 分组查询注意力(Grouped-Query Attention, GQA)
    • 5、 多头注意力 (MHA) 、多查询注意力 (MQA)、分组查询注意力 (GQA)对比

    上文简单介绍了 Llama 3模型架构的旋转位置编码(Rotary Position Embedding,RoPE)。本文介绍Llama 3模型的最后一个网络结构相关知识:Llama 3模型架构之分组查询注意力(Grouped-Query Attention, GQA)。实际上。在Llama 2就已经使用GQA注意力机制了。GQA是Transformer模型注意力机制的重要改进,旨在平衡计算效率与模型表现。其核心设计理念可概括为:“分组共享键值对,独立保留查询向量”。

1、分组查询注意力(GQA)的动机

    Llama 3为什么采用GQA注意力机制呢?其实道理很简单,在大模型训练与推理过程中需要在保障准确率的基础上尽可能的减少计算量,减少参数数量,提高效率。这个怎样理解呢?论文里其实也提到了这个问题。主要是对比了多头注意力(Multi-Head Attention, MHA)和多查询注意力 (Multi-Query Attention,MQA)。具体三中方式的结构如下图所示:
在这里插入图片描述

2、 多头注意力(Multi-Head Attention, MHA)

    多头注意力(Multi-Head Attention, MHA)是一种在Transformer架构中广泛使用的注意力机制,具体结构如上图A。它通过并行地使用多个注意力头来捕捉输入序列中不同的特征,增强模型的表达能力。多头注意力的基本思想是将输入的查询(Query,Q)、键(Key,K)和值(Value,V)向量通过多个注意力头进行并行处理,然后将结果拼接在一起,得到最终的输出。每个注意力头在不同的子空间中学习数据的不同特征,使得模型能够更好地理解复杂的输入。具体原理如下所示:

    1)查询(Query,Q)、键(Key,K)和值(Value,V)的向量表示

在这里插入图片描述
其中, 在这里插入图片描述在这里插入图片描述在这里插入图片描述分别是查询、键和值的投影矩阵。

    2)自注意力计算
在这里插入图片描述
其中, 在这里插入图片描述为查询和键向量的维度。

    3)多头组合
在这里插入图片描述在这里插入图片描述
    通过多个注意力头并行处理,MHA能够从不同角度关注输入数据中的信息,捕捉到更丰富的上下文关系。MHA的设计使得可以在硬件加速上,同时计算多个关注头,提高了计算效率。

3、 多查询注意力 (Multi-Query Attention,MQA)

    多查询注意力(Multi-Query Attention, MQA)旨在提高注意力的效率并降低计算复杂度。相较于传统的多头注意力(Multi-Head Attention, MHA),MQA的设计采用了多个查询头,但共享相同的键和值,这使得计算更为高效,具体结构如上图B。具体计算原理如下步骤:

    1)查询向量
在这里插入图片描述
    2)共享的键和值向量
在这里插入图片描述
    3)自注意力计算
在这里插入图片描述
    4)组合
在这里插入图片描述

4、 分组查询注意力(Grouped-Query Attention, GQA)

    分组查询注意力(Grouped-Query Attention, GQA)旨在通过将查询分组来提升计算效率并增强模型的能力。与多头注意力和多查询注意力相比,GQA通过将查询分成多个组并为每组独立计算注意力来优化注意力计算过程。具体结构如上图C,计算步骤如下所示:
1)查询向量:
在这里插入图片描述
2)分组的键和值向量:
将总计N个注意力头划分为G组,每组共享相同的键和值投影:

在这里插入图片描述
3)组内自注意力计算:
在这里插入图片描述
4)组合:
在这里插入图片描述

5、 多头注意力 (MHA) 、多查询注意力 (MQA)、分组查询注意力 (GQA)对比

    这几种注意力机制有各自的特点,具体如下所示:

维度多头注意力 (MHA)多查询注意力 (MQA)分组查询注意力 (GQA)
查询数量多个独立的查询多个共享查询分组查询,部分独立
键和值每个头独立的键和值共享相同的键和值共享或独立的键值
计算复杂度较高较低灵活调节,适中
应用场景广泛小查询任务大规模模型优化

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/76744.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

matlab 环形单层柱状图

matlab 环形单层柱状图 matlab 环形单层柱状图 matlab 环形单层柱状图 图片 图片 【图片来源粉丝】 我给他的思路是:直接使用风玫瑰图可以画出。 rose_bar 本次我的更新和这个有些不同!是环形柱状图,可调节细节多; 只需要函数…

Docker--Docker网络原理

虚拟网卡 虚拟网卡(Virtual Network Interface,简称vNIC) 是一种在软件层面模拟的网卡设备,不依赖于物理硬件,而是通过操作系统或虚拟化技术实现网络通信功能。它允许计算机在虚拟环境中模拟物理网卡的行为&#xff0…

linux基础14--dns和web+dns

DNS:域名系统(Domain Name System) DNS协议是用来将域名转换为IP地址或将IP地址转换为相应的域名 DNS使用TCP和UDP端口53,给用户提供解析时一般使用UDP53 对于每一级域名长度的限制是63个字符,域名总长度则不能超过2…

C++抽象基类定义与使用

在 C 中,抽象基类(Abstract Base Class, ABC) 是一种特殊的类,用于定义接口规范和约束派生类的行为。它通过纯虚函数(Pure Virtual Function)强制要求派生类实现特定功能,自身不能被实例化。以下…

用selenium4 webdriver + java 搭建并完成第一个自动化测试脚本

自动化测试任务: 百度搜索自己的姓名。点击第一个链接(或者第二个),在新的页面上,添加断言,验证你的名字是否存在。 实验资料百度网盘下载路径: 链接: https://pan.baidu.com/s/1nVlHX_ivres…

LLM大模型中的基础数学工具—— 约束优化

Q26: 推导拉格朗日乘子法 的 KKT 条件 拉格朗日乘子法与 KKT 条件是啥? 拉格朗日乘子法是解决约束优化问题的利器。比如,想最小化函数 ,同时满足约束 ,就构造拉格朗日函数 ( 是乘子)。KKT 条件是解这类问…

net+MySQL中小民营企业安全生产管理系统(源码+lw+部署文档+讲解),源码可白嫖!

摘要 近些年来,随着科技的飞速发展,互联网的普及逐渐延伸到各行各业中,给人们生活带来了十分的便利,中小民营企业安全生产管理系统利用计算机网络实现信息化管理,使企业的中小民营企业安全生产管理发展和服务水平有显…

论文阅读:2024 arxiv AI Safety in Generative AI Large Language Models: A Survey

总目录 大模型安全相关研究:https://blog.csdn.net/WhiffeYF/article/details/142132328 AI Safety in Generative AI Large Language Models: A Survey 生成式人工智能大型语言模型中的人工智能安全性:一项调查 https://arxiv.org/pdf/2407.18369 https://www.doubao.com…

【MySQL数据库】表的约束

目录 1,空属性 2,默认值 3,列描述 4,zerofill 5,主键primary key 6,自增长auto_increment 7,唯一键unique 8,外键foreign key 在MySQL中,表的约束是指用于插入的…

基于javaweb的SpringBoot校园失物招领系统设计与实现(源码+文档+部署讲解)

技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文…

多模态大语言模型arxiv论文略读(二十六)

Holistic Autonomous Driving Understanding by Bird’s-Eye-View Injected Multi-Modal Large Models ➡️ 论文标题:Holistic Autonomous Driving Understanding by Bird’s-Eye-View Injected Multi-Modal Large Models ➡️ 论文作者:Xinpeng Ding,…

“星睿O6” AI PC开发套件评测 - 部署PVE搭建All in One NAS服务器

Radxa O6平台上部署PVE搭建All in One NAS服务器 Radxa O6是一款性能卓越的单板计算机,其强劲的硬件配置和多样化的接口设计,使其成为家庭和小型企业理想的All in One服务器解决方案。值得一提的是,O6原生配备了两个5G网口,便于直…

C++ linux打包运行方案(cmake)

文章目录 背景动态库打包方案动态库转静态库动态库打到软件包中 运行 背景 使用C编写的一个小项目,需要打包成ubuntu下的可执行文件,方便分发给其他ubuntu执行,因为docker镜像方案过于臃肿,所以需要把项目的动态库都打在软件包中…

Linux内核编译(Ubuntu)

实验内容:在系统中下载统一发行版本的版本号较高的内核,编译之后运行自己编译的内核,并使用uname-r命令查看是否运行成功。 实验步骤: 1.查看实验环境和内核版本 图1 实验环境 VMware中虚拟机Ubuntu(24.04&#xff…

EdgeGPT - 新版Bing聊天功能逆向工程

本文翻译整理自:https://github.com/acheong08/EdgeGPT 文章目录 一、关于 EdgeGPT相关链接资源关键功能特性 二、安装系统要求安装命令 三、认证配置获取Cookie步骤代码中使用Cookie 四、使用方法1、命令行方式2、Python API方式使用Chatbot类使用Query辅助类 3、…

三网通电玩城平台系统结构与源码工程详解(四):子游戏集成与服务器调度机制全解

本篇将深入讲解三网通电玩城平台中子游戏接入、前后端资源组织方式、服务器调度逻辑、并发接入方案等核心内容,重点覆盖“李逵劈鱼”、“水果玛丽”、“疯狂玛丽”等热门组件,辅以完整代码框架与部署逻辑。 一、子游戏资源目录结构与加载机制 平台采用标…

1.1 AI大模型与Agent的兴起及其对企业数字化转型的推动作用

随着人工智能技术的飞速发展,AI大模型和智能代理(Agent)的兴起正成为推动企业数字化转型的重要力量。从2017年GPT-1的首次亮相到2025年GPT-4和Qwen 2.5等多模态模型的成熟,AI大模型经历了显著的技术演进;与此同时&…

位运算练习:起床困难综合征(贪心,位运算)(算法竞赛进阶指南学习笔记)

目录 前情提要起床困难综合征(贪心,位运算) 前情提要 一些基础运算操作用法看看上一篇; 起床困难综合征(贪心,位运算) 题目原文 [P2114 NOI2014] 起床困难综合症 - 洛谷 思路分析 题目很长…

PowerBi中REMOVEFILTERS怎么使用?

在 Power BI 的 DAX 中,REMOVEFILTERS() 是一个非常重要的函数,常用于取消某个字段或表的筛选上下文(Filter Context),从而让你的计算不受切片器(Slicer)、筛选器或视觉对象的限制。 ✅ 一、REM…

Vue3 实战:打造多功能旅游攻略选项卡页面

在旅游类应用开发中,为用户提供全面、直观的信息展示界面至关重要。本文将分享如何基于 Vue3 Axios 技术栈,实现一个包含攻略、游记、问答三大板块的旅游攻略选项卡页面,从样式设计到交互逻辑,带你深入了解整个开发过程。 项目背…