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

MQA:全部 Query 共享一套 Key-Value

本文基于昇腾CANN和昇腾NPU围绕 ops-transformer 仓库的相关技术展开。MQAMulti-Query Attention走到 GQA 的极端——所有 Query Head 共享同一组 K、V。8 个 Head 还是 32 个 Head都只存一份。这对 KV Cache 的压力最小代价是 Attention 表达能力下降。但推理任务里这个 trade-off 往往划算。MQA 的 KV Cache 省了多少# MQA——一个 KV Head全部 Query 复用defmqa_vs_mha_kv_model(): 看不同模型尺寸的 KV Cache 差异 configs{llama-7b:{layers:32,heads:32,dim:4096},llama-13b:{layers:40,heads:40,dim:5120},llama-70b:{layers:80,heads:64,dim:8192},}forname,cfginconfigs.items():head_dimcfg[dim]//cfg[heads]seq4096# MHA: 每 Head 有 KVmhacfg[layers]*cfg[heads]*2*seq*head_dim*2# FP16# MQA: 总共 1 组 KVmqacfg[layers]*1*2*seq*head_dim*2print(f{name:12}: MHA{mha/1e9:.1f}GB → MQA{mqa/1e9:.1f}GBf (省{mha/mqa:.0f}x))模型MHA KV CacheMQA KV Cache省LLaMA-7B3.2GB0.1GB32xLLaMA-13B5.0GB0.1GB40xLLaMA-70B20.0GB0.3GB64x70B 模型的显存省了 64 倍——从 20GB 降到 0.3GB。省出来的空间给更大的 Batch 或更长的 Context。MQA 的计算流程# MQA Attention——所有 Q 查同一份 K、Vimporttorchimporttorch.nn.functionalasFclassMQAAttention(torch.nn.Module):def__init__(self,hidden_dim,num_heads):super().__init__()self.num_headsnum_heads# 32self.head_dimhidden_dim//num_heads# 128# Q 投影跟 MHA 一样大self.q_projtorch.nn.Linear(hidden_dim,num_heads*self.head_dim)# K、V 投影只有 1 组self.k_projtorch.nn.Linear(hidden_dim,self.head_dim)# 1 组self.v_projtorch.nn.Linear(hidden_dim,self.head_dim)# 1 组defforward(self,x,past_kvNone):B,S,Hx.shape# Q 展开成 32 个 Headqself.q_proj(x).reshape(B,S,self.num_heads,self.head_dim)# K、V 只有 1 组——shape: [B, S, 1, head_dim]kself.k_proj(x).unsqueeze(2)# [B, S, 1, 128]vself.v_proj(x).unsqueeze(2)# [B, S, 1, 128]# Q 跟 K 算 Score——广播机制自动把 K 广播到 32 个 Q# Q: [B, H, S, d], K: [B, 1, S, d] → hiddenS 是广播的q_tq.transpose(1,2)# [B, 32, S, 128]k_tk.transpose(1,2)# [B, 1, S, 128]# 广播 MatMul32 个 Q 各自跟同一份 K 算 Scorescoretorch.matmul(q_t,k_t.transpose(-2,-1))# [B, 32, S, S]scorescore/(self.head_dim**0.5)# 屏蔽 Softmaxmasktorch.triu(torch.ones(S,S),diagonal1).bool()score.masked_fill_(mask,float(-inf))attnF.softmax(score,dim-1)# Attention 输出outtorch.matmul(attn,v.transpose(1,2))# V 也是广播的returnout.transpose(1,2).reshape(B,S,-1)广播 MatMul 是 PyTorch 层面自动做的但在 NPU 上不能依赖自动广播——要手动安排 K、V 的 L1 复用。CANN 上 MQA 的显存优化// Ascend C 实现 MQA——K、V 只搬一次到 L132 个 Q 轮流算classMQAKernel:publicAscendC::Kernel{__aicore__inlinevoidProcess()override{// 只有 1 组 K、V——这是跟 GQA 唯一不同的地方constintnum_q_heads32;constintnum_kv_heads1;// MQA 的硬编码constintgroup_size32;// 不是 4 了// K 和 V 只需加载 1 次AscendC::LocalTensorfloatk_local;AscendC::LocalAlloc(k_local,seq_len*head_dim);AscendC::DataCopy(k_local,gm_k,seq_len*head_dim);AscendC::LocalTensorfloatv_local;AscendC::LocalAlloc(v_local,seq_len*head_dim);AscendC::DataCopy(v_local,gm_v,seq_len*head_dim);// 32 个 Q 依次算——K、V 已在 L1不需要重搬for(inth0;hnum_q_heads;h){AscendC::LocalTensorfloatq_local;AscendC::LocalAlloc(q_local,seq_len*head_dim);AscendC::DataCopy(q_local,gm_qh*seq_len*head_dim,seq_len*head_dim);// Q K^T——K 已经在 L1 了AscendC::LocalTensorfloatscore_local;AscendC::LocalAlloc(score_local,seq_len*seq_len);AscendC::MatMul(score_local,q_local,k_local,AscendC::CUBE_MATRIX_TYPE::TRANS_B);// Score V——V 也已经在 L1 了AscendC::LocalTensorfloatout_local;AscendC::LocalAlloc(out_local,seq_len*head_dim);AscendC::MatMul(out_local,score_local,v_local);// 写回——之前这段显存全给 KV Cache 了AscendC::DataCopy(gm_outh*seq_len*head_dim,out_local,seq_len*head_dim);}// K、V 的 L1 空间在函数退出时自动释放// 64 个 Head 的搬运成本只付 1 次}};MQA 的设计哲学是K、V 的多样性没那么重要。LLM 的 Self-Attention 里Query 决定关注哪里Key-Value 只提供上下文。多个 Head 共享 K、V 后精度损失远小于 KV Cache 减半的收益。实测 MQA 版 Llama 在推理时吞吐是 MHA 的 2.8 倍精度差在 0.2% 以内。参考仓库MQA 等 Attention 变种算子Transformer 加速库 ATB

