登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
每日签到
每天签到奖励2圆-6圆
发帖说明
VIP申请
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
VIP申请
VIP网盘
网盘
联系我们
每日签到
道具
勋章
任务
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
探秘Transformer系列之(28)--- DeepSeek MLA
探秘Transformer系列之(28)--- DeepSeek MLA
[ 复制链接 ]
龙正平
2025-6-2 21:32:30
探秘Transformer系列之(28)--- DeepSeek MLA
目录
探秘Transformer系列之(28)--- DeepSeek MLA
0x00 概述
0x01 原理
1.1 问题
1.2 当前状况
1.3 改进思路
1.3.1 增强信息压缩能力
思路
方案
问题
1.3.2 丰富信息表达
思路
方案
1.3.2 解决位置编码冲突
1.4 架构图 & 流程
1.5 代码
0x02 核心要点
2.1 低秩KV联合压缩
2.1.1 低秩分解
2.1.2 思路
2.1.3 向下投影
2.1.4 向上投影
null
2.1.5 完整过程
2.2 权重吸收
2.2.1 当前状态
2.2.2 权重吸收
2.2.3 推导
KQ合并
VO合并
结合
2.2.4 讨论
训练
MHA
不合并
2.3 解耦RoPE
2.3.1 RoPE背景
2.3.2 问题
无法直接应用到低秩压缩
与权重吸收不兼容
2.3.3 解决方案
2.3.5 和权重吸收结合
2.4 资源占用
2.4.1 参数量
2.4.2 内存占用
2.4.3 计算量
2.4.4 信息转移
2.5 并行
0x03 计算过程
3.1 公式
3.2 原始流程
3.3 吸收
3.3.1 过程
3.3.2 吸收结果
3.3.3 MQA形式
0x04 代码
4.1 配置
4.2 定义
4.3 操作Q
4.3.1 变量定义
4.3.2 变量操作
4.4 操作KV
4.4.1 变量定义
4.4.2 变量操作
4.5 注意力操作
4.5.1 变量定义
4.5.2 变量操作
4.6 前向传播
4.7 V3 代码
0x05 优化代码
5.1 压缩优化
5.2 权重吸收
5.2.1 absorbed_cache_compressed.py
\(W^{UK}\)
\(W^{UV}\)
5.2.2 Move Elision
5.2.3 Materializing Projection Matrices
5.3 融合算子
5.4 矩阵乘的重排序(增补@2025-04-19)
0x06 转换
6.1 GQA
6.1.1 思路
6.1.2 方案
6.2 MHA
6.2.1 partial-RoPE
MHA
拆解
6.2.2 低秩近似
0xFF 参考
0x00 概述
MLA(Multi-head Latent Attention / 多头潜在注意力)的基本思想是将注意力输入\(h_t\) 压缩成一个低维的潜在向量 \(c^{KV}_t\) ,维度为 \(d_c\),且 \(d_c\) 远小于原始的维度(\(h_nd_h\))。在需要计算注意力时,可将这个潜在向量 \(c^{KV}_t\) 映射回高维空间。因此,只需要存储潜在向量 \(c^{KV}_t\) ,就可以显著减少内存的占用。
这个过程可以通过以下公式更正式地进行描述。其中 \(c^{KV}_t\) 表示潜在向量;\(W^{DKV}\) 是压缩矩阵(上标 D 代表"下投影",即降维操作),负责将 \(h_t\) 的维度从(\(h_n·d_h\))压缩到\(d_c\);\(W^{UK}\)和 \(W^{UV}\) 是上投影矩阵,负责将共享的潜在向量 \(c^{KV}_t\) 映射回高维空间。只需要存储这个潜在向量 \(c^{KV}_t\) ,就能获得对应不同文本特征的Key和Value,而不需要对每个文本特征都存储对应的Key和Value。
类似地,我们也可以将查询向量映射到一个潜在的低维向量,然后再将其映射回原始的高维空间。而且,MLA又结合了权重吸收技术,减少了计算开销。
注:
全部文章列表在这里,估计最终在35篇左右,后续每发一篇文章,会修改此文章列表。cnblogs 探秘Transformer系列之文章列表
本系列是对论文、博客和代码的学习和解读,借鉴了很多网上朋友的文章,在此表示感谢,并且会在参考中列出。因为本系列参考文章实在太多,可能有漏给出处的现象。如果原作者或者其他朋友发现,还请指出,我在参考文献中进行增补。
0x01 原理
1.1 问题
标准Transformer的一大障碍就是KV Cache的空间占用问题:多头注意力机制需要为每个注意力头单独存储历史生成的Key和Value向量(即KV缓存)。随着序列长度增加,KV缓存的存储需求呈指数级增长,导致内存占用急剧上升。而GPU的显存空间往往非常有限,较大的KV Cache会导致同时处理的request数量变少,也即batch size较小;为了减少KV缓存需求,研究人员提出了像Multi-Query Attention(MQA)和Group-Query Attention(GQA)这些方法。这些方法虽然降低了缓存要求,可模型的性能也受到影响。MQA或GQA算子在计算注意力的过程中,所有KV Cache中的数据读取后都仅参与一次或几次计算,导致该算子的MFU极低,并且由于每个request有自己的KV Cache,这一问题无法通过提高batch size的方式解决。
因此,如何减少推理过程的KV Cache,从而实现在更少的设备上推理更长的Context,或者在相同的Context长度下增大batch size,实现更快的推理速度或者更大的吞吐总量,最终降低推理成本。是一个关键问题。
1.2 当前状况
我们首先总结下当前各种方案的情况来看看有没有可以改进的空间。下图给出了MHA、GQA、MQA 以及 MLA 做法。
图上从左到右依次是 MHA、GQA、MQA 以及 MLA 。图中有阴影的长条表示会缓存到显存的结果。MHA、GQA、MQA 都需要将 KVCache 缓存到显存。几种方案特点如下。
<ul>MHA:MHA KVCache 在注意力头这个维度和 Q 矩阵一样,属于“一对一”。MHA把一个注意力计算拆成多个注意力头,每个注意力头使用独立的Q、K、V进行计算,需要把K、V都存储下来,KV Cache中每个token需要缓存的参数量为\(2
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
探秘
Transformer
系列
DeepSeek
MLA
相关帖子
.NET 10 新增功能系列文章5——C# 14 中的新增功能
【模型压缩系列-1】一篇文章带你全面了解模型量化(Data Quantization )——全局篇
OMNET++系列问题(二)---如何解决 OMNeT++中的“Class _XXX_ not found”错误
Senparc.AI 系列教程(二):配置大模型,开始开发应用
Spring AI 快速接入 DeepSeek 大模型
DeepSeek采用的UE8M0 FP8 为什么引爆了A股的芯片板块
高通手机跑AI系列之——人像与背景分割
C#零基础入门系列(八)——数组
解密prompt系列60. Agent实战:从0搭建Jupter数据分析智能体
Transformer通俗讲解(大白话版)
vip免费申请,1年只需15美金$
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
.NET 10 新增功能系列文章5——C# 14 中的新增功能
0
754
扈怀易
2025-08-07
业界
【模型压缩系列-1】一篇文章带你全面了解模型量化(Data Quantization )——全局篇
0
848
神泱
2025-08-07
安全
OMNET++系列问题(二)---如何解决 OMNeT++中的“Class _XXX_ not found”错误
0
594
浦乐
2025-08-07
业界
Senparc.AI 系列教程(二):配置大模型,开始开发应用
0
1010
田雅宁
2025-08-21
安全
Spring AI 快速接入 DeepSeek 大模型
0
691
啪炽
2025-08-23
业界
DeepSeek采用的UE8M0 FP8 为什么引爆了A股的芯片板块
0
432
上官泰
2025-08-24
安全
高通手机跑AI系列之——人像与背景分割
0
250
明思义
2025-08-28
安全
C#零基础入门系列(八)——数组
0
87
祝安芙
2025-09-05
业界
解密prompt系列60. Agent实战:从0搭建Jupter数据分析智能体
0
368
赊朗爆
2025-09-08
科技
Transformer通俗讲解(大白话版)
0
207
副我
2025-09-10
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
安全
签约作者
程序园优秀签约作者
发帖
龙正平
2025-6-2 21:32:30
关注
0
粉丝关注
14
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
敖可
9984
杭环
9988
凶契帽
9988
4
氛疵
9988
5
黎瑞芝
9988
6
猷咎
9986
7
里豳朝
9986
8
肿圬后
9986
9
蝓俟佐
9984
10
虽裘侪
9984
查看更多