一、注意力机制背景:
在Transformer架构中,自注意力(Self-Attention)是核心组件。其基本公式为: 在这里插入图片描述其中:
Q (Query):查询向量,表示问询量。用于与其他位置的Key交互,计算相似度
K (Key):键向量,用于匹配查询的特征
V (Value):值向量,是最终被加权求和的内容
dk:Key的维度,用于缩放防止梯度爆炸
注意力机制的本质是:通过Q与K的相似性,决定对每个V赋予多大的权重,从而实现“有选择地关注”。

在传统Transformer的自注意力机制中,输入序列中的每个位置(每个词/子词对应的嵌入向量)都会生成自己独立的查询(Query, q)、键(Key, k)和值(Value, v)向量。这是自注意力机制的核心设计之一,但是每个输入位置(token)都生成独立的 q、k、v 向量,也是 Transformer 架构中计算和内存消耗的主要来源之一。每个 token 的嵌入向量(d_model 维)需通过三个独立的线性变换,权重矩阵 W_q, W_k, W_v,每个维度 d_model × d_model。

在大模型注意力机制中,在传统查询 Q 是基础上,为了增强注意力能力与模型表达与优化计算量、显存消耗衍生出了 MHA、MQA、GQA 等多种注意力机制。

传统查询 Q:在注意力机制中,传统查询 Q 是用于表示当前 token 对其他 token 关注度的向量。通过将输入序列经过线性变换得到 Q,再与键向量 K 进行点积运算,得到注意力分数,进而与值向量 V 加权求和,得到最终的注意力输出,以此来确定当前 token 与其他 token 的相关程度,聚焦关键信息。

多头注意力机制(MHA)中的查询:MHA 是 Transformer 架构的核心组件。它将输入向量分别通过多个线性变换层,得到多个查询 Q、键 K 和值 V 矩阵,每个头都有独立的 Q、K、V。然后每个头分别进行注意力计算,最后将结果拼接并经过线性变换得到最终输出。这种方式允许不同的查询头关注不同的 Key - Value 信息,提高了模型的表达能力,适合复杂任务,但推理速度慢,KV 缓存大,占用大量显存和内存带宽。在Transformer架构中,注意力机制几乎总是采用多头注意力(Multi-Head Attention),而非单头。单头注意力只能从一种“视角”捕捉序列中的依赖关系(如仅关注语法结构或局部语义),无法同时建模多种复杂关系。

多查询注意力机制(MQA)中的查询:MQA 是 MHA 的变体,其让所有的头之间共享同一份 Key 和 Value 矩阵,每个头只单独保留一份 Query 参数。相比 MHA,MQA 大大减少了 Key 和 Value 矩阵的参数量,提升了推理速度,显存占用低,适用于大规模语言模型推理。但由于所有头共享相同的 K、V,不同 Query 头会关注相同的信息,导致模型表达能力下降,可能出现训练不稳定的情况。

分组查询注意力机制(GQA)中的查询:GQA 也是 MHA 的变体,它将查询头分成 G 组,每个组内的头共享一个 Key 和 Value 矩阵,而每个头仍单独保留一份 Query 参数。GQA 介于 MHA 和 MQA 之间,部分 Query 头共享 Key - Value,保持了一定的多样性,推理速度比 MHA 快,模型质量比 MQA 高,在推理速度和模型质量之间取得了更好的平衡。
以GQA举例:64个头,将查询头(Query Heads)分为8组。同一组内的所有Query头共享同一组Key和Value。64个Query头 → 8组 → 每组8个头共享1组KV → 最终仅需8组KV(而非64组)。

二、新的注意力机制模型Qwen3-Next-80B-A3B:
阿里发布了新的高效模型使用了混合注意力机制,了解下发现他的注意力机制很不同。模型混合了两种注意力机制,一个标准注意力机制,即前述的传统注意力机制优化版,与另一个改良的标准线性注意力。

