从大模型工程视角看DeepSeek-V3/R1

360影视 欧美动漫 2025-05-26 21:40 2

摘要:DeepSeek-V3/R1 凭借 61 层神经网络、58 层 MoE 架构及 14906 个专家,在高效推理与经济性上实现突破。其 MLA 机制有效压缩键值缓存,降低内存占用,多 Token 预测等技术更是大幅提升数据效率与训练速度,正推动大模型向更高效、智

DeepSeek-V3/R1 凭借 61 层神经网络、58 层 MoE 架构及 14906 个专家,在高效推理与经济性上实现突破。其 MLA 机制有效压缩键值缓存,降低内存占用,多 Token 预测等技术更是大幅提升数据效率与训练速度,正推动大模型向更高效、智能的未来迈进。

61层神经网络,58层MoE,共用14,90个专家;

DeepSeek-V3是一款采用混合专家(Mixture-of-Experts, MoE)架构的大型语言模型,其设计中每层包含有1个共享专家和256个路由专家。这意味着每一层总共有257个专家(1 + 256)。模型总计有61层,其中前3层为密集层(Dense Layer),而后58层则采用了MoE架构。

为了计算整个模型中的专家总数,我们可以将每层的专家数量乘以MoE层数。具体来说,模型的MoE部分包含58层,每层有257个专家,因此总的专家数量为:

[ text{总专家数} = 257 times 58 = 14,906 ]

这表明DeepSeek-V3在整个模型中部署了14,906个专家。这样的设计允许模型在保持高效推理的同时,通过激活少量专家来处理每个token,从而实现经济高效的训练和推理过程。

此外,值得注意的是,在MoE层中,每个token会选择激活8个专家,并确保这些token最多被路由到4个节点上进行处理。这种稀疏激活机制不仅有助于控制计算资源的使用,还能够有效地减少通信开销,提升系统的整体效率。通过这种方式,DeepSeek-V3能够在不显著增加计算成本的情况下扩展模型规模,同时保持高性能表现。

减少推理过程中的键值(KV)缓存和训练时的激活内存

MLA机制的核心作用

1. 减少推理过程中的KV缓存:在处理长序列时,传统MHA机制需要为每个token存储完整的键值对,这会导致内存占用随序列长度线性增长。MLA通过将键和值压缩成一个低维潜在向量来减少KV缓存的需求,从而有效解决了这一问题。

2. 降低训练期间的激活内存:除了推理阶段,MLA还通过低秩压缩查询矩阵进一步减少了训练期间的激活内存,使得大规模模型的训练更加高效。

3. 保持高性能:尽管进行了压缩,但MLA能够通过重建步骤恢复大部分信息,确保模型性能不受明显影响。

技术实现细节

1. 键和值的低秩压缩

设嵌入维度为 (d),注意力头数量为 (n_h),每个头的维度为 (d_h),(h_t in mathbb{R}^d) 表示第 (t) 个token在给定注意力层的输入。MLA首先对键和值进行低秩联合压缩,生成压缩潜在向量 (c_t);其中,(c_t in mathbb{R}^{d_c}) 是压缩后的潜在向量,(d_c)(远小于 (n_h cdot d_h))表示键值的压缩维度,(W_{down} in mathbb{R}^{d times d_c}) 是下投影矩阵。

接着,通过上投影矩阵 (W_k) 和 (W_v) 分别生成压缩后的键 (k_t) 和值 (v_t);其中,(W_k, W_v in mathbb{R}^{n_h cdot d_h times d_c}) 分别是键和值的上投影矩阵。

为了引入位置信息,MLA还生成一个携带旋转位置嵌入(RoPE)的解耦键 (k’_t);其中,(W_{decouple} in mathbb{R}^{n_h cdot d_h times d_c}) 是用于生成解耦键的矩阵,RoPE((cdot)) 表示应用旋转位置嵌入的操作。最终,每个注意力头的键 (k_{i,t}) 通过拼接压缩键 (k_t) 和解耦键 (k’_t) 得到。

2. 查询的低秩压缩

为了进一步减少训练期间的激活内存,MLA对查询(queries)也进行了低秩压缩。首先生成查询的压缩潜在向量 (c’_t);其中,(c’_t in mathbb{R}^{d_q}) 是查询的压缩潜在向量,(d_q)(远小于 (n_h cdot d_h))表示查询的压缩维度,(W_{q_down} in mathbb{R}^{d_q times d}) 是查询的下投影矩阵。

