当前位置: 首页 > news >正文

【注意力MHA,MQA,GQA,MLA】

注意力机制优化简明图解

1. 多头注意力(MHA)

图示:

Input --> [Attention Head 1]--> [Attention Head 2]--> [Attention Head 3]--> ...--> [Attention Head N]--> [Concatenate] --> Output

公式:

Output = Concat ( head 1 , head 2 , … , head N ) \text{Output} = \text{Concat}(\text{head}_1, \text{head}_2, \ldots, \text{head}_N) Output=Concat(head1,head2,,headN)
head i = Attention ( Q , K , V ) \text{head}_i = \text{Attention}(Q, K, V) headi=Attention(Q,K,V)

2. 多查询注意力(MQA)

图示:

Input --> [Shared Keys & Values]--> [Attention Head 1]--> [Attention Head 2]--> [Attention Head 3]--> ...--> [Concatenate] --> Output

公式:
Output = Concat ( head 1 , head 2 , … , head N ) \text{Output} = \text{Concat}(\text{head}_1, \text{head}_2, \ldots, \text{head}_N) Output=Concat(head1,head2,,headN)
head i = Attention ( Q , K shared , V shared ) \text{head}_i = \text{Attention}(Q, K_{\text{shared}}, V_{\text{shared}}) headi=Attention(Q,Kshared,Vshared)

3. 分组查询注意力(GQA)

图示:

Input --> [Attention Group 1]--> [Attention Group 2]--> ...--> [Concatenate] --> Output

公式:
Output = Concat ( group 1 , group 2 , … , group M ) \text{Output} = \text{Concat}(\text{group}_1, \text{group}_2, \ldots, \text{group}_M) Output=Concat(group1,group2,,groupM)
group j = Attention ( Q group j , K group j , V group j ) \text{group}_j = \text{Attention}(Q_{\text{group}_j}, K_{\text{group}_j}, V_{\text{group}_j}) groupj=Attention(Qgroupj,Kgroupj,Vgroupj)

4. 多头潜在注意力(MLA)

图示:

Input --> [Compressed Keys & Values]--> [Attention Head 1]--> [Attention Head 2]--> [Attention Head 3]--> ...--> [Concatenate] --> Output

公式:
Output = Concat ( head 1 , head 2 , … , head N ) \text{Output} = \text{Concat}(\text{head}_1, \text{head}_2, \ldots, \text{head}_N) Output=Concat(head1,head2,,headN)
head i = Attention ( Q , K compressed , V compressed ) \text{head}_i = \text{Attention}(Q, K_{\text{compressed}}, V_{\text{compressed}}) headi=Attention(Q,Kcompressed,Vcompressed)

低秩键值联合压缩公式:

K compressed = U K ⋅ S K ⋅ V K T K_{\text{compressed}} = U_K \cdot S_K \cdot V_K^T Kcompressed=UKSKVKT
V compressed = U V ⋅ S V ⋅ V V T V_{\text{compressed}} = U_V \cdot S_V \cdot V_V^T Vcompressed=UVSVVVT

图示概述

  1. MHA: 每个头独立操作,最终结果拼接。
  2. MQA: 多个头共享键和值,只计算一次查询,减少计算量。
  3. GQA: 查询分组,每组共享键和值,进一步减少计算量。
  4. MLA: 键和值进行压缩,减少内存和计算需求。

这些方法通过不同的策略优化注意力机制,提高了计算效率,降低了内存消耗,使Transformer模型在实际应用中更加高效。

相关文章:

【注意力MHA,MQA,GQA,MLA】

注意力机制优化简明图解 1. 多头注意力(MHA) 图示: Input --> [Attention Head 1]--> [Attention Head 2]--> [Attention Head 3]--> ...--> [Attention Head N]--> [Concatenate] --> Output公式: Outpu…...

《从零开始做个摸鱼小网站! · 序》灵感来源

序 大家好呀,我是summo,这次来写写我在上班空闲(摸鱼)的时候做的一个小网站的事。去年阿里云不是推出了个活动嘛,2核2G的云服务器一年只要99块钱,懂行的人应该知道这个价格在业界已经是非常良心了,虽然优惠只有一年&a…...

计算机基础(Windows 10+Office 2016)教程 —— 第5章 文档编辑软件Word 2016(上)

文档编辑软件Word 2016 5.1 Word 2016入门5.1.1 Word 2016 简介5.1.2 Word 2016 的启动5.1.3 Word 2016 的窗口组成5.1.4 Word 2016 的视图方式5.1.5 Word 2016 的文档操作5.1.6 Word 2016 的退出 5.2 Word 2016的文本编辑5.2.1 输入文本5.2.3 插入与删除文本5.2.4 复制与移动文…...

短视频矩阵管理系统源码:实现短视频内容全面布局

随着移动互联网的普及,短视频应用逐渐成为人们获取信息、娱乐休闲的重要途径。为了满足用户多样化需求,实现短视频内容的全面布局,短视频矩阵管理系统应运而生。本文将详细介绍短视频矩阵管理系统的源码实现,帮助您更好地理解并应…...

