
这篇文章详细分析了DeepSeek大模型的关键技术,包括公司的背景、模型的能力、训练和推理的成本以及技术细节。
一、关于DeepSeek公司及其大模型
1.1 公司概况
DeepSeek成立于2023年7月,位于杭州,是幻方量化的一个子公司,正式名称是杭州深度求索人工智能基础技术研究有限公司。
“成立时间不久”、”最新发布的V3版本已经能够与OpenAI的4o相抗衡”、”训练的总成本少于600万美元”、”API的定价仅是国内其他顶尖公司的几分之一”、”其应用程序在中美的应用商店中已经夺得了免费榜首”;
这些都是最近关于DeepSeek的一些热门话题,接下来我们来看看官网的信息:
在过去的六个月里,DeepSeek相继发布了三个重要的大模型版本,分别是DeepSeek V2.5、DeepSeek V3和DeepSeek-R1(它们都采用了MOE架构)。在此之前,DeepSeek还推出了DeepSeek-VL、DeepSeek Coder与DeepSeek Math。

1.2 模型能力
DeepSeek的模型目前能够与国内的Qwen、国际的Llama和GPT 4o相提并论。从最新的榜单来看,DeepSeek-V3在开源模型中排名第一,实力与全球最先进的闭源模型不相上下。
1.3 训练和推理的成本
推理成本(API报价):每百万Token的输入费用仅需1元,这个价格挺划算的吧。


训练成本:根据技术报告,DeepSeek在训练时使用了大约2千张H800的GPU,整个V3的训练费用控制在600万美元以内,这价格还是挺合理的。
DeepSeek-V3模型的训练成本与架构揭秘
- 在预训练阶段,V3需要2048个H800 GPU集群,处理每万亿个Token时,仅需180,000个H800 GPU小时,换算下来大约也就三天半的时间。
- 整个过程耗费了2788个GPU的时间。
- 如果按照每小时2美元的H800租赁费用计算,总训练开支不会超过600万美元。
DeepSeek-V3技术报告
这么低的推理和训练成本,不禁让人好奇:
模型到底用的是什么网络架构呢?
训练的精度、框架和并行策略是如何设计的?
模型在部署和优化方面有哪些措施?
在硬件的计算和通信上做了哪些优化呢?
二、DeepSeek训推核心技术
2.1 DeepSeek-V3模型网络架构
DeepSeekV3在整体预训练中使用了14.8万亿的优质Token,并在后续进行了SFT和RL的训练,参数量达到671B,但每个Token仅激活了37B的参数。为了实现高效的推理与训练,DeepSeekV3自研了MLA注意力机制和一种无辅助损失负载均衡策略的MoE架构。
从技术报告来看,V3采用了经典的Transformer架构,特别值得一提的是它的前馈网络使用了DeepSeekMoE架构,Attention机制则用的是MLA架构。这两个机制其实在DeepSeekV2模型中就已经得到了验证。
与DeepSeek-V2相比,V3还引入了一种无辅助损失的负载均衡策略,这有助于减轻在确保Expert负载均衡时可能出现的性能下降。
2.1.1 DeepSeekMoE
探索MoE架构在Transformer中的应用
说到MoE架构,其实最早是在GShard架构中应用到Transformer网络里的。这种架构和传统的大模型相比,增加了一个专家网络层,使得数据流转时更灵活。
简单来说,传统的MoE架构主要由两个部分构成:一个是Gating门控网络,另一个是稀疏MoE层。
- 稀疏MoE层替代了传统Transformer模型中的前馈网络(FFN)层。这些层通常包含多个“专家”(比如8个),而每个专家其实就是一个独立的神经网络。在实际使用中,这些专家一般是FFN,但也可以使用更复杂的网络结构,甚至可以把MoE层本身作为专家,形成一种层级MoE结构。
- 门控网络或路由部分的作用是决定哪些Token应该送到哪个专家。Token的路由方式是MoE使用中的关键,因为这个路由器是由学习到的参数构成,并且会和网络的其他部分一起进行预训练。

相较于传统的MoE架构,DeepSeekMoE采用了更细粒度的专家设置,并且将部分专家隔离成共享专家,从而减少了知识冗余。

