简介
我们推出DeepSeek-V3,这是一个强大的混合专家(MoE)语言模型,总参数量达671B,每个token激活37B参数。为了实现高效推理和成本效益的训练,DeepSeek-V3采用了多头潜在注意力(MLA)和DeepSeekMoE架构,这些架构在DeepSeek-V2中已经得到了充分验证。此外,DeepSeek-V3开创了一种无辅助损失的负载均衡策略,并设置了多token预测训练目标以提升性能。
我们在14.8万亿多样化、高质量的token上预训练DeepSeek-V3,之后通过监督微调和强化学习阶段充分发挥其能力。全面评估表明,DeepSeek-V3超越了其他开源模型,并达到了与领先闭源模型相当的性能。尽管性能出色,DeepSeek-V3的完整训练仅需2.788M H800 GPU小时。此外,其训练过程非常稳定。在整个训练过程中,我们没有遇到任何不可恢复的损失峰值,也没有执行任何回滚操作。
模型概述
架构:创新的负载均衡策略和训练目标
- 在DeepSeek-V2高效架构的基础上,我们开创了一种无辅助损失的负载均衡策略,最大限度地减少了鼓励负载均衡所带来的性能下降。
- 我们研究了多Token预测(MTP)目标,并证明它有利于模型性能。它还可用于推测解码以加速推理。
预训练:追求极致训练效率
- 我们设计了FP8混合精度训练框架,首次验证了FP8训练在超大规模模型上的可行性和有效性。
- 通过算法、框架和硬件的协同设计,我们克服了跨节点MoE训练中的通信瓶颈,几乎实现了完全的计算-通信重叠。
- 以仅2.664M H800 GPU小时的经济成本,我们完成了DeepSeek-V3在14.8T token上的预训练,产生了目前最强大的开源基础模型。
后训练:从DeepSeek-R1的知识蒸馏
我们引入了一种创新方法,从长思维链(CoT)模型,特别是DeepSeek R1系列模型之一,将推理能力蒸馏到标准LLM中,尤其是DeepSeek-V3。我们的流程优雅地将R1的验证和反思模式融入DeepSeek-V3,显著提高了其推理性能。同时,我们还保持对DeepSeek-V3输出风格和长度的控制。
模型下载
| 模型 | 总参数量 | 激活参数量 | 上下文长度 | 下载 |
|---|---|---|---|---|
| DeepSeek-V3-Base | 671B | 37B | 128K | Hugging Face |
| DeepSeek-V3 | 671B | 37B | 128K | Hugging Face |
Hugging Face上DeepSeek-V3模型的总大小为685B,包括671B的主模型权重和14B的多Token预测(MTP)模块权重。
评估结果
基础模型
DeepSeek-V3在大多数基准测试中都取得了最佳性能,尤其是在数学和代码任务上表现突出。评估表明,尽管仅激活37B参数,DeepSeek-V3的性能超过了许多更大的稠密模型,如LLaMA3.1 405B。
MMLU
87.1%多领域知识理解,超过LLaMA3.1 405B(84.4%)
GSM8K
89.3%小学数学问题求解,超过LLaMA3.1 405B(83.5%)
HumanEval
65.2%代码生成能力,超过LLaMA3.1 405B(54.9%)
MATH
61.6%高中数学问题,超过LLaMA3.1 405B(49.0%)
C-Eval
90.1%中文评估基准,超过LLaMA3.1 405B(72.5%)
多语言MMMLU
79.4%非英语多语言评估,超过LLaMA3.1 405B(73.8%)
对话模型
DeepSeek-V3在标准基准测试和开放式生成评估中都表现出色,是性能最好的开源模型,并且与顶级闭源模型相比也具有竞争力。
标准基准测试
- MMLU 88.5%
- MMLU-Redux 89.1%
- DROP 91.6%
- GPQA-Diamond 59.1%
- LongBench v2 48.7%
开放式生成评估
数学能力
在数学领域,DeepSeek-V3显著超越了所有开源和闭源模型,特别是在高难度的奥林匹克数学竞赛问题上。
代码能力
在代码生成和理解方面,DeepSeek-V3超越了所有开源模型,在多语言编程和实时代码基准测试中表现尤为突出。
本地运行
DeepSeek-V3可以通过以下开源社区软件在本地部署:
DeepSeek-Infer Demo
提供简单轻量级的FP8和BF16推理演示。
SGLang
完全支持BF16和FP8推理模式,多Token预测即将推出。
LMDeploy
支持高效的FP8和BF16推理,适用于本地和云部署。
TensorRT-LLM
支持BF16推理和INT4/8量化,FP8支持即将推出。
vLLM
支持张量并行和流水线并行的FP8和BF16模式。
硬件支持
支持NVIDIA GPU、AMD GPU和华为昇腾NPU。
由于我们的框架原生采用FP8训练,我们只提供FP8权重。如果您需要BF16权重进行实验,可以使用提供的转换脚本进行转换。
FP8权重转换为BF16示例
cd inference
python fp8_cast_bf16.py --input-fp8-hf-path /path/to/fp8_weights --output-bf16-hf-path /path/to/bf16_weights
使用DeepSeek-Infer Demo运行示例
1. 克隆代码库
git clone https://github.com/deepseek-ai/DeepSeek-V3.git
2. 安装依赖
cd DeepSeek-V3/inference
pip install -r requirements.txt
3. 转换模型权重
python convert.py --hf-ckpt-path /path/to/DeepSeek-V3 --save-path /path/to/DeepSeek-V3-Demo --n-experts 256 --model-parallel 16
4. 交互式对话
torchrun --nnodes 2 --nproc-per-node 8 --node-rank $RANK --master-addr $ADDR generate.py --ckpt-path /path/to/DeepSeek-V3-Demo --config configs/config_671B.json --interactive --temperature 0.7 --max-new-tokens 200
许可证
本代码库根据MIT许可证授权。DeepSeek-V3 Base/Chat模型的使用受模型许可证约束。DeepSeek-V3系列(包括Base和Chat)支持商业使用。