标准 Transformer 的自注意力机制计算复杂度与序列长度的平方 (O(L²)) 成正比,这使其在处理长文本时变得异常昂贵。线性注意力的核心思想是通过改变计算顺序,将复杂度降低到线性级别 (O(L))。 Attention(Q, K, V) = Softmax(QK^T)V 的核心是计算注意力矩阵 A = Softmax(QK^T)。这个 A 是一个 L x L 的矩阵 (L是序列长度),矩阵中的每个元素 A_ij 代表第 i 个查询(Query)对第 j 个键(Key)的关注度。正是这个 L x L 矩阵的计算和存储,导致了 O(L²) 的复杂度。
线性注意力的核心思想是,找到一个函数 sim(Q, K) 来替代 Softmax(QK^T),并且这个函数满足可分解的性质.也就是说, sim(Q, K) 可以被写作 φ(Q) * φ(K)^T 的形式,其中 φ 是一个应用到 Q 和 K 上的核函数(或称为特征映射)。
那么注意力的计算就可以变成:
Attention(Q, K, V) = (φ(Q) * φ(K)^T) * V
使用结合律Attention(Q, K, V) = φ(Q) * (φ(K)^T * V)
选择合适的核函数 φ 至关重要,它需要很好地近似 Softmax 的效果。一个简单而有效的选择是:
φ(x) = ELU(x) + 1
这里的 ELU 是一个激活函数。使用这个函数可以保证映射后的值都是正数,这在一定程度上模拟了 Softmax 中 exp() 函数的作用,即确保相似度得分是非负的。
线性注意力通过使用一个核函数 φ 来替代标准注意力中的 Softmax 函数,将相似度计算 Softmax(QK^T) 变换为 φ(Q)φ(K)^T 的形式。正是因为这种变换,我们才得以应用矩阵乘法的结合律,将计算顺序重排为 φ(Q) * (φ(K)^T * V),从而将计算复杂度从 O(L²) 降低到 O(L)。

怎么变成的O(L)?
当前虽然使用了两个 φ 来替代标准注意力中的 Softmax 函数,但是如果仍然(φ(Q) * φ(K)^T) * V依然出现了Q*K^T的计算影子。
若序列长度 (Length) L = 4096
特征维度 (Dimension) d = 64
输入矩阵维度:
Q (查询): L x d (4096 x 64)
K (键): L x d (4096 x 64)
V (值): L x d (4096 x 64)
K^T (K的转置) 的维度是 d x L (64 x 4096)。
计算 A = Q * K^T,结果矩阵 A 的维度是 (L x d) * (d x L) = L x L (4096 x 4096)。
通过结合律改成φ(Q) * (φ(K)^T * V)的计算会变成:
先计算 S = K^T * V:
K^T 的维度是 d x L (64 x 4096)。
V 的维度是 L x d (4096 x 64)。
计算结果 S 的维度是 (d x L) * (L x d) = d x d (64 x 64)。
得到了一个大小为 d x d 的小矩阵。
这个矩阵的大小与序列长度 L 无关。
计算它的复杂度是 d * L * d = O(Ld²),这是一个线性复杂度。

变化计算顺序后S = K^T * V 可以看作是输入内容的状态,因为矩阵乘法的定义是 S_ij = Σ (K^T)_ik * V_kj,注意是K^T的累和。
S = Σ (k_t * v_t^T),其中 k_t 和 v_t 分别是第 t 个时间步的键向量和值向量。遍历了整个序列(从t=1到L),对于每一个位置 t,它都将该位置的“键”向量 (k_t) 与“值”向量 (v_t) 进行外积运算,然后将所有这些外积结果累加起来。
可以把 V 看作输入模型的内容, K 看作内容序列的索引。K^T * V 这个操作,是获取整个内容的状态值,把所有信息压缩到一起。

三、混合注意力的缺陷与优化:
线性注意力机制是有一个缺陷,它不能很好的兼顾全局特征信息关系。为了处理这个问题,加入了Gated DeltaNet与门控注意力。

Gated DeltaNet 本质上是一种经过精心改良的线性注意力机制。线性注意力利用矩阵乘法的结合律,将计算顺序变为 Q * (K^T * V)。其中 K^T * V 可以被看作一个“记忆”或“状态”,它不断累积序列的信息。但是简单的累积式更新存在一个严重问题,随着序列变长,新的信息不断被加到旧的记忆中,导致关键信息被稀释,模型难以精确地回忆起早期的特定内容。 这就是 DeltaNet 和门控机制要解决的核心痛点。

Delta 规则借鉴了机器学习中的一个经典概念,即根据误差来调整权重。其核心思想是:在添加新信息之前,先减去一个“预估的旧信息”,从而实现对记忆的精确修改,而非简单的叠加。
传统的线性注意力更新记忆的方式可以简化为:
新记忆 = 旧记忆 + 新的键值对信息
而 DeltaNet 的更新方式则是:
新记忆 = 旧记忆 + (新的键值对信息 - 基于旧记忆对新信息的预测)
这里的“预测”可以理解为:用旧的记忆状态去“看待”新来的信息(key),看看能获得哪些内容。如果新信息与旧记忆高度相关,那么预测值就会很大,相减之后实际增加的量就小,避免了信息冗余。反之,如果新信息是全新的、出乎意料的,预测值就会很小,那么这个新信息就会被更完整地保留下来。
通过这种“减法”操作,Delta 规则实现了对记忆的更精确更新,增强了模型进行关联性回忆的能力。