接着,通过上投影矩阵 (W_q) 生成压缩后的查询 (q_t);其中,(W_q in mathbb{R}^{n_h cdot d_h times d_q}) 是查询的上投影矩阵。类似地,生成携带RoPE的解耦查询 (q’_t);其中,(W_{q_decouple} in mathbb{R}^{n_h cdot d_h times d_q}) 是用于生成解耦查询的矩阵。最终,每个注意力头的查询 (q_{i,t}) 通过拼接压缩查询 (q_t) 和解耦查询 (q’_t) 得到。

3. 注意力计算

最终的注意力输出 (u_t) 通过结合查询 (q_{i,t})、键 (k_{i,t}) 和值 (v_{i,t}) 计算得到。首先计算每个注意力头的输出 (o_{i,t}),然后将所有注意力头的输出拼接并通过输出投影矩阵 (W_o) 生成最终的注意力输出 (u_t),其中,(W_o in mathbb{R}^{d times n_h cdot d_h}) 是输出投影矩阵。

通过上述低秩压缩技术,MLA显著减少了推理过程中的KV缓存(只需缓存 (c_t) 和 (k_t)),同时降低了训练期间的激活内存(通过压缩查询 (c’_t)),从而在保持高性能的同时实现了高效的计算和存储。

此外,MLA还通过改变矩阵乘法的计算顺序来优化注意力机制的计算效率。这种方法利用了矩阵乘法的结合律,使得计算可以在不同的维度上进行重组,从而减少计算量。

综上所述,DeepSeek-V3中的MLA机制不仅在理论上具有显著优势,在实际应用中也表现出色,特别是在处理长文本任务时,当文本长度达到10,000 tokens,传统的MHA机制可能会遇到内存瓶颈,而MLA则能有效缓解这一问题。多 Token 预测(Multi-Token Prediction, MTP)

DeepSeek-V3 设置了多 Token 预测目标,允许模型同时预测多个未来的 Token。这一技术使训练信号更加密集,并能够更好地对 Token 表示进行预规划,从而提高了数据效率和模型性能。MTP 不仅增强了模型对未来 Token 的预测能力,还为推理加速提供了推测解码的可能性。 FP8 混合精度训练

DeepSeek-V3 实现了 FP8 混合精度训练,这是一种低数据精度训练方法,可以提供高速度、小内存占用和低通信开销。FP8 数据格式占用的数据位宽仅为 FP32 的 1/4 和 FP16 的 1/2,极大地提升了计算速度并降低了对存储的消耗。通过算法优化,DeepSeek-V3 确保了即使在低精度下也能维持较高的训练精度。DualPipe 加速器

DeepSeek-V3 利用了 DualPipe 加速器,这是一种工程创新,结合了硬件和软件层面的优化,进一步提升了模型的训练和推理效率。通过 DualPipe 技术,DeepSeek-V3 能够更高效地利用算力资源,实现了比传统方法更高的性能。 GRPO 强化学习算法

DeepSeek-V3 在后训练阶段简化了模型数量,优化了奖励机制,并独创了 GRPO(Generalized Reinforcement-based Policy Optimization)算法。这种算法为强化学习的发展提供了新的方向,特别是在生成式 AI 模型的训练中展现了强大的潜力。deepseek开源deepEP,是为了超细粒度的MoE利用。

大模型要么一方面走越来越大的数据、算力、算法路线,就是需要卡,需要数据,需要新的算法。

另外一方面就是往应用层去走,应用层的话你就得走到用户端去,那就得降低幻觉,降低幻觉的话呢,你不能让用户自己去降低幻觉,成本太高,对用户来说,只能模型做应用去降低环节,那怎么做呢?就是在边缘边。或者说做物理上的这种单独的用户的数据库,去做这个本地的知识库的映射,那这种的话,你才能降低幻觉,或者解决具体的问题。那这层谁做?要么是终端设备去做,要么是云端去做。或者说端云协同去做,反正不能让用户去做。

本文由人人都是产品经理作者【连诗路AI产品】,【AI产品有思路】,原创/授权 发布于人人都是产品经理,未经许可,禁止转载。

题图来自Unsplash,基于 CC0 协议。

来源:人人都是产品经理一点号

相关推荐