在门控网络的路由策略中,TopK其实是指第t个Token与所有路由专家计算出的亲和力分数中K个最高的集合。在DeepSeekV3中,使用sigmoid函数来计算这些分数,并对选出的亲和力分数进行归一化处理,从而生成门控值。
不过,在MoE模型训练的过程中,不同专家由于路由策略的影响,往往会导致接收到的训练数据分布不均。比如,所有的Token可能都被送到一两个热门的专家那里,这样的话,有些专家根本就没机会接受训练。
为了解决这个问题,业界普遍采用的办法是引入辅助损失,但有时候过大的辅助损失反而会影响模型的整体性能。
为了解决负载均衡与模型性能之间的矛盾,DeepSeek提出了一种新颖的无辅助损失负载均衡策略:为每个专家引入一个偏差项,并将其加到对应的亲和力分数中,以决定top-K路由。具体来说,如果某个专家的负载过高,我们就会降低其偏差项;而如果负载不足,则会增加偏差项,γ则是一个用于控制偏差更新速度的超参数。
低秩压缩与多头潜在注意力机制的探讨
其实啊,门控网络可以理解为将softmax与分类网络结合在一起的一个模型。在这个过程中,辅助损失的作用就是通过添加惩罚项来限制输出的logits值。这样一来,可以促使模型生成更加适中的logits,避免出现极端的输出情况。
说到大模型的推理,KV Cache机制往往是个大麻烦,它直接影响到推理的效率。尤其是在标准的Transformer架构中的多头自注意力(MHA)部分,会产生大量的KV Cache。为了改善这个问题,业内有不少尝试,比如PagedAttention、多查询注意力(MQA)和分组查询注意力(GQA),但这些方法的性能相比于原生MHA还是有一定的差距。

在这个背景下,DeepSeek-V2带来了一个新颖的注意力机制,叫做多头潜在注意力(MLA)。
相较于MQA的KV共享和GQA的KV分组,MLA的关键在于低秩联合压缩注意力键和值,目的就是减少推理过程中对键值(KV)缓存的需求。这种方法不仅在性能上优于MHA,而且所需的KV缓存量也少得多。

说白了,低秩矩阵就是指其秩远小于行数和列数的矩阵。
假如有一个矩阵的结构允许它可以被分解成两个较小矩阵的乘积,那就可以说这个矩阵是低秩的。
举个例子,如果我们有一个4×5的矩阵A,可以用一个4×2的矩阵B和一个2×5的矩阵C的乘积来表示,那说明这个矩阵A就是低秩矩阵,因为它的信息可以通过这两个小矩阵来捕捉。
接下来,我们来深入聊聊低秩压缩计算的核心过程。
低秩矩阵,你了解吗?
大家好,今天咱们聊聊什么是低秩矩阵。其实呢,简单来说,如果我们有一个4×5的矩阵A,而这个矩阵A可以通过一个4×2的矩阵B和一个2×5的矩阵C的乘积来表示,那就说明A是个低秩矩阵。这样的话,A里面的信息其实可以被这两个小矩阵给捕捉到,听起来是不是有点神奇?接下来,我们就来深入了解一下低秩压缩计算的关键过程,看看它是如何运作的。
深入探讨训练推理的核心技术
MLA 模块架构图
如果你对具体的Attention计算过程感兴趣,可以参考这里的MLA的推导细节哦。
2.2 训练推理核心技术