相关文章:

MQA:全部 Query 共享一套 Key-Value

本文基于昇腾CANN和昇腾NPU,围绕 ops-transformer 仓库的相关技术展开。 MQA(Multi-Query Attention)走到 GQA 的极端——所有 Query Head 共享同一组 K、V。8 个 Head 还是 32 个 Head,都只存一份。这对 KV Cache 的压力最小&…...

GQA:多查少算的 Attention 头组合

本文基于昇腾CANN和昇腾NPU,围绕 ops-transformer 仓库的相关技术展开。 MHA(Multi-Head Attention)每个 Head 一套 QKV——8 个 Head 就是 8 组。MQA 省过头了——8 个 Head 共享 K、V。GQA(Grouped Query Attention)…...

法律科技的发展脉络:从数字化管理到AI辅助办案的演进路径

摘要 执业15年,我经历了律师行业工具变迁的三个阶段:纸质时代、本地软件时代、云端时代。现在正站在第四个阶段的起点——AI辅助办案。这篇文章回顾法律科技的发展脉络,分析每个阶段的特征和局限性,以及正在发生的变化趋势。 第一…...

紧急!2024年Q2最新:Claude 3.5 Sonnet对LaTeX/Markdown混合文档的支持边界实测报告(附绕过限制的3种军工级方案)

更多请点击: https://kaifayun.com 第一章:Claude 3.5 Sonnet对LaTeX/Markdown混合文档的原生支持能力全景评估 Claude 3.5 Sonnet 在处理 LaTeX 与 Markdown 混合文档时展现出显著增强的解析鲁棒性与语义理解深度,尤其在数学公式嵌入、交叉…...

不会 CSS 也能做出惊艳 PPT!Frontend Slides这个开源 Claude Code 技能让 AI 帮你生成 12 种风格演示文稿,告别千篇一律的紫渐变

不会 CSS 也能做出惊艳 PPT!Frontend Slides这个开源 Claude Code 技能让 AI 帮你生成 12 种风格演示文稿,告别千篇一律的紫渐变 💡 每次做 PPT 都在 Powerpoint 里拖来拖去,最后做出来还是那个味儿?Frontend Slides 让…...

企业AI编程效率提升:2026最新权威AI编程工具必看

