小红书 算法一面 一

发布时间:2026/8/16 22:05:17

小红书 算法一面 一
MHA、MQA 这些核心思想是什么## 一、MHAMulti-Head Attention多头注意力核心思想MHA是Transformer架构2017年Vaswani等人提出的**核心组件**其核心思想可概括为**通过多个并行的注意力头从不同特征子空间同时捕捉输入序列的多维度依赖关系最后融合各头信息获得更全面的上下文表示** 。### 1. 核心创新点- **多视角信息捕捉**突破单头注意力局限让模型像人一样从多个视角观察输入每个头专注于不同类型的关系如语法结构、语义关联、指代关系等- **子空间并行建模**将Q、K、V通过独立线性变换映射到多个低维子空间每个子空间独立计算注意力提升特征表达能力- **信息融合增强**各头输出拼接后再通过线性变换整合实现多维度信息的协同捕捉### 2. 工作流程1. **线性映射**输入向量通过三个独立线性层生成Q、K、V矩阵2. **头部分割**将Q、K、V各分割为h个并行头部如8头、16头每个头部维度为d_k d_model/h3. **独立计算**每个头部独立执行缩放点积注意力计算4. **结果合并**拼接所有头部输出通过最终线性层得到MHA输出### 3. 数学表达MultiHead(Q,K,V) Concat(head₁, head₂, ..., headₕ) · W^Owhere headᵢ Attention(Q·W^Qᵢ, K·W^Kᵢ, V·W^Vᵢ)W^Qᵢ, W^Kᵢ, W^Vᵢ为第i个头的独立投影矩阵W^O为最终输出投影矩阵## 二、MQAMulti-Query Attention多查询注意力核心思想MQA是2019年提出的MHA变体核心思想为**在保持多个查询头Multi-Query的同时让所有查询头共享同一组键K和值V以牺牲少量表达能力为代价大幅降低计算与内存开销提升推理速度** 。### 1. 核心创新点- **KV共享机制**所有Q头共享单组K和VK和V仅保留1个头而非h个头- **计算与内存优化**将KV缓存大小从O(h·L·d_k)降至O(L·d_k)L为序列长度显著减少推理时的内存访问与计算量- **生成效率提升**特别适合自回归生成任务如大模型文本生成能将decoder生成token速度提升2倍以上### 2. 工作流程1. **线性映射**Q通过h个独立线性层生成h个查询头K和V仅通过1个线性层生成1组键值对2. **注意力计算**每个Q头与同一组K、V计算注意力权重3. **结果合并**拼接所有Q头输出通过线性变换得到最终结果### 3. 数学表达MultiQueryAttention(Q,K,V) Concat(head₁, head₂, ..., headₕ) · W^Owhere headᵢ Attention(Q·W^Qᵢ, K·W^K, V·W^V) (∀i)W^K和W^V为所有头共享的投影矩阵## 三、MHA与MQA核心差异对比| 对比维度 | MHA | MQA ||---------|-----|-----|| **核心设计** | Q、K、V均有h个头相互独立 | Q有h个头K、V仅1个头所有Q头共享 || **表达能力** | 强能捕捉更丰富的多维度关系 | 略弱牺牲部分多子空间表达能力 || **计算复杂度** | O(h·L²·d_k) | O(L²·d_k)降低h倍 || **内存开销** | 高KV缓存随h线性增长 | 低KV缓存与h无关 || **推理速度** | 较慢 | 快尤其适合长序列生成任务 || **适用场景** | 对表达能力要求高的任务如机器翻译、文本理解 | 对推理速度要求高的生成任务如大模型部署、实时对话 |## 四、总结MHA的核心是**分而治之的多视角建模**通过多个独立注意力头捕捉输入中复杂的多维度关系是Transformer模型强大表达能力的基础MQA的核心是**共享高效的性能优化**通过KV共享机制在保持多查询头的同时大幅降低开销是大模型高效推理的关键技术之一。两者分别代表了注意力机制在表达能力与计算效率两个方向的设计权衡。MLA 又是什么在哪里降维为什么需要对剩下的部分做 rope?### 一、核心需求复述你想了解MLA多头线性注意力的核心概念明确在MLA架构中**降维操作具体发生的位置**以及为何要对MLA处理后剩余的特征部分应用RoPE旋转位置编码。我会从基础概念到具体细节结合和MHA/MQA的对比帮你理清这些问题。### 二、MLAMulti-Head Linear Attention多头线性注意力核心解析#### 1. MLA的核心思想MLA是标准MHA的**长序列优化变体**核心目标是解决MHA的O(L²)计算复杂度L为序列长度问题——MHA在长序列如L10000场景下计算量会爆炸式增长而MLA通过**核函数近似**将注意力复杂度降至O(L)同时保留“多头”设计的多视角建模能力。简单来说- MHA是“全局两两比对”每个token和所有token算注意力MLA是“全局投影求和”通过核映射将K/V投影到特征空间后求和避免两两比对- 保留“多头”设计让每个头独立执行线性注意力计算兼顾多视角建模和长序列效率。MLA的核心公式简化版# 线性注意力核心用核映射φ替换MHA的点积将注意力从两两比对转为求和LinearAttention(Q,K,V) φ(Q) · (φ(K)ᵀ · V) / Z# MLA则是对每个头独立计算后拼接MLA(Q,K,V) Concat(head₁, head₂, ..., headₕ) · W^Owhere headᵢ LinearAttention(Q·W^Qᵢ, K·W^Kᵢ, V·W^Vᵢ)#### 2. MLA中降维的具体位置MLA的降维操作主要发生在**两个关键阶段**核心目的是控制计算量、聚焦关键特征且降维逻辑和MHA一脉相承但适配了线性注意力的特性##### 阶段1多头拆分时的维度投影核心降维这是和MHA一致的基础降维步骤发生在注意力计算**之前**- 输入特征维度为d_model如768、4096先通过线性层将Q/K/V分别投影到h × d_k维度h为头数d_k为单头维度满足h × d_k d_model- 例如d_model768、h12时每个头的d_k64相当于将768维的全局特征拆分为12个64维的子空间特征——这一步是**最核心的降维**将高维特征拆分为低维子空间避免单头计算量过大。##### 阶段2线性注意力核映射时的可选降维优化降维这是MLA特有的降维步骤发生在核函数映射阶段- 线性注意力的核函数如ReLU、Softmax、正余弦核会将K/V从d_k维进一步投影到更低的d_r维d_r d_k如64→32- 目的是进一步降低φ(K)ᵀ · V的计算量从O(L·d_k²)降至O(L·d_k·d_r)同时过滤噪声聚焦核空间的关键特征。##### 总结降维位置输入(d_model)↓ 阶段1线性投影拆分核心降维Q/K/V(h × d_k)↓ 阶段2核映射可选降维MLA特有φ(Q)/φ(K)/φ(V)(h × d_r)↓ 线性注意力计算各头输出(h × d_r)↓ 拼接线性投影最终输出(d_model)#### 3. 为什么要对MLA剩余部分做RoPE先明确RoPERotary Position Embedding旋转位置编码的核心作用是**将位置信息融入注意力计算且能捕捉token间的相对位置关系**——这是解决Transformer“位置无关”问题的关键。对MLA剩余部分通常是注意力计算后的特征、或未参与核映射的Q/K部分加RoPE核心原因有3点##### 原因1MLA的线性近似会丢失位置信息标准MHA通过“两两token比对”天然能隐含位置关系不同位置的K/V和Q计算的注意力权重不同但MLA为了降低复杂度将注意力计算转为“全局求和”φ(K)ᵀ · V是对所有token的K/V求和**直接丢失了token的位置信息**——如果不加位置编码MLA无法区分“我吃饭”和“饭吃我”这类语序差异。##### 原因2降维会弱化位置表征RoPE可精准补全MLA的两次降维尤其是核映射降维会压缩特征空间即使原始输入加了绝对位置编码降维后位置信息也会被稀释而RoPE的优势是- 不额外增加特征维度通过旋转矩阵将位置信息融入Q/K的向量中适配MLA降维后的低维特征空间- 捕捉**相对位置**而非绝对位置更符合自然语言的语义逻辑比如“苹果”和“吃”的关系只和两者的相对距离有关和绝对位置无关这对长序列场景MLA的核心适用场景至关重要。##### 原因3RoPE与MLA的计算逻辑兼容MLA的核心是“线性计算”而RoPE的旋转操作也是线性变换矩阵乘法不会破坏MLA的O(L)复杂度优势如果用其他位置编码如绝对位置编码、ALiBi要么增加计算量要么无法适配长序列的相对位置需求。#### 补充RoPE在MLA中的典型应用方式RoPE通常加在**MLA降维后的Q/K上**即阶段1降维后、阶段2核映射前流程如下输入(d_model)↓ 线性投影拆分降维到h × d_kQ/K/V(h × d_k)↓ 对Q/K应用RoPE融入相对位置Q_rot/K_rot(h × d_k)↓ 核映射可选降维到h × d_rφ(Q_rot)/φ(K_rot)/φ(V)(h × d_r)↓ 线性注意力计算各头输出(h × d_r)↓ 拼接线性投影最终输出(d_model)### 三、总结1. **MLA核心**多头线性注意力通过核函数近似将MHA的O(L²)复杂度降至O(L)兼顾多头多视角建模和长序列计算效率是长文本处理的核心注意力变体2. **MLA降维位置**核心降维在“多头拆分时的线性投影”d_model→h×d_k可选降维在“核映射阶段”d_k→d_r均为控制计算量、聚焦关键特征3. **RoPE的作用**MLA的线性求和逻辑会丢失位置信息降维又会弱化位置表征RoPE能以线性复杂度融入相对位置信息且不破坏MLA的效率优势是MLA适配长序列任务的关键补充。

