LLM & Agent 每日论文阅读计划-D1
- 内容介绍
- 文章标签
- 相关推荐
LLM & Agent 每日论文阅读计划-D1
碎碎念
各位佬友好,我是一个学计算机视觉的研究生。最近LLM/Agent的发展势头迅猛,我作为一个不学无术的炼丹术士深深感到有被淘汰的风险,同时也看到AI时代的机遇。遂决定自学LLM和Agent开发相关内容,先从每天阅读相关论文做起,计划每天阅读个一篇左右,由claude opus推荐论文和辅助理解,包括各家LLM厂商发的学术论文、技术报告等等。我知道站里大佬很多,因此打算把笔记都发到站里,欢迎各位佬友监督和指点。
[!note] P.S.
我一直认为能把一个很深奥的知识讲的很浅显易懂才证明你完全理解掌握了这个知识,因此我会狠狠拷打claude核心内容用尽可能简单的方式总结一遍。因此如果有对深度学习了解比较少的佬友也可以停下来看看,希望我能让你理解我想说的是什么。如果你觉得我讲的不清楚也随时欢迎在帖子里提问指出~!
今日阅读论文
- 标题:DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model
- 作者单位:DeepSeek
- 链接:https://arxiv.org/pdf/2412.19437
- 发表venue:arxiv
- 年份:2024.5
TL;DR
DeepSeek最先被大家所熟知应该是25年1月R1模型的发布。在其之前发布的V2和V3模型往往鲜为人知。然而其实DeepSeek的模型技术架构:多头隐注意力MLE,DeepSeekMoE,GRPO(专门发了一篇,后面看)在V2版本就已经奠定
一句话总结:主要创新就是在标准Transformer结构的两个部分:
注意力MHA->MLA & 线性层MLP->DeepSeekMoE
Pasted image 20260407022919393×229 11.3 KB
图:标准Transformer块结构细节阅读
研究动机 / 问题定义
- LLM 越大越强,但面临两大瓶颈:训练贵、推理慢
- 推理慢的核心原因之一:传统 MHA 需要缓存每个 token 的完整 Key 和 Value(KV cache),序列越长显存占用越大,限制了 batch size 和最大序列长度
- 已有的 KV cache 压缩方案(GQA、MQA)虽然能减少缓存,但会牺牲模型性能
- 稠密模型(Dense)每个 token 激活全部参数,算力利用效率低
方法 / 框架
本文提出两大核心架构创新:MLA(多头隐注意力) 和 DeepSeekMoE(混合专家)
1. MLA(Multi-head Latent Attention)
解决什么问题:KV cache 太大,推理时显存不够用
核心思路:把每个位置要缓存的 K 和 V 压缩成一个低维小向量
标准 MHA:
每个 token 需要缓存完整的K和V,随着生成序列长度增加严重占用显存
MLA:
- 做注意力操作前,先拿下投影矩阵 W^{DKV} 把输入隐向量进行低秩压缩,只缓存这个小向量(其实应该就是过了个线性层),
- 通过矩阵结合律等一系列运算证明用于重新恢复向量维度的上投影矩阵 W^{UK}, W^{UV} 可以"吸收"进标准 MHA后续的注意力计算参数 W^Q 和 W^O,连还原都不需要
RoPE 兼容性问题:低秩压缩和位置编码 RoPE 不兼容(矩阵乘法不满足交换律),因此设计了解耦 RoPE——用额外的小向量单独携带位置信息
效果:KV cache 只相当于 2.25 组 GQA 的大小(减少 93.3%),性能却比完整 MHA 更强
说人话:原来模型每生成一个字,都要把一大堆中间结果存下来,方便后面回头看。序列越长存的越多,显存就爆了。MLA 的做法就是把这堆中间结果"压缩打包"成一个小文件存着,而且通过数学上的巧妙变换,用的时候甚至不用解压,直接拿压缩包算就行。存储量直接砍掉 93%。
2. DeepSeekMoE
解决什么问题:训练成本太高,稠密模型每个 token 激活全部参数太浪费
核心思路:稀疏激活,每次只用一小部分专家
- 细粒度专家分割:160 个路由专家,每个 token 只激活 6 个,让每个专家更加专精
- 共享专家隔离:2 个共享专家始终激活,负责通用知识,避免路由专家之间的知识冗余
- 设备限制路由:限制每个 token 最多发送到 3 个设备($M=3$),控制通信开销
- 三种负载均衡损失:专家级、设备级、通信级,防止路由崩塌(某些专家永远不被选中)
- Token-Dropping:训练时丢弃低亲和度 token 加速,保留约 10% 序列永不丢弃
说人话:MoE(Mixture of Experts)相信对开源大模型有涉猎的佬友应该都了解一些。简单来说就是一种堆参数量的同时不增加计算开销,加量不加价的技术。(真的吗?)DeepSeekMoE可以说就是把省钱做到了极致(细粒度专家导致激活更加稀疏,以及设备限制),又通过共享专家保证模型性能稳定(有固定的激活参数)。
后面实验部分懒得看了让claude自己生成了 ´͈ ᵕ `͈
整体配置
| 项目 | 参数 |
|---|---|
| 总参数量 | 236B |
| 每 token 激活参数 | 21B |
| Transformer 层数 | 60 |
| 注意力头数 | 128 |
| 预训练数据 | 8.1T tokens(中文略多于英文) |
| 上下文长度 | 128K(通过 YaRN 从 4K 扩展) |
对齐阶段
- SFT:150 万条高质量对话数据微调
- RL:使用 GRPO(Group Relative Policy Optimization),无需额外 critic 模型,节省训练资源
实验与结果
- MMLU 78.5(21B 激活参数 vs LLaMA3 70B 的 78.9,几乎持平)
- 相比前代 DeepSeek 67B(稠密模型):训练成本节省 42.5%,KV cache 减少 93.3%,最大生成吞吐量提升 5.76 倍
- 代码/数学能力与 Mixtral 8x22B(141B 总参数)相当
- 中文能力(C-Eval 81.7, CMMLU 84.0)大幅超越非中文特化模型,接近 Qwen1.5 72B
- Chat 版本在 AlpacaEval 2.0 达到 38.9 的胜率,中文对话评估甚至超越大部分闭源模型
- 128K 长文本的 Needle In A Haystack 测试中表现优异
优势与局限
- 优势:
- MLA 打破了"减少 KV cache 就必须牺牲性能"的困境,同时实现更强性能和更少缓存
- MoE 稀疏激活使 236B 模型只用 21B 参数的算力推理,性价比极高
- 训练成本远低于同等性能的稠密模型
- 中英双语能力均衡
- 局限:
- MoE 架构对通信带宽和负载均衡有较高要求,部署复杂度高于稠密模型
- 总参数 236B,虽然计算量小但权重仍需全部加载到显存
- 在部分英语常识类任务(TriviaQA、HellaSwag)上略逊于 LLaMA3 70B
我的感悟
其实从DeepSeek在MoE在设备通信和负载均衡损失上的创新方面就能看出企业做科研和学界做科研的不同关注点,这个解决的都是设备通信成本这种工业场景下比较实际的问题。。另外MLA真这么厉害吗,少这么多显存占用精度还提升了。为啥精度还能提升,搞不懂。NLP要补的东西还是有点多,后面几天抽时间去看看RoPE和GRPO。
网友解答:--【壹】--: 重剑无锋:
后面实验部分懒得看了让claude自己生成了
--【贰】--: hjyy:
码了 白天学习一下
码了 学习一下 ”后面实验部分懒得看了让claude自己生成了“ 笑死哈哈哈
--【叁】--:
所以我觉得DeepSeek是一家纯粹的解决现实问题的公司,也是其他国模公司应该学习的对象。正好我自己平常也会看一点论文,最后一个问题我有点拙见:
简单说法:传统的mha或者是llama相当于是把所有东西都记录了下来,不做压缩,而mla就是一个压缩算法,可以将这一大堆的数据压缩为可还原的数据格式,保留精度的同时节省更多的存储。
学术一点的说法:通过利用低秩压缩技术将庞大的KV信息精炼成极小的潜向量来极大地节省显存,但在计算的一瞬间,它能通过升维矩阵将这些压缩信息重新映射回成百上千个独立的注意力头,从而在节省物理空间的同时,获得了比传统架构更强、更细致的表达能力,也就是获得了更高的精度。
这就是学算法的好处啊,很巧妙的运用算法解决了训练时模型对内存的极高要求,不夸张地说mla就是现在无脑堆参数的基础之一,加上DeepSeek对于moe的应用直接做到了又快又好,所以当时DeepSeekr1出来的时候大家都惊叹竟然有如此巧妙的设计。
--【肆】--:
码了 白天学习一下
LLM & Agent 每日论文阅读计划-D1
碎碎念
各位佬友好,我是一个学计算机视觉的研究生。最近LLM/Agent的发展势头迅猛,我作为一个不学无术的炼丹术士深深感到有被淘汰的风险,同时也看到AI时代的机遇。遂决定自学LLM和Agent开发相关内容,先从每天阅读相关论文做起,计划每天阅读个一篇左右,由claude opus推荐论文和辅助理解,包括各家LLM厂商发的学术论文、技术报告等等。我知道站里大佬很多,因此打算把笔记都发到站里,欢迎各位佬友监督和指点。
[!note] P.S.
我一直认为能把一个很深奥的知识讲的很浅显易懂才证明你完全理解掌握了这个知识,因此我会狠狠拷打claude核心内容用尽可能简单的方式总结一遍。因此如果有对深度学习了解比较少的佬友也可以停下来看看,希望我能让你理解我想说的是什么。如果你觉得我讲的不清楚也随时欢迎在帖子里提问指出~!
今日阅读论文
- 标题:DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model
- 作者单位:DeepSeek
- 链接:https://arxiv.org/pdf/2412.19437
- 发表venue:arxiv
- 年份:2024.5
TL;DR
DeepSeek最先被大家所熟知应该是25年1月R1模型的发布。在其之前发布的V2和V3模型往往鲜为人知。然而其实DeepSeek的模型技术架构:多头隐注意力MLE,DeepSeekMoE,GRPO(专门发了一篇,后面看)在V2版本就已经奠定
一句话总结:主要创新就是在标准Transformer结构的两个部分:
注意力MHA->MLA & 线性层MLP->DeepSeekMoE
Pasted image 20260407022919393×229 11.3 KB
图:标准Transformer块结构细节阅读
研究动机 / 问题定义
- LLM 越大越强,但面临两大瓶颈:训练贵、推理慢
- 推理慢的核心原因之一:传统 MHA 需要缓存每个 token 的完整 Key 和 Value(KV cache),序列越长显存占用越大,限制了 batch size 和最大序列长度
- 已有的 KV cache 压缩方案(GQA、MQA)虽然能减少缓存,但会牺牲模型性能
- 稠密模型(Dense)每个 token 激活全部参数,算力利用效率低
方法 / 框架
本文提出两大核心架构创新:MLA(多头隐注意力) 和 DeepSeekMoE(混合专家)
1. MLA(Multi-head Latent Attention)
解决什么问题:KV cache 太大,推理时显存不够用
核心思路:把每个位置要缓存的 K 和 V 压缩成一个低维小向量
标准 MHA:
每个 token 需要缓存完整的K和V,随着生成序列长度增加严重占用显存
MLA:
- 做注意力操作前,先拿下投影矩阵 W^{DKV} 把输入隐向量进行低秩压缩,只缓存这个小向量(其实应该就是过了个线性层),
- 通过矩阵结合律等一系列运算证明用于重新恢复向量维度的上投影矩阵 W^{UK}, W^{UV} 可以"吸收"进标准 MHA后续的注意力计算参数 W^Q 和 W^O,连还原都不需要
RoPE 兼容性问题:低秩压缩和位置编码 RoPE 不兼容(矩阵乘法不满足交换律),因此设计了解耦 RoPE——用额外的小向量单独携带位置信息
效果:KV cache 只相当于 2.25 组 GQA 的大小(减少 93.3%),性能却比完整 MHA 更强
说人话:原来模型每生成一个字,都要把一大堆中间结果存下来,方便后面回头看。序列越长存的越多,显存就爆了。MLA 的做法就是把这堆中间结果"压缩打包"成一个小文件存着,而且通过数学上的巧妙变换,用的时候甚至不用解压,直接拿压缩包算就行。存储量直接砍掉 93%。
2. DeepSeekMoE
解决什么问题:训练成本太高,稠密模型每个 token 激活全部参数太浪费
核心思路:稀疏激活,每次只用一小部分专家
- 细粒度专家分割:160 个路由专家,每个 token 只激活 6 个,让每个专家更加专精
- 共享专家隔离:2 个共享专家始终激活,负责通用知识,避免路由专家之间的知识冗余
- 设备限制路由:限制每个 token 最多发送到 3 个设备($M=3$),控制通信开销
- 三种负载均衡损失:专家级、设备级、通信级,防止路由崩塌(某些专家永远不被选中)
- Token-Dropping:训练时丢弃低亲和度 token 加速,保留约 10% 序列永不丢弃
说人话:MoE(Mixture of Experts)相信对开源大模型有涉猎的佬友应该都了解一些。简单来说就是一种堆参数量的同时不增加计算开销,加量不加价的技术。(真的吗?)DeepSeekMoE可以说就是把省钱做到了极致(细粒度专家导致激活更加稀疏,以及设备限制),又通过共享专家保证模型性能稳定(有固定的激活参数)。
后面实验部分懒得看了让claude自己生成了 ´͈ ᵕ `͈
整体配置
| 项目 | 参数 |
|---|---|
| 总参数量 | 236B |
| 每 token 激活参数 | 21B |
| Transformer 层数 | 60 |
| 注意力头数 | 128 |
| 预训练数据 | 8.1T tokens(中文略多于英文) |
| 上下文长度 | 128K(通过 YaRN 从 4K 扩展) |
对齐阶段
- SFT:150 万条高质量对话数据微调
- RL:使用 GRPO(Group Relative Policy Optimization),无需额外 critic 模型,节省训练资源
实验与结果
- MMLU 78.5(21B 激活参数 vs LLaMA3 70B 的 78.9,几乎持平)
- 相比前代 DeepSeek 67B(稠密模型):训练成本节省 42.5%,KV cache 减少 93.3%,最大生成吞吐量提升 5.76 倍
- 代码/数学能力与 Mixtral 8x22B(141B 总参数)相当
- 中文能力(C-Eval 81.7, CMMLU 84.0)大幅超越非中文特化模型,接近 Qwen1.5 72B
- Chat 版本在 AlpacaEval 2.0 达到 38.9 的胜率,中文对话评估甚至超越大部分闭源模型
- 128K 长文本的 Needle In A Haystack 测试中表现优异
优势与局限
- 优势:
- MLA 打破了"减少 KV cache 就必须牺牲性能"的困境,同时实现更强性能和更少缓存
- MoE 稀疏激活使 236B 模型只用 21B 参数的算力推理,性价比极高
- 训练成本远低于同等性能的稠密模型
- 中英双语能力均衡
- 局限:
- MoE 架构对通信带宽和负载均衡有较高要求,部署复杂度高于稠密模型
- 总参数 236B,虽然计算量小但权重仍需全部加载到显存
- 在部分英语常识类任务(TriviaQA、HellaSwag)上略逊于 LLaMA3 70B
我的感悟
其实从DeepSeek在MoE在设备通信和负载均衡损失上的创新方面就能看出企业做科研和学界做科研的不同关注点,这个解决的都是设备通信成本这种工业场景下比较实际的问题。。另外MLA真这么厉害吗,少这么多显存占用精度还提升了。为啥精度还能提升,搞不懂。NLP要补的东西还是有点多,后面几天抽时间去看看RoPE和GRPO。
网友解答:--【壹】--: 重剑无锋:
后面实验部分懒得看了让claude自己生成了
--【贰】--: hjyy:
码了 白天学习一下
码了 学习一下 ”后面实验部分懒得看了让claude自己生成了“ 笑死哈哈哈
--【叁】--:
所以我觉得DeepSeek是一家纯粹的解决现实问题的公司,也是其他国模公司应该学习的对象。正好我自己平常也会看一点论文,最后一个问题我有点拙见:
简单说法:传统的mha或者是llama相当于是把所有东西都记录了下来,不做压缩,而mla就是一个压缩算法,可以将这一大堆的数据压缩为可还原的数据格式,保留精度的同时节省更多的存储。
学术一点的说法:通过利用低秩压缩技术将庞大的KV信息精炼成极小的潜向量来极大地节省显存,但在计算的一瞬间,它能通过升维矩阵将这些压缩信息重新映射回成百上千个独立的注意力头,从而在节省物理空间的同时,获得了比传统架构更强、更细致的表达能力,也就是获得了更高的精度。
这就是学算法的好处啊,很巧妙的运用算法解决了训练时模型对内存的极高要求,不夸张地说mla就是现在无脑堆参数的基础之一,加上DeepSeek对于moe的应用直接做到了又快又好,所以当时DeepSeekr1出来的时候大家都惊叹竟然有如此巧妙的设计。
--【肆】--:
码了 白天学习一下