系统设计中15 个最重要的权衡

系统设计的第一法则:一切都与权衡有关。 在设计系统时,我们需要决定要包含哪些功能以及要忽略哪些功能。每次我们做这个决定时,我们都在进行权衡。在本文中,我们将探讨系统设计中遇到的15个最常见的权衡问题,并使用实…...

12年外贸实战经验,一定对你有帮助!

更多外贸干货及开发客户的方法,尽在微信【千千外贸干货】 NO1 客户总是抱怨价格太高,我常以我们产品质量过硬作为回应。但自从我进入贸易公司后,才真正意识到,在商业世界里,价格才是王道。 NO2 如果顾客提出要去工厂检…...

Linux---进程(3)---进程状态

目录 进程排队 进程状态 运行状态 阻塞状态 挂起状态 Linux内核具体进程状态 浅度睡眠状态 运行状态 深度睡眠状态 暂停状态 可被追踪的暂停状态 终止状态 僵尸状态 进程排队 进程不是一直在运行的,进程放在了CPU上,也不是一直运行的。 进程…...

Drools规则引擎实现停车计费

业务规则: 20:00至次日7时不收费白天7:00-20:00每小时5元,每半个小时计费一次进场30分钟内不收费,但计入时间每天最高收费50元 测试项目搭建 pom<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/…...

【python虚拟环境】安装第三方包失败/failed with error code1

问题&#xff1a; 今天新建了一个项目&#xff0c;默认的虚拟环境pip包版本是19.0.3&#xff0c;太低了。安装第三方包的时候一直超时 解决方案: 更新pip&#xff1a; python -m pip install -U --force-reinstall pip然后就可以正常pip install包了 清华镜像源&#xff1…...

DiffusionModel-latent diffusion,VAE,U-Net,Text-encoder

Diffusers StableDdiffusion 参考: Stable Diffusion原理详解&#xff08;附代码实现) Latent Diffusion 自编码器&#xff08;Variational Autoencoder, VAE&#xff09;&#xff1a; 自编码器是一种无监督学习的神经网络&#xff0c;用于学习数据的有效表示或编码。在稳定扩…...

C# form的移植工作

前言&#xff1a; 目标&#xff0c;将一个项目的form移植到新的工程下&#xff0c;且能够正确编译执行&#xff1a; 1 Copy form的两个文件到新工程下&#xff1a; 比如笔者的logo form 2 修改命名空间&#xff1a; 然后&#xff0c;找到新项目的主程序&#xff1a; 的命名…...

linux防火墙相关命令

防火墙启动关闭 启动防火墙 systemctl start firewalld 关闭防火墙 systemctl stop firewalld 查看状态 systemctl status firewalld 开放或限制端口 开放端口 firewall-cmd --zonepublic --add-port22/tcp --permanent 重新载入一下防火墙设置&#xff0c;使设置生效…...

实习中学到的一点计算机知识(MP4在企业微信打不开?)

我在实习中&#xff0c;常有同事向我反馈说我在微信发的视频格式打不开。这就导致我还要一帧帧的盯着某一个时刻来截图&#xff0c;今天查了一下资料尝试修改视频后缀来解决视频的播放问题。 在网上下载mp4的格式&#xff0c;在本地都能播放&#xff0c;怎么可能发上企业微信就…...

ElasticSearch入门语法基础知识