相关新闻

银河麒麟V10服务器安装与初始化实战指南:从分区到Docker部署

银河麒麟V10服务器安装与初始化实战指南:从分区到Docker部署

2026/8/16 22:05:17

1. 项目概述:为什么需要一份详尽的银河麒麟V10安装手册? 如果你是一名系统管理员、运维工程师,或者正在为国产化项目进行技术选型,那么“银河麒麟高级服务器操作系统 V10”这个名字你一定不陌生。作为一款在关键领域广泛部署的国产…

智谱清言表格复制到word不再崩坏,AI导出鸭批量导出让公式表格完美落地

智谱清言表格复制到word不再崩坏,AI导出鸭批量导出让公式表格完美落地

2026/8/16 21:55:16

智谱清言输出的表格、公式、代码块一旦复制到Word,往往出现边框错位、公式变乱码、合并单元格瓦解等问题。根本原因在于:浏览器剪贴板仅透传纯文本或有限RTF格式,而智谱清言输出的是MarkdownLaTeX混合结构,脱离渲染环境后无法被Wo…

VSCode Git提交插件:告别混乱提交历史,实现自动化规范

VSCode Git提交插件:告别混乱提交历史,实现自动化规范

2026/8/16 21:55:16

1. 从手动敲命令到一键规范:为什么你需要一个Git提交插件如果你和我一样,每天都要和Git打交道,那么下面这个场景你一定不陌生:代码改完了,准备提交,你打开终端,敲下git commit -m,然…

