【深度学习】DeepSeek焦点架构-MLA:分析低秩联合压缩优化KV缓存、提升推理 ...

张裕  金牌会员 | 2025-3-19 00:49:02 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 669|帖子 669|积分 2007

DeepSeek的根本架构仍然在Transformer框架内,每个Transformer模块由一个注意力模块和一个前馈网络构成。为实现更高效的推理和更经济的训练,在注意力和前馈网络部分,设计并利用了创新的MLA(Multi-Head Latent Attention)和DeepSeekMoE 架构。
本文将从MLA的提出背景、技术原理、解耦RoPE计谋及MHA与MLA的缓存对比方面进行具体论述。(全文约2000字,感兴趣可点赞、在看、转发、关注,持续更新!!!)


MLA是对多头自注意力机制(MHA)的改进,其焦点是对键(Keys)和值(Values)进行低秩联合压缩,生成压缩的潜在向量,以低沉推理阶段的KV缓存。
01|MHA
(1)MHA的具体原理可见文章《【深度学习】自注意力机制&多头自注意力机制:技术背景、原理分析及基于Pytorch的代码实现》。
(2)在自注意力机制中,每个位置的查询Q需要与序列中所有位置的键(K)进行相似度计算得到注意力分数,然后加权值(V)得到终极的输出值。Transformer模型生成序列时采用自回归方式,即在生成当前Token时需依赖所有之前生成的Token。因此,对于每个时间步,都需要与之前所有Token进行注意力计算。为避免重复计算之前所有Token的键和值,从而需要缓存所有的键和值来加快计算。
(3)MHA在推理过程中需要缓存所有的KV来加快推理,但是在模型摆设中,这种量级的KV缓存带来了高显存占用问题,限定了最大Batch size的大小和序列长度。
02|MLA原理
(1)MLA的完整计算公式和维度变革示意图如下,可对照查看。

(2)键(K)和值(V)的联合压缩:输入序列中的第t个Token()通过一个下投影矩阵压缩为压缩潜在向量(其维度远远小于输入Token的维度)。在推理阶段,MLA仅需要缓存,即KV缓存仅个元素,其中为模型层数。进行注意力计算时,分别通过上投影矩阵和还原出键和值。

(3)查询(Q)的压缩:输入序列中的第个Token()通过一个下投影矩阵压缩为压缩潜在向量(其维度远远小于输入Token的维度)。
(4)解耦RoPE计谋:为提高模型对序列中上下文信息的敏感性,MLA中应用了解耦旋转位置编码(RoPE)技术。因RoPE与低秩KV压缩矩阵不兼容,故MLA引入额外的查询向量和共享键向量来携带RoPE信息,避免了RoPE与低秩压缩矩阵之间的耦合问题,解决了位置信息与推理效率之间的矛盾。
(5)进行注意力计算时,分别通过上投影矩阵和还原出键和值,每个注意力头上的键再与携带了RoPE信息的共享键向量拼接形成MHA的键值输入。通过上投影矩阵和还原并生成查询向量和携带RoPE信息的查询向量,二者拼接形成MHA的查询向量输入。终极多个头的输入拼接在一起,并颠末线性映射得到终极的输出。
03|解耦RoPE计谋详解
(1)RoPE与低秩KV压缩矩阵不兼容的缘故原由:DeepSeek-V2的原文中指出“两者不兼容的具体缘故原由是RoPE对键和值是位置敏感的,如果将RoPE直接应用于, 与位置敏感的RoPE矩阵耦合。因此,在推理过程中,无法再被吸取到中,因为与当前生成的Token相干的RoPE矩阵位于与之间,而矩阵乘法不满意交换律。因此,在推理过程中需重新计算所有前序Token的键,这将极大低沉推理效率。”
   备注:矩阵吸取计算是指利用矩阵乘法的结合律或低秩分解等线性代数技巧,重新组合某些矩阵因子,使原本需要独立计算的矩阵乘积合并在一起,从而低沉计算复杂度和内存开销的过程
  (2)若倒霉用RoPE,那么与乘积计算如下:

如此,每次计算时可提前计算好中心项,仅缓存即可。
(3)若直接对键和值利用RoPE,那么与乘积计算如下:

如此,效果的中心项与RoPE矩阵相干,并不是一个固定矩阵,无法提前计算好,即前文所说RoPE与低秩KV矩阵不兼容,无法再被吸取到中。
(4)为引入RoPE,额外采用查询向量和共享键向量,终极与乘积计算如下:

如此,效果的前一项按照无RoPE的情况计算,只需缓存,后者则对于所有注意力头只缓存一个共享即可。
04|MHA与MLA的缓存对比
已知头数为,单个头的维度为,模型层数为。
(1)在MHA中,推理阶段针对每个Token,需要缓存其键向量和值向量,则每个Token的缓存参数个数为。
(2)在MLA中,推理阶段针对每个Token,需要缓存键值的压缩潜在向量(维度为)和一个携带RoPE信息的共享键向量(维度为),则每个Token的缓存参数个数为()。在DeepSeek-V2当中,设置,,故缓存参数数目为。
由此可见,MLA明显低沉了KV缓存的大小。

零底子入门AI大模型

本日知心为大家预备好了一系列AI大模型资源,包罗AI大模型入门学习思维导图、佳构AI大模型学习册本手册、视频教程、实战学习等录播视频免费分享出来。
有需要的小搭档,可以点击下方链接免费领取【保证100%免费】
   点击领取 《AI大模型&人工智能&入门进阶学习资源包》
  1.学习路线图


第一阶段: 从大模型系统设计入手,解说大模型的重要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开辟借助阿里云PAI平台构建电商范畴虚拟试衣系统;
第四阶段: 大模型知识库应用开辟以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开辟借助以大健康、新零售、新媒体范畴构建得当当前范畴大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开辟为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
2.视频教程

网上固然也有很多的学习资源,但根本上都残缺不全的,这是我自己整理的大模型视频教程,上面路线图的每一个知识点,我都有配套的视频解说。


(都打包成一块的了,不能一一展开,总共300多集)
3.技术文档和电子书

这里重要整理了大模型相干PDF册本、行业报告、文档,有几百本,都是目前行业最新的。

4.LLM面试题和面经合集

这里重要整理了行业目前最新的大模型面试题和各种大厂offer面经合集。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张裕

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表