企业AI编程效率提升:2026最新权威AI编程工具必看开篇“企业研发团队效率低下,核心项目交付周期长,如何通过AI编程工具缩短开发周期、提升ROI?”“企业部署AI编程工具,如何兼顾安全合规、代码质量与开发效率&#xff0c…...

工业视觉开发的基石:GenICam 简介

在工业自动化和机器视觉领域,“碎片化”曾是开发者面临的最大痛点。不同品牌的相机使用不同的通信协议、参数定义和 SDK。为了获取一张图像或调节曝光时间,开发者往往需要学习多个厂商的驱动接口。而 GenICam (Generic Interface for Cameras) 标准的出现…...

AI答案优化效果可以靠哪些第三方数据验证?

先给结论:AI答案优化效果要做三层交叉验证AI 答案优化、GEO 服务的效果,不应只听服务商自述,也不适合只靠单张 AI 回答截图判断。更稳妥的做法,是用三层数据交叉验证:AI回答层数据:看品牌是否被提及、位置是…...

AI Agent在仓储分拣中的真实效能验证(2023-2024全国12家仓配中心压测报告首次公开)

更多请点击: https://intelliparadigm.com 第一章:AI Agent物流行业应用 AI Agent正深度重构物流行业的决策、执行与协同范式。区别于传统规则引擎或单一预测模型,AI Agent具备感知环境、自主规划、多步推理与动态反馈能力,可嵌入…...

Lindy流程冷启动死亡陷阱(97%新手踩中的第3个环节):实时检测+自动回滚机制详解

更多请点击: https://kaifayun.com 第一章:Lindy流程冷启动死亡陷阱的底层认知 Lindy效应在软件工程中并非仅适用于“越老越可靠”的技术寿命预测,它更深层地揭示了一种反直觉的系统演化规律:一个尚未被时间验证的流程&#xff0…...

Lindy流程自动化效果衰减真相:3年追踪数据显示,未做持续治理的企业6个月后效率回落至基线112%

更多请点击: https://codechina.net 第一章:Lindy流程自动化效果衰减真相:3年追踪数据显示,未做持续治理的企业6个月后效率回落至基线112% Lindy效应在流程自动化领域呈现显著反向特征:系统上线初期的效率跃升并非稳态…...

【行业首发】Midjourney v6.2水动力学渲染白皮书:基于流体物理模型的prompt工程重构(附NASA水波频谱对照表)

更多请点击: https://codechina.net 第一章:【行业首发】Midjourney v6.2水动力学渲染白皮书:基于流体物理模型的prompt工程重构(附NASA水波频谱对照表) Midjourney v6.2首次引入隐式流体物理引擎(Implici…...

Taotoken 的 Token Plan 套餐如何帮助我们预测并锁定开发成本

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Taotoken 的 Token Plan 套餐如何帮助我们预测并锁定开发成本 作为项目管理者,确保研发预算的可预测性是保障项目平稳推…...

Anthropic 万亿估值启示录:战略聚焦如何击败全面扩张

【摘要】深入分析 Anthropic 从初创到估值破万亿的爆发式增长路径,揭示其在 AI 行业后来居上的核心密码。从战略聚焦与组织文化两个维度,拆解技术路线选择、人才管理、治理结构等关键决策,为 AI 时代的技术团队与企业管理者提供可借鉴的实践框…...

在微服务架构中集成Taotoken实现智能客服路由与成本控制

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在微服务架构中集成Taotoken实现智能客服路由与成本控制 1. 场景与挑战 在电商这类业务场景中,智能客服能力通常被拆分…...

论文写到一半卡壳了?师兄推荐这几个AI写作辅助软件

写论文最怕的就是卡壳,尤其是当思路混乱、资料繁杂、格式要求又高时,很容易陷入停滞。其实,论文写作的关键不在于苦熬,而在于用对工具、走对流程——不少资深教授都建议学生提前布局,借助 AI 工具提升效率。比如千笔AI…...

如何快速清理Windows右键菜单:终极管理工具完整指南

如何快速清理Windows右键菜单:终极管理工具完整指南 【免费下载链接】ContextMenuManager 🖱️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 你是不是也遇到过这样的烦恼?安装的软…...

2026跨境实测|主流国产AI视频生成工具图生视频功能深度测评

