DeepSeek 是由深度求索(DeepSeek)公司开发的大语言模型系列,以创新的 MoE(混合专家)架构、极高的训练效率和极具竞争力的性能价格比著称。本文全面梳理 DeepSeek 系列模型的技术演进,从最初的 DeepSeek-LLM 到最新的 DeepSeek-V4,深入解析 MLA 注意力机制、DeepSeekMoE、FP8 训练、RL 推理能力等核心技术创新。
DeepSeek 系列模型的演化是 AI 工程效率的经典案例,短短两年间经历了多次重大架构升级:
| 版本 | 发布时间 | 核心创新 |
|---|---|---|
| DeepSeek-LLM | 2024-01 | 探索双语数据下的 Scaling Law,HPC Co-Design 的初步实践 |
| DeepSeek-V2 | 2024-06 | 引入 Multi-Head Latent Attention (MLA) 和 DeepSeekMoE,大幅降低显存和计算成本 |
| DeepSeek-V3 | 2024-12 | 将 MoE 专家数提升至 257 个(671B 总参数量),率先在开源 LLM 中使用 FP8 混合精度训练 |
| DeepSeek-R1 | 2025-01 | 通过大规模强化学习(RL)激发涌现式思维链能力,包含纯 RL 路线 R1-Zero |
| DeepSeek-V3-0324 | 2025-03 | 融合 R1 的 RL 技术改进后训练 pipeline,推理和编程能力大幅提升 |
| DeepSeek-R1-0528 | 2025-05 | R1 的显著升级版本,更强的推理能力 |
| DeepSeek-V3.1 | 2025-08 | 混合推理模式,一个模型同时支持 "思考" 和 "非思考" 模式 |
| DeepSeek-V3.2 | 2025-12 | 达到 GPT-5-High 级别性能,Agent 能力大幅提升 |
| DeepSeek-V4 | 2026-04 | 架构重大升级,支持超长上下文的生产级部署 |
DeepSeek-LLM 的核心问题是:在固定计算预算下,如何选择模型规模与训练数据量的最优比例?
作者将计算预算 表达为:
其中 是非嵌入层 FLOPs/token, 是数据量。这种更细粒度的表示方法,让他们能够准确预测 7B 和 67B 模型在 2T token 双语数据上的训练表现。
大规模模型训练中最棘手的问题之一是训练不稳定性——训练过程中突然出现的不可恢复的发散。DeepSeek-LLM 的研究表明,通过精心调整学习率、batch size 等超参数,将模型架构与高性能计算(HPC)基础设施协同设计(HPC Co-Design),可以实现稳定的大规模训练。
一个关键发现是:数据质量会影响最优参数配比。高质量、信息密度高的数据可以支撑更大的模型规模,而低质量数据中大量冗余信息会稀释训练信号。
如果说 DeepSeek-LLM 主要探索了规模和效率的高层权衡,那么 V2 则深入了 Transformer 架构的具体开销瓶颈。两个主要障碍是:
DeepSeek-V2 通过两项核心创新同时解决了这两个问题。
标准的多头注意力(MHA)中,每个 token 的 Key 和 Value 矩阵在推理时会被缓存(KV Cache),以便后续 token 复用。对于 个头、头维度 的模型,每层需要缓存 个浮点数(其中 是序列长度)。随着上下文窗口增加到 128K 甚至更长,KV Cache 成为显存的主要消耗者。
现有的解决方案如 Grouped-Query Attention (GQA) 和 Multi-Query Attention (MQA) 通过让多个 Query 头共享同一组 KV 来减少缓存,但以牺牲模型表现为代价。
MLA 采用**低秩联合压缩(low-rank joint compression)**策略。它不是减少注意力头数,而是对 KV 投影矩阵进行低秩分解:
数学表达如下:
其中 是压缩后的潜向量, 是向下投影矩阵, 和 是向上投影矩阵。
MoE(Mixture of Experts)的核心思想是将 FFN 层拆分为多个"专家",每个 token 只激活最相关的少数专家,从而在保持模型容量的同时大幅降低计算成本。
DeepSeekMoE 对标准 MoE 做了关键改进:
这种细粒度的专家设计使得知识可以在更多专家之间分解,每个专家可以学到更专门化的知识。
除了路由专家外,DeepSeekMoE 还引入了共享专家——每层固定激活的专家,用于学习所有 token 都需要的通用模式。这样路由专家可以更专注于处理专门化的子问题。
为了防止跨设备通信成为瓶颈,DeepSeekMoE 引入了设备级路由限制:每个 token 最多被发送到 个设备(节点),在每个设备内选择最优的 个专家。这种机制使得 MoE 训练框架实现了近乎完全的计算-通信重叠。
在训练中,DeepSeek-V2 通过三种辅助损失(expert-level、device-level、communication-level)来避免路由崩溃(routing collapse)——即所有 token 都涌向少数专家,其余专家未被充分利用的问题。
DeepSeek-V3 是在 V2 架构基础上的重大升级,在不改变基本架构的前提下,通过多项创新实现了性能的飞跃。
| 对比项 | DeepSeek-V2 | DeepSeek-V3 |
|---|---|---|
| 总参数量 | 236B | 671B |
| 激活参数量 | 21B | 37B |
| Transformer 层数 | 60 | 61 |
| 每层路由专家数 | 160 | 256 |
| 共享专家 | 2 | 1 |
| 每 token 激活专家数 | 8 out of 162 | 9 out of 257 |
| 全激活层 | 1 | 3 |
V3 将路由专家增加了约 60%(从 160 到 256),显著增强了模型的知识存储容量。每个专家约 29.36M 参数,在 (61-3) 层中每层激活 9 个专家 + 3 层全激活每层 257 个专家,总计 37.96B 激活参数。
这是 V3 最优雅的改进之一。
V2 的问题:辅助损失虽然能平衡专家负载,但会干扰 token-to-expert 的亲和度——一个 token 本来最适合 A 专家,但为了"均衡"被路由到了 B 专家。这会拉低模型质量。
V3 的解决方案:完全消除辅助损失,改为在门控值(gating value)中引入偏置项。这个偏置:
虽然 V3 的负载均衡效果不如 V2(某些专家确实承担了更多工作),但最终模型表现显著更好。
DeepSeek-V3 是首个在完整预训练过程中使用 FP8 混合精度训练的开源 LLM。
| 维度 | 优势 |
|---|---|
| 计算效率 | NVIDIA Tensor Core 的 FP8 FLOPS 是 FP16 的 2 倍 |
| 显存节省 | 相比 BF16 减少一半显存占用 |
| 通信效率 | 分布式训练中降低数据传输带宽需求 |
并非全模型 FP8。DeepSeek-V3 采用了混合精度策略:
Tile-wise 量化:将矩阵划分为 的 tile 块,每个块独立计算缩放因子。这比 per-tensor 和 per-channel 量化更精细。
E4M3 格式:选择 E4M3(4 位指数 + 3 位尾数)而非 E5M2(更多指数位更少尾数位),因为更细粒度的 tile 划分已经降低了异常值的影响,因此可以用更多尾数位提高精度。
在线量化(Online Quantization):对所有层使用动态范围量化,根据每批输入的实际值动态计算缩放因子,而非使用固定缩放。
精度保持:通过大量工程优化,FP8 训练的相对损失误差始终低于 0.25%。
V3 引入的另一个创新:在每个位置预测多个后续 token(当前版本预测 2 个 token)。这强化了训练信号,提高了数据效率,并帮助模型更好地为预测未来 token 做准备。
DeepSeek-V3 是硬件-软件协同设计的经典范例。训练集群采用 2048 块 NVIDIA H800 GPU,通过精细的调度策略实现:
总训练成本约 557 万美元,仅为同等规模模型(如 GPT-4)的十分之一甚至更低。
DeepSeek-R1 的发布在 AI 领域引发了新一轮震动。它不是简单地增加模型规模,而是证明了通过强化学习可以让模型涌现出推理能力。
R1-Zero 是 R1 的"零监督"变体,训练流程极其简洁:
结果令人震惊:模型自己发现了生成中间推理步骤有助于提高答案正确性。思维链能力是从奖励结构中涌现的,不是从模仿中学习的。
R1-Zero 虽然推理能力强,但输出质量差(语言混杂、格式不一致)。完整版 R1 增加了两阶段后训练:
DeepSeek-R1 的推理过程可以通过 <think> 标签公开查看:
推理长度的非单调关系:推理链长度与准确率呈倒 U 型关系——过短的推理不够深入,过长的推理反而开始"过度思考"(rumination)。在 AIME-24 基准上,正确解的平均推理链长约 2,000 token,而错误解平均达 4,000 token。
CoT 忠实性(Faithfulness):研究表明 R1 的思维链并不总能忠实反映其内部推理过程。在 445 个逻辑谜题的实验中,模型在 94.6% 的情况下会明确承认有害提示,但只有不到 2% 的情况下会报告有用提示。这意味着思维链有"表演"成分。
DeepSeek 发布了 6 个蒸馏版本(1.5B/7B/8B/14B/32B/70B),将 R1 的推理能力迁移到更小的密集模型上。其中 DeepSeek-R1-Distill-Qwen-32B 和 Distill-Llama-70B 的表现尤其出色。
| 维度 | DeepSeek-R1 | OpenAI o1 |
|---|---|---|
| 架构 | MoE 671B (37B 激活) | 闭源,无公开细节 |
| 上下文窗口 | 128K | 200K |
| 成本 | 极低(开源且高效) | 较高(API 定价) |
| 思维链 | 完全公开(<think> 标签) |
内部推理过程不透明 |
| 开源 | ✅ 完全开源(MIT) | ❌ 闭源 |
| 数学推理 | SOTA | 略优 |
| 通用知识 | 略逊 | 更广 |
基于 V3 Base,改进了后训练 pipeline,融合了 R1 的 RL 技术。在数学和编程评估中超越 GPT-4.5。
R1 的重大升级,更长的推理链、更高的准确率。通过更多计算和先进的后训练优化,将推理能力推向新高度。
混合推理模式的里程碑:同一个模型可以通过聊天模板切换"思考"(类 R1 的思维链推理)和"非思考"(直接的快速响应)两种模式。671B 参数(37B 激活),支持 128K 上下文。
V3.2 是 V3 系列的集大成者:
架构重大升级,重点解决超长上下文的实际部署问题。包含多个 MoE 模型变体,支持生产级的长上下文推理。
MLA 的本质是用信息压缩替代信息丢弃。MQA/GQA 通过丢弃 KV 头来减少缓存(信息有损),而 MLA 通过学习将 KV 信息压缩到低维空间(信息无损或近似无损)。这类似于 PCA(主成分分析)的思想——原始高维 KV 向量中存在大量冗余,有效的语义信息可以用更少的维度表示。
V3 的 257 个专家中每 token 只激活 9 个也意味着每 token 有 96.5% 的参数未被激活。这带来一个有趣的问题:随着专家数继续增加,稀疏度进一步提升,性能曲线会如何变化?V4 的发布表明 DeepSeek 团队正在这个方向上持续探索。
DeepSeek 的极致效率来自于三个层面的协同:
这三者的乘积使得 DeepSeek 能够以 557 万美元训练一个等效于数亿美元成本的模型。
DeepSeek 提供与 OpenAI 兼容的 API 接口,支持:
deepseek-reasoner)通过 Ollama、vLLM、llama.cpp 等框架可以本地运行:
deepseek-reasoner,<think> 标签内的推理过程有助于审计DeepSeek 的开源策略对整个 AI 行业产生了深远影响:
此页面为 AI 知识体系 的一部分,内容持续更新中。