为LLM智能体注入情商:PsychoAgent情感感知与冲突管理架构实践

为LLM智能体注入情商:PsychoAgent情感感知与冲突管理架构实践

2026/8/16 23:15:20

1. 项目缘起:当LLM智能体开始“闹情绪” 最近在折腾LLM智能体(Agent)时,我遇到了一个挺有意思的瓶颈。我们团队当时在做一个多智能体协作的模拟项目,比如让几个智能体模拟一个产品团队的日常会议。理想很丰满&#xff…

还在手动维护股票代码列表?你的量化选股脚本可能已经漏了几百只票

还在手动维护股票代码列表?你的量化选股脚本可能已经漏了几百只票

2026/8/16 23:15:20

做量化选股、全市场扫描或定时监控脚本时,许多开发者第一反应都是在本地存一个 stocks.txt、stocks.json,或者直接在 Python 代码里硬编码写一个列表: # 常见的硬编码股票列表 symbols ["600519.SH", "000001.SZ", &qu…

深入解析Kerberos黄金票据与白银票据攻击:原理、实战与防御

深入解析Kerberos黄金票据与白银票据攻击:原理、实战与防御

2026/8/16 23:15:20

1. 从一次“幽灵登录”说起:为什么需要了解票据攻击几年前,我负责的一个内部系统监控告警突然响了,提示某个核心数据库服务器在凌晨出现了异常登录。我们立刻调取日志,发现登录记录显示的是一个早已离职半年的运维人员的账号。更诡…