1、创建测试索引 PUT /test_index_person {"settings": {"analysis": {"analyzer": {"ik_analyzer": {"type": "custom","tokenizer": "ik_smart"}}}},"mappings": {"proper…...

【C++】C++应用案例-dolphin海豚记账本

目录 一、整体介绍 1.1、需求和目标 1.2、整体功能描述 二、页面及功能描述 2.1 主菜单 2.2 记账菜单 2.3 查询菜单 2.4 退出功能 三、流程设计 3.1 主流程 3.2 记账操作流程 3.3 查询操作流程 四、代码设计 4.1 核心思路 4.2 项目文件分类设计 4.2.1 头文件 …...

Matlab数据处理学习笔记

1 &#xff1a;数据清洗 注&#xff1a;数据读取 &#xff08;1&#xff09;读取工作表 % 指定要读取的工作表 filename sales_data.xlsx; sheetName Sheet2; % 或者使用工作表编号&#xff0c;例如&#xff1a;sheetNumber 2;% 读取指定工作表的数据 data readtable(fi…...

浏览器中的同源策略、CORS 以及相关的 Fetch API 使用

前言 笔者对前端 Web 技术的认真学习&#xff0c;其实开始于与 Fetch API 的邂逅。当时觉得 fetch() 的设计很不错&#xff0c;也很希望能够请求其它网站下的数据并作处理和展示。学习过程中 HTML 和 CSS 都还好说&#xff0c;由于几乎没有 Web 技术的基础&#xff0c;学习 Fe…...

爬虫 APP 逆向 ---> 粉笔考研

环境&#xff1a; 粉笔考研 v6.3.15&#xff1a;https://www.wandoujia.com/apps/1220941/history_v6031500雷电9 模拟器&#xff1a;https://www.ldmnq.com/安装 magisk&#xff1a;https://blog.csdn.net/Ruaki/article/details/135580772安装 Dia 插件 (作用&#xff1a;禁…...

2024河南萌新联赛第(三)场 河南大学

B. 正则表达式 题目&#xff1a; https://ac.nowcoder.com/acm/contest/87865/B 给出n个地址&#xff0c;每个地址的形式为x.x.x.x&#xff0c;找四个x都满足x>0&&x<255的个数 思路&#xff1a; 首先定义四个数组和一个字符&#xff0c;然后按题目所给的形式…...

回溯法---分割回文串

题目&#xff1a;给你一个字符串 s&#xff0c;请你将 s 分割成一些子串&#xff0c;使每个子串都是回文串。返回 s 所有可能的分割方案。 思路&#xff1a; 第一步&#xff1a;确定参数与返回值。参数为字符串s&#xff0c;分割起始下标startIndex&#xff0c;无返回值 第二…...

避坑指南:STM32CubeMX配置红外接收,为什么你的解码总是不准?

STM32CubeMX红外接收解码优化实战&#xff1a;从原理到精准解析 红外遥控技术在家电控制、智能设备交互中扮演着重要角色&#xff0c;但许多开发者在STM32平台上实现红外接收解码时&#xff0c;常遇到信号不稳定、误码率高等问题。本文将深入分析红外接收解码的核心原理&#…...

别再只玩开发板了!用吃灰的STM32核心板DIY一个专属游戏手柄,实战HID协议

从零构建STM32游戏手柄&#xff1a;深入解析HID协议与实战开发 你是否曾盯着抽屉里积灰的STM32核心板思考它能做什么&#xff1f;与其重复点亮LED的基础实验&#xff0c;不如挑战一个既实用又有趣的项目——打造专属游戏手柄。这不仅能让硬件资源重获新生&#xff0c;更是深入理…...

StreamCap:让直播录制变得如此简单的跨平台自动录制工具

StreamCap&#xff1a;让直播录制变得如此简单的跨平台自动录制工具 【免费下载链接】StreamCap Multi-Platform Live Stream Automatic Recording Tool | 多平台直播流自动录制客户端 基于FFmpeg 支持监控/定时/转码 项目地址: https://gitcode.com/gh_mirrors/st/StreamC…...

别只盯着SQL了!GaussDB健康度巡检,这5个‘外围’命令和日志文件更重要

别只盯着SQL了&#xff01;GaussDB健康度巡检&#xff0c;这5个‘外围’命令和日志文件更重要 当数据库出现性能波动时&#xff0c;大多数DBA的第一反应是检查慢SQL或调整参数。但根据某金融客户的生产环境统计&#xff0c;超过60%的数据库故障其实源于日志溢出、网络闪断或备份…...

40_《智能体微服务架构企业级实战教程》智能助手主应用服务之工具类封装

前言 配套视频教程: 在 Bilibili课堂、CSDN课程、51CTO学堂 同步发售,提供:源码+部署脚本+文档。 bilibili课堂视频教程:智能体微服务架构企业级实战教程_哔哩哔哩_bilibili CSDN课程视频教程:智能体微服务架构企业级实战教程_在线视频教程-CSDN程序员研修院 51CTO学堂…...

5步精通:Windows风扇智能控制终极指南

5步精通&#xff1a;Windows风扇智能控制终极指南 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/FanControl.Rel…...

计算机人别卷开发了!这个方向让我毕业年入_20_万,兼职还能赚8K

一、我那 “躺赢” 的同学&#xff1a;从找不到工作到 offer 拿到手软 去年毕业季&#xff0c;我们班一半人在死磕 LeetCode 求开发岗&#xff0c;月薪 8K 都要抢破头&#xff1b;而隔壁宿舍的阿凯&#xff0c;没卷一道算法题&#xff0c;却拿到了 3 家企业的安全岗 offer&…...

题目五:抽象类 + 接口 混合实现

编程要求&#xff1a;抽象类 Machine&#xff1a;抽象方法 work()&#xff0c;普通方法 start()&#xff1b;接口 Clean&#xff1a;抽象方法 clean()&#xff1b;类 Robot继承抽象类 Machine 实现接口 Clean&#xff1b;实现所有未实现的方法&#xff1b;测试创建机器人对象&…...

集合进阶(Collection)

一、集合概述和分类1.1 集合的分类如下图所示&#xff1a;一类是单列集合元素是一个一个的&#xff0c;另一类是双列集合元素是一对一对的。 主要学习Collection单列集合。Collection是单列集合的根接口&#xff0c;也称之为顶层接口&#xff0c;Collection接口下面又有两个子接…...

Flutter Provider 状态管理完全指南

Flutter Provider 状态管理完全指南 引言 Provider 是 Flutter 中最流行的状态管理方案之一&#xff0c;它基于 InheritedWidget 实现&#xff0c;提供了简单而强大的状态管理方式。本文将深入探讨 Provider 的各种用法和高级技巧。 基础概念回顾 Provider 类型 Provider - 最基…...