2.2.1 训练框架HAI-LLM
DeepSeek-V3在一个拥有2048个NVIDIA H800 GPU的集群上进行训练,采用了自家研发的HAI-LLM框架,该框架实现了四种并行训练模式:ZeRO支持的数据并行、流水线并行、张量切片模型并行以及序列并行。
这样的并行处理能力,能够满足不同工作负载的需求,支持数万亿规模的超大模型,同时可以扩展到数千个GPU。此外,我们还自研了一些高效的算子haiscale,能够大幅提升HAI-LLM在训练大模型时的显存和计算效率。
2.2.2 核心算法DualPipe-创新流水线并行算法
- 通信计算重叠优化
DeepSeek-V3采用了16路的流水线并行(PP),跨越8个节点的64路专家并行(EP),以及ZeRO-1的数据并行(DP)。
比起现有的流水线并行方法,DualPipe的气泡更少。同时,它重叠了前向和后向过程中的计算与通信环节,成功解决了跨节点专家并行带来的高通信开销问题。
DualPipe的核心理念是在一对独立的前向和后向块中重叠计算与通信:每个块被划分为四个部分:注意力、all-all调度、MLP和all-all组合。
比如说,假设我们有两个计算块,A和B:
1. 在块A进行前向传播计算时,块B的后向传播通信可以同时进行。
2. 当块A完成前向传播计算后,开始进行通信;而块B则启动前向传播计算。
### 深度学习中的高效通信与计算
通过巧妙地排列这些功能模块,并精准调控通信和计算所需的GPU SM资源分配,系统在运行时能够有效地减少全节点和PP通信的负担。
从DeepSeek的表现来看,它在PP方面进行了大量的优化,技术报告显示,即使是细粒度的全对全专家通信,它的通信开销几乎可以忽略不计。
- 在深度学习的大规模分布式训练中,通信速度往往追不上计算速度。如何在通信的空档里并行处理计算,这就是实现高效训练的关键所在。
- 对于一些大型模型,常会采用流水线并行的方法,把不同层的模型放到不同的GPU上。但由于层与层之间存在依赖关系,后续的层必须等前面的计算完成后才能开始,这就导致GPU在某些时段处于闲置状态。
- 跨节点全对全通信
DeepSeek还特别设计了高效的跨节点全对全通信内核,包括调度和组合功能。
具体来说,节点间的GPU通过IB实现完全互联,而节点内部的通信则通过NVLink处理。每个Token最多可以调度到4个节点,这样一来,就能有效减少IB的通信量。同时,还运用了warp专业化技术来优化调度和组合。
在调度过程中,(1) IB发送,(2) IB到NVLink的转发,以及(3) NVLink接收,都是由各自的warp来处理。分配给每个通信任务的warp数量会根据所有SM的实际负载动态调整。
在合并过程中,(1) NVLink发送,(2) NVLink到IB的转发和累积,以及(3) IB接收和累积,同样由动态调整的warp负责。
让我们聊聊DeepSeek-V3的聪明之处
通过这种聪明的方式,IB和NVLink之间的交流可以实现完全重叠。每个token在每个节点上平均能高效地选择3.2个专家,而不仅仅是NVLink额外的开销。也就是说,虽然DeepSeek-V3实际只选择了8个路由专家,但它的能力可以扩展到最多13个专家(4个节点乘以每个节点3.2个专家),而通信的成本却保持不变。
DSV3采用了1个共享专家和256个路由专家的MoE架构,每个token会激活8个路由专家。
2.2.3 用于FP8训练的混合精度框架
在这里,我们并没有对所有参数进行FP8量化训练。大部分计算密集型的操作都在FP8中进行,而一些关键的操作则巧妙地保持原始数据格式,以此来平衡训练的效率和数值的稳定性。
那么,哪些算子会用FP8量化呢?选择的逻辑又是什么呢?
- 大部分核心计算过程,比如GEMM运算,都是用FP8精度进行的。
- 对于一些对低精度计算敏感的算子,还是需要保留更高的精度。
- 还有一些低成本的算子,也可以使用较高的精度。
以下这些组件则保留了原始的精度(比如BF16或FP32):Embedding模块、输出头、MoE门控模块、Normalization算子以及Attention算子。
那么,怎么提升低精度训练的精度呢?
- 细粒度量化。
在激活时,token维度采用group-wise的量化(1*128);而权重则使用128*128的block-wise量化。
- 提高累加精度。
在TensorCore上执行矩阵MMA(矩阵乘法累加)时,每当累加达到一定的间隔,这些部分结果就会被转移到CUDA Cores上的FP32寄存器中,接着在那儿进行FP32精度的累加计算。
2.2.4 MTP的训练目标
DeepSeekV3:训练与部署的秘密
其实,DeepSeekV3在训练过程中设定了多Token预测的目标。根据技术报告中的消融实验结果,模型在大多数评估标准上取得了显著提升。而且,值得一提的是,MTP模块也能够加快推理的速度。
2.2.5 推理部署方案
DeepSeek-V3的参数总量达到了671B,光这个数字就让人惊叹。接下来,我们来看看它的部署方案。
推理部署采用了预填充和解码的分离策略,确保了在线服务的高效吞吐与低延迟。而且,通过冗余专家的部署和动态路由,模型在推理过程中也能保持负载的平衡。
整体来说,这套方案是
跨机分布式推理。
2.2.5.1 预填充阶段
简单来说,这个阶段主要是并行处理用户的Prompt,将其转换为KV Cache。
预填充阶段的最小部署单元包括4个节点,每个节点配备32个GPU。注意力部分采用4路张量并行和序列并行,结合8路数据并行。这样的TP规模(4路)有效减少了通信开销。在MoE部分,我们使用32路专家并行。
2.2.5.2 解码阶段
这一阶段的任务是进行自回归输出每个Token。
解码阶段的最小部署单元则由40个节点和320个GPU组成,注意力部分采用TP4与SP,结合DP80,而MoE部分使用EP320。每个GPU只负责一个专家,64个GPU则负责冗余和共享专家。
总结:DeepSeekV3为何训练成本低?
训练成本主要取决于模型架构和训练架构,这两者是密不可分的。从报告中我们可以归纳出几个关键点:
- MLA机制:通过对KV进行联合低秩压缩,大幅度减少了KV Cache,相比行业内其他方式,MLA的压缩考验了研究团队的基本功。
- FP8训练:利用低精度计算减少了GPU内存和计算的开销。技术报告中提到,FP8混合精度训练框架首次在大规模模型上验证了其有效性,显示了DeepSeek的Infra工程团队实力。
- MoE架构:借助MoE稀疏激活机制大幅降低了计算量,相较于Qwen和Llama的Dense架构,DeepSeek在训练和推理上有很大优势,当然也面临着负载、通信和路由等难题。
三、为什么选择DeepSeek?
在硅谷,像DeepSeek这样的AI创新并不罕见,但这次是一家中国公司走在了前面,打破了传统的‘美国创新、中国应用’的模式,令人感到异常振奋。
从最近的一些访谈和DeepSeek的技术报告中,我们也可以发现以下几点:
- 大模型是一个知识密集型的行业,如何有效组织高密度的人才?显然,DeepSeek已经做到了。
一些个人思考,聊聊大模型技术
- 从长远来看,未来可能会出现专门为Transformer架构量身定制的芯片,就像之前为卷积网络设计的那种ASIC芯片一样
- 在多Token预测和MoE架构方面,可能会持续一段时间成为大模型训练和推理的研究热点
- 在国内,AI应用通常比基础研究更具市场需求和影响力,但基础创新水平与国际间的差距会逐渐缩小
- 大模型的训练和推理需要软硬件的协同合作,DeepSeek的出现无疑会加速整个AI行业的快速迭代和成本降低
- 时间有限,很多技术细节还有待深入研究,如果有错误的地方请多多包涵哦~
参考资料
- 通过多Token预测让大型语言模型更快更好
- https://kexue.fm/archives/10091
- https://arxiv.org/pdf/2404.19737v1
- https://arxiv.org/pdf/2412.19437
- https://arxiv.org/pdf/2405.04434
- https://www.zhihu.com/question/8423473404
- https://arxiv.org/pdf/1811.06965







DeepSeek的V3版本真是个惊喜,不仅训练成本低,性能也不输给国际大牌,期待后续的应用表现!
DeepSeek的技术架构很有意思,尤其是MLA注意力机制和MoE架构的结合,展现了很高的创新性。期待它在实际应用中的表现。
DeepSeek的推出让我看到国内AI技术的潜力,尤其是它的训练成本控制得相当不错。期待未来能在更多场景中看到它的应用。
DeepSeek的V3版本在性能和成本控制上都表现出色,特别是与国际大牌的对比让我对国内AI的发展充满信心。希望它能继续保持这样的创新步伐。
DeepSeek V3的训练和推理成本都非常合理,能够让更多开发者受益。希望它在实际应用中能展现出更强的实力。
DeepSeek V3的网络架构设计非常巧妙,特别是MLA和MoE的结合让我对它的推理能力充满期待。希望在实际应用中能有更多的突破。
DeepSeek的V3版本在模型能力上让人刮目相看,能够与国际顶尖模型竞争,真是令人振奋。期待它在更多领域的应用和突破。