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

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

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

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 个),提升稀疏性和模型表达能力
平衡策略注重专家和设备间的负载均衡,提高训练效率和资源利用率

posted on 2025-06-10 13:19  ljbguanli  阅读(20)  评论(0)    收藏  举报