Deepseek基座:Deepseek-v2核心内容解析

发布于:2025-06-08 ⋅ 阅读:(18) ⋅ 点赞:(0)
DeepSeek原创文章
1

DeepSeek-v3:基于MLA的高效kv缓存压缩与位置编码优化技术

2

Deepseek基座:DeepSeek LLM核心内容解析

3

Deepseek基座:Deepseek MOE核心内容解析

4

Deepseek基座:Deepseek-v2核心内容解析

5 Deepseek基座:Deepseek-v3核心内容解析
6

DeepSeek推理能力(Reasoning)

DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model

Deepseek v2可以看作是上面那一篇paper的scale up,不过也有一些非常重要的技术。从论文名字可以看出来“A Strong, Economical, and Efficient”,他们提出了进一步降低成本的技术

DeepSeek-V2 是236B的混合专家模型(MoE),每个 token 激活21B,极大降低了推理成本 。相比第一代的 DeepSeek 67B,虽然模型规模更大(接近其4倍),但激活参数更少,推理效率更高 。

训练与推理成本优化

  • 训练成本降低 42.5%:相比 DeepSeek 67B,DeepSeek-V2 在保持更强性能的同时,显著减少了训练所需的计算资源 。
  • KV 缓存减少 93.3%:通过引入新的注意力机制 Multi-head Latent Attention(MLA),大幅压缩了 KV 缓存需求,从而降低了部署和推理成本 。
  • 生成速度提升 5.76 倍:在相同硬件条件下,DeepSeek-V2 的输出速度远超前代模型,提升了实际应用中的响应效率 。

Multi-head Latent Attention(MLA)

  • 这是 DeepSeek-V2 引入的一项关键技术,用于替代传统的多头注意力机制
  • MLA 通过引入潜在空间(latent space)进行注意力计算,减少了计算复杂度和内存占用,进一步提升了推理效率
  • 它不仅降低了 KV 缓存的需求,还使得模型能够支持更大的 batch size,从而提升整体吞吐量

DeepSeek-V2还支持 最长 128K tokens 的上下文长度

MLA

  • MLA 引入了一个 潜在空间(latent space),将原始的高维 Key 和 Value 向量映射到一个低维空间中进行存储。
  • 具体来说,模型先计算一个低秩的“压缩表示” $ C $,然后在需要时通过矩阵变换恢复出 Key 和 Value: $ K = W_K \cdot C, \quad V = W_V \cdot C $
  • 这种方法被称为 Low-Rank Key-Value Compression,大幅减少了存储需求,从而降低了 KV Cache 的占用 。

MLA 与其他注意力机制的对比

方法 头数 Key/Value 存储方式 KV Cache 占用 性能影响
MHA(多头注意力) 多头 每个头独立存储 最佳
GQA(Grouped Query Attention) 多组共享 组内共享 Key/Value 中等 稍有下降
MQA(Multi-Query Attention) 单头 所有头共享 Key/Value 明显下降
MLA(Multi-Head Latent Attention) 多头 压缩后的潜在向量 极低 接近 MHA
  • MLA 在保持多头注意力灵活性的同时,通过低秩压缩实现了接近 MQA 的显存效率,且性能损失极小 。

KV Cache

  • 在传统的 Transformer 模型中,多头注意力机制(MHA) 需要存储大量 Key 和 Value 向量(即 KV Cache),以加速生成过程中的自回归推理。
  • 这些向量的存储会占用大量 GPU 显存,尤其是在处理长上下文时,成为部署成本的主要瓶颈。
  • DeepSeek-V2 提出 Multi-Head Latent Attention(MLA),旨在通过压缩 KV Cache 来显著降低推理时的显存占用和计算开销。

KV Cache 压缩效果 - 实验表明,MLA 可将 KV Cache 减少 93%,使得模型在长文本生成任务中更加高效。 - 例如,在生成 128K token 的任务中,MLA 显著降低了内存占用,提升了吞吐量和响应速度 。

说一下为什么kv cache不cache q,q不是也包含历史信息了吗,怎么不把q缓存一下?

因为transformer是自回归模型,每一次的结果都被当成新的q,所以缓存起来没意义,它只用一次,是动态变化的。而k和v则是需要经常复用,所以每次模型输出结果后,只需要把最新的token向量拿出来,进行权重矩阵计算后,直接和缓存后的k和v拼接在一起, 而不像以前需要每个token进行权重矩阵的重复计算。所以kv cache节约的是,k和v与对应权重矩阵的计算。

与 GQA 的对比

  • 传统的 GQA通过共享部分head来减少 KV Cache 的大小。例如,16 个头分成 4 组,每组共享 K/V。
  • MLA 相当于使用了 约 2.25 个 group 的 GQA,但性能远优于同等 group 数量的 GQA,即在更小的显存消耗下保持了更高的模型效果 。

小结

方面 DeepSeek 的做法
注意力机制 提出 MLA,显著压缩 KV Cache,提升推理效率
MoE 架构 使用大量专家(如 160 个),提升稀疏性和模型表达能力
平衡策略 注重专家和设备间的负载均衡,提高训练效率和资源利用率

原创文章
1 FFN前馈网络与激活函数技术解析:Transformer模型中的关键模块
2 Transformer掩码技术全解析:分类、原理与应用场景
3 【大模型技术】Attention注意力机制详解一
4 Transformer核心技术解析LCPO方法:精准控制推理长度的新突破
5 Transformer模型中位置编码(Positional Embedding)技术全解析(二)
6 Transformer模型中位置编码(Positional Embedding)技术全解析(一)
7 自然语言处理核心技术词嵌入(Word Embedding),从基础原理到大模型应用
8 DeepSeek-v3:基于MLA的高效kv缓存压缩与位置编码优化技术
9

【Tokenization第二章】分词算法深度解析:BPE、WordPiece与Unigram的原理、实现与优化

10 Tokenization自然语言处理中分词技术:从传统规则到现代子词粒度方法
11 [预训练]Encoder-only架构的预训练任务核心机制
12 【第一章】大模型预训练全解析:定义、数据处理、流程及多阶段训练逻辑
13 (第一章)深度学习标准化技术综述: 从BatchNorm到DeepNorm的演进与实战
14 Transformer架构解析:Encoder与Decoder核心差异、生成式解码技术详解


网站公告

今日签到

点亮在社区的每一天
去签到