Linux scp命令详解:安全文件传输的核心语法与六大实战场景

Linux scp命令详解:安全文件传输的核心语法与六大实战场景

2026/8/16 23:15:20

1. 项目概述:为什么我们需要深入理解scp 如果你经常和Linux服务器打交道,或者需要在多台机器之间同步文件,那么 scp (Secure Copy Protocol)命令绝对是你工具箱里不可或缺的一把瑞士军刀。它基于SSH协议,…

执行代码 `print(3**2)` 输出结果是 **9**,因为 `**` 是 Python 中的幂运算符,`3**2` 表示 3 的 2 次方,即 $3^2 = 9$

执行代码 `print(3**2)` 输出结果是 **9**,因为 `**` 是 Python 中的幂运算符,`3**2` 表示 3 的 2 次方,即 $3^2 = 9$

2026/8/16 23:15:20

执行代码 print(3**2) 输出结果是 9,因为 ** 是 Python 中的幂运算符,3**2 表示 3 的 2 次方,即 3293^2 9329。 正确答案:B. 9 print(3**2) # 输出:9Python 中 ** 运算符的优先级高于 和 -(即加法和减法…

传统SaaS智能化转型:AI客服、ChatBI与Agent工作流三大落地场景实践

传统SaaS智能化转型:AI客服、ChatBI与Agent工作流三大落地场景实践

2026/8/16 23:05:19

1. 项目概述:当传统SaaS遇上AI,一场效率与体验的“化学反应” 这几年,AI大模型的风吹得有多猛,相信每个SaaS领域的从业者都深有体会。从最初的“这玩意儿能干啥”,到后来的“好像有点意思”,再到现在的“再…

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

2026/8/16 0:04:13

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

【双层规划,节点出清价,绿证交易,CVaR方法】两级电力市场环境下计及风险的省间交易商最优购电模型附Matlab代码

【双层规划,节点出清价,绿证交易,CVaR方法】两级电力市场环境下计及风险的省间交易商最优购电模型附Matlab代码

2026/8/16 0:04:13

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

隐式mpc+自适应mpc+时变mpc,线性时变模型预测控制附Simulink仿真

隐式mpc+自适应mpc+时变mpc,线性时变模型预测控制附Simulink仿真

2026/8/16 0:04:13

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

2026/8/16 0:04:13

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

【双层规划,节点出清价,绿证交易,CVaR方法】两级电力市场环境下计及风险的省间交易商最优购电模型附Matlab代码

【双层规划,节点出清价,绿证交易,CVaR方法】两级电力市场环境下计及风险的省间交易商最优购电模型附Matlab代码

2026/8/16 0:04:13

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

隐式mpc+自适应mpc+时变mpc,线性时变模型预测控制附Simulink仿真

隐式mpc+自适应mpc+时变mpc,线性时变模型预测控制附Simulink仿真

2026/8/16 0:04:13

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/15 1:04:46

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/15 10:10:27

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/14 19:35:14

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…