累加的状态数据容量是有限的,当遇到完全不同的上下文内容时,模型需要能够“清空”或“淡化”不再相关的旧记忆。这便把门控机制引入模型,可以动态地控制信息的流动和保留。门控因子通常由输入数据计算得出一个 0 到 1 之间的值,然后用这个值来调节记忆的更新。
工作原理:
结合了门控的更新过程可以简化为:
新记忆 = A * 旧记忆 + B * 新信息
这里的 A 和 B 就是由门控动态计算出来的系数。如果门控判断当前信息与历史关联不大,它可能会给 A 一个很小的值,这就相当于“关小阀门”,让大部分旧记忆“流失”掉,从而为新信息腾出空间。这种快速内存擦除的能力对于处理上下文主题频繁切换的复杂文本至关重要。
Delta 规则 负责如何精确地写入和修改记忆,它提升了信息更新的质量。
门控机制 负责决定何时遗忘以及遗忘多少,它提升了记忆管理的灵活性。
二者结合,形成了一种强大而高效的记忆更新机制——门控 Delta 规则。 它让模型既能通过门控快速丢弃无用信息,又能通过 Delta 规则对需要保留的记忆进行精细化、有针对性的修改。
并且模型实验经验是引入标准注意力,按照线性注意力3:1标准注意力混合使用。其核心目的是为了弥补线性注意力的固有短板,从而实现更强大的全局特征捕获能力。

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

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

相关文章

数据库(一)数据库基础及MySql 5.7+的编译安装

文章目录前言一、数据库概述1.1 前置知识1.1.1 LAMP / LNMP 架构1.1.2 数据库的定位1.2 数据库基本概念1.2.1 数据1.2.2 表1.2.3 数据库1.2.4 数据库管理系统(DBMS)1.2.5 数据库系统(DBS)1.3 数据库发展史1.3.1 第一阶段&#xff…

Elasticsearch HTTPS访问错误解决指南

文章目录🔍 原因分析✅ 正确的访问方式:使用 curl -k https://...🔐 你需要知道 elastic 用户的密码方法 1:查看首次生成的密码(如果刚安装)方法 2:重置密码✅ 成功示例🎉 总结&…

Neural ODE原理与PyTorch实现:深度学习模型的自适应深度调节

对于神经网络来说,我们已经习惯了层状网络的思维:数据进来,经过第一层,然后第二层,第三层,最后输出结果。这个过程很像流水线,每一步都是离散的。 但是现实世界的变化是连续的,比如…

Elasticsearch面试精讲 Day 16:索引性能优化策略

【Elasticsearch面试精讲 Day 16】索引性能优化策略 在“Elasticsearch面试精讲”系列的第16天,我们将深入探讨索引性能优化策略。这是Elasticsearch高频面试考点之一,尤其在涉及高并发写入、海量日志处理或实时数据分析场景时,面试官常通过…

ESP32-C3 入门09:基于 ESP-IDF + LVGL + ST7789 的 1.54寸 WiFi 时钟(SquareLine Studio 移植)

一. https://github.com/nopnop2002/esp-idf-st7789 1. 前言 2. 开发环境准备 2.1 硬件清单 ESP32-C3 开发板ST7789 1.54 寸 LCD其他辅助元件(杜邦线、电源) 2.2 软件安装 ESP-IDF 环境安装(WindowsVScode)VSCode 插件配置LV…

PINN物理信息神经网络驱动的三维声波波动方程求解MATLAB代码

MATLAB 代码实现了一个基于物理信息神经网络(Physics-Informed Neural Network, PINN)的三维波动方程求解器。以下是详细分析:🧠 一、主要功能🔗 二、逻辑关联 代码结构清晰,分为五个主要部分: …

leetcode33(最小栈)