在TikTok、Shopee、亚马逊短视频带货常态化的2026年,跨境商家的核心痛点早已不是不会拍视频,而是量产难、成本高、画面违和、适配海外场景差。传统真人拍摄、外包剪辑模式,不仅耗时耗力,还难以跟上跨境平台的流量更新节奏。而AI视…...

华实展厅出圈!大自然标识匠心打造,目视化呈现基建巨头的实力底气

当建筑的厚重与视觉的美感碰撞,当企业的成长与科技的便捷融合,华实建设集团企业展厅——由专业的长沙市大自然标识设计制作公司倾力打造,不仅是品牌形象的“窗口”,更是实力与文化的“立体名片”。长沙市大自然标识设计制作有限公…...

2025年AI数字人行业现状:全国超99万家企业涌入,真正能落地的不到一成

当生成式AI的浪潮席卷各行各业,AI数字人成为最先跑出商业化落地速度的细分赛道。然而,在全国超99万家相关企业蜂拥而入的热闹背后,一个残酷的现实正在显现:绝大多数所谓的"AI数字人"不过是披着科技外衣的"会动的照…...

FactoryBluePrints:戴森球计划终极蓝图仓库,5步打造高效自动化工厂

FactoryBluePrints:戴森球计划终极蓝图仓库,5步打造高效自动化工厂 【免费下载链接】FactoryBluePrints 游戏戴森球计划的**工厂**蓝图仓库 项目地址: https://gitcode.com/GitHub_Trending/fa/FactoryBluePrints 你是否曾在戴森球计划中花费数小…...

3分钟搞定Windows 11系统优化:Win11Debloat开源工具完整指南

3分钟搞定Windows 11系统优化:Win11Debloat开源工具完整指南 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter …...

抖音小店搜索排名规则及优化方法

一、抖音商城搜索排名规则1.商品相关性:商品标题、关键词与用户搜索词的匹配程度是重要因素。精准匹配的商品会在搜索结果中更靠前展示。例如,用户搜索"夏季连衣裙”,标题中明确包含该关键词且商品属性也相符的连衣裙,会优先被展示。商品…...

观测 TaoToken 在多模型间自动路由的稳定性与响应速度

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 观测 TaoToken 在多模型间自动路由的稳定性与响应速度 在构建依赖大模型能力的应用时,服务的稳定性和响应速度是开发者…...

将Taotoken作为统一网关整合到企业现有微服务架构中的设计考量

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 将Taotoken作为统一网关整合到企业现有微服务架构中的设计考量 当企业内部多个业务线或团队开始独立探索和应用大模型能力时&#…...

3步快速搭建微信小程序商城:巴爷商城开源项目实战指南

3步快速搭建微信小程序商城:巴爷商城开源项目实战指南 【免费下载链接】wechat_mall_applet A real mall wechat applet 项目地址: https://gitcode.com/gh_mirrors/we/wechat_mall_applet 还在为开发微信小程序商城而烦恼吗?🤔 今天我…...

使用OpenClaw连接Taotoken配置Agent工作流的具体步骤

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 使用OpenClaw连接Taotoken配置Agent工作流的具体步骤 OpenClaw是一款流行的AI Agent开发框架,它允许开发者构建和运行能…...

通过Taotoken Token Plan套餐降低长期项目成本的观察

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过Taotoken Token Plan套餐降低长期项目成本的观察 对于需要长期、稳定调用大模型API的项目而言,成本的可预测性和可…...

美容顾问转型AI训练师:2024紧缺新职业认证路径(含国家人社部备案课程编号)

更多请点击: https://kaifayun.com 第一章:AI Agent美容行业应用概述 AI Agent正以前所未有的深度融入美容行业,从智能肤质分析、个性化护肤方案生成,到虚拟试妆、客户行为预测与自动化私域运营,其核心价值在于将非结…...

Claude ROI计算模型:3步完成TCO建模→价值映射→敏感性压测,附金融/医疗/制造三大行业参数包

更多请点击: https://kaifayun.com 第一章:Claude ROI计算模型:3步完成TCO建模→价值映射→敏感性压测,附金融/医疗/制造三大行业参数包 Claude ROI计算模型专为AI代理落地设计,将传统IT投资回报分析升级为可量化、可…...