本文档提供了 DeepSeek-V3 模型架构的技术概述。它描述了使 DeepSeek-V3 能够以高效的参数利用率实现最先进性能的核心组件、架构创新和实现细节。有关如何运行和部署模型的详细信息,请参阅“入门指南”,有关详细的评估指标,请参阅“基准测试与评估”。
DeepSeek-V3 是一款最先进的语言模型,采用混合专家(MoE)架构,总参数为 671B,但每个 token 激活的参数仅为 37B。这种架构方法在训练和推理过程中,可以在保持合理计算需求的同时,显著提高模型容量。
该模型建立在 DeepSeek-V2 中引入的创新技术之上,特别是多头潜在注意力(MLA)和 DeepSeekMoE 架构。DeepSeek-V3 进一步推进了这些技术,通过以下方式:
来源:README.md45-54 README.md63-67
DeepSeek-V3 遵循基于 Transformer 的架构,并具有优化性能和计算效率的专用组件。
模型架构包含:
ParallelEmbedding 层该架构同时采用了张量并行(Tensor Parallelism)和专家并行(Expert Parallelism)来进行分布式训练和推理,并为每个并行维度配备了专用组件。
来源:inference/model.py760-766 inference/model.py703-732
DeepSeek-V3 中的核心 Transformer 类整合了所有架构组件。
Transformer 类负责处理:
多头潜在注意力(Multi-head Latent Attention)是 DeepSeek-V3 的一项关键创新,与传统的 MHA 相比,提供了更高的效率。
MLA 的关键创新包括:
MLA 实现支持两种不同的注意力实现:
"naive":传统实现,具有独立的键(key)和值(value)缓存"absorb":优化实现,将权重矩阵吸收到注意力计算中DeepSeekMoE 架构是一种特殊的混合专家实现,它允许模型拥有大量参数,同时保持计算需求在合理范围内。
DeepSeekMoE 实现的关键特性:
DeepSeek-V3 使用以下 MoE 配置:
来源:inference/model.py532-690 README.md63-64
DeepSeek-V3 有多种模型尺寸变体,尽管该仓库主要关注 671B 参数版本。模型配置通过 ModelArgs 类定义。
| 参数 | 值 | 描述 |
|---|---|---|
| dim | 2048+ | 模型隐藏维度 |
| n_layers | 27+ | Transformer 层数 |
| n_heads | 16+ | 注意力头的数量 |
| n_routed_experts | 256 | MoE 专家数量 |
| n_activated_experts | 6 | 每个 token 激活的专家数 |
| max_seq_len | 131072 | 支持的最大序列长度(128K) |
| q_lora_rank | 0 | 查询投影的低秩 |
| kv_lora_rank | 512 | 键值(key-value)投影的低秩 |
模型架构通过以下方式设计以实现高效扩展:
来源:inference/model.py19-84 README.md88-95
DeepSeek-V3 通过在位置嵌入和注意力机制方面的创新,支持 128K token 的上下文窗口。
该模型实现了一个 RoPE 的扩展版本,具有以下特性:
RoPE 实现包括:
rope_theta)rope_factor)beta_fast 和 beta_slow)mscale)来源:inference/model.py294-372 inference/model.py375-390
DeepSeek-V3 的架构代表了大型语言模型设计的一个重要进步,它结合了多项创新,以同时实现高性能和高效的参数利用。该模型使用多头潜在注意力、DeepSeekMoE 和扩展的旋转嵌入,使其能够处理 128K token 的上下文,同时在广泛的任务中保持强大的性能。
该架构在不同精度格式(BF16 和 FP8)之间具有灵活性,并设计用于跨多个 GPU 节点的高效分布式训练和推理。
刷新此 Wiki
最后索引时间2025年4月17日(4cc625)