设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。实现 MinStack 类:MinStack() 初始化堆栈对象。void push(int val) 将元素val推入堆栈。void pop() 删除堆栈顶部的元素。int top() 获取堆栈顶部的元素。int getMin(…

TDesign学习:(二)i18n配置与使用

配置 src/locales/lang/en_US/pages 目录下对应的各个模块语言的对象

k8s 内置的containerd配置阿里云个人镜像地址及认证

原因:阿里云仓库必须使用凭证登录,不然无法进行镜像拉取!1.生成自己的凭证信息# 格式:阿里云仓库用户名:凭证密码 echo -n myuser:mypass | base64 #生成的加密凭证 bXl1c2VyOm15cGFzcw2.修改containerd的镜像仓库配置vi /etc/co…

Python实战:HTTP接口数据获取与PostgreSQL存储系统

项目背景 项目结构 关键技术点 1. 灵活的HTTP请求处理 2. 自动表结构生成与字段类型推断 3. 健壮的数据库操作与错误处理 4. 配置驱动的设计理念 功能实现 1. 数据获取流程 2. 命令行参数支持 2. 数据处理与字段排除 项目扩展与优化方向 结语 项目背景 在日常开发和数据分析工…

递归,搜索与回溯算法

递归→搜索→回溯 名词解释 递归 1.什么是递归 形象地说就是函数自己调用自己。 例子: 二叉树的遍历-后序遍历 void dfs(treenode* root) {//细节 - 出口if(root NULL) return;dfs(root->left);dfs(root->right);printf(root->val); }快排 void quickSort…

【OpenAPI】OpenAPI 3.0x 格式解析技术指南

OpenAPI 格式解析技术指南 概述 OpenAPI(原名 Swagger)是一种用于描述 REST API 的规范格式,它提供了标准化的方式来定义 API 的结构、参数、响应等信息。本文将深入探讨如何解析 OpenAPI 文档,并基于实际项目中的 openapi-pars…

【亲测有效】解决 “Batch script contains DOS line breaks (\r\n)” 报错

【亲测有效】解决 “Batch script contains DOS line breaks (\r\n)” 报错 适用场景:在 Linux/Slurm 集群上 sbatch 提交脚本或运行 Shell 脚本时遇到 “DOS line breaks (\r\n) instead of UNIX line breaks (\n)” 的报错。 文章目录【亲测有效】解决 “Batch sc…

动态 SQL 标签对比表

动态 SQL 标签对比表标签用途关键属性默认行为<if>条件判断test条件成立则拼接<where>处理 WHERE无去除 AND/OR 开头&#xff0c;加 WHERE<set>处理 SET无去除末尾逗号&#xff0c;加 SET<foreach>遍历集合collection, item, separator无默认&#xff…

征程 6 灰度图部署链路介绍

一、为什么是灰度图 相较于 RGB 三通道图像&#xff0c;灰度图仅保留亮度信息&#xff08;Y 分量&#xff09;&#xff0c;数据量减少 2/3&#xff0c;相比于常用的 NV12 图像&#xff0c;数据量减少 1/3&#xff0c;内存占用与计算负载显著降低。对于下游网络结构而言&#xf…

计算机毕业设计 基于Hadoop的健康饮食推荐系统的设计与实现 Java 大数据毕业设计 Hadoop毕业设计选题【附源码+文档报告+安装调试】

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python、大数据、人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&…

基于海康SDK的C++实时视频流逐帧抓取存图小工具

目录 效果 项目 使用 代码 下载 效果 项目 使用 PlayDemo.exe <IP> <Port> <Username> <Password> 代码 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string> #include <iostream> #include <Windows.…

windows|引用账户被锁定 且暂时无法登录

问题描述尴了个尬&#xff0c;一直认为笔记本锁屏密码记得很牢靠&#xff0c;没想到因为少敲了一个点&#xff08;.&#xff09;&#xff0c;多次输入登陆失败&#xff0c;导致账户被锁定了&#xff0c;提示&#xff1a;引用账户被锁定 且暂时无法登录。然后用手机搜索了一下&a…

系统核心解析:深入操作系统内部机制——进程管理与控制指南(三)【进程优先级/切换/调度】

♥♥♥~~~~~~欢迎光临知星小度博客空间~~~~~~♥♥♥ ♥♥♥零星地变得优秀~也能拼凑出星河~♥♥♥ ♥♥♥我们一起努力成为更好的自己~♥♥♥ ♥♥♥如果这一篇博客对你有帮助~别忘了点赞分享哦~♥♥♥ ♥♥♥如果有什么问题可以评论区留言或者私信我哦~♥♥♥ ✨✨✨✨✨✨个人…

量子-resistant密码学研究

当亚马逊CloudFront在2025年9月宣布为所有TLS连接默认启用后量子加密支持时&#xff0c;这一举措标志着抗量子密码学从学术研究正式迈入大规模实用部署阶段。与此同时&#xff0c;密码学家们发出警告&#xff1a;一台拥有不到一百万噪声量子比特的计算机&#xff0c;可能在一周…