
1.2 模型能力


1.3训推成本


1、预训练阶段,每万亿的Token 训练V3使用2048个H800GPU集群,只需要180K 个H800 GPU小时,大概3.7天(180000/2048/24)
2、整个预训练总耗时2664K GPU小时(不到2个月),加上 上下文扩展和后训练,总耗时大概2788KGPU耗时。
3、按照H800 每小时2美元租赁,总的训练成本不超过600W美元

二、DeepSeek训推核心技术
2.1 DeepSeek-V3模型网络架构
DeepSeekV3 整体预训练用了14.8万亿的高质量Token,并且在后期做了SFT和RL,模型参数量达到671B,但是每个Token仅激活37B参数。为了做到高效的推理和训练,DeepSeekV3自研了MLA注意力机制和无辅助损失负载均衡策略的MoE架构。
从技术报告中看出,是经典的Transformer架构,比较亮眼的就是前馈网络使用的DeepSeekMoE架构、Attention机制使用MLA架构,其实这两个在DeepSeekV2模型已经被验证使用过。
与DeepSeek-V2相比,V3额外引入了一种无辅助损失的负载均衡策略,用于DeepSeekMoE,以减轻因需要保证Expert负载均衡而导致的性能下降。

2.1.1 DeepSeekMoE
●稀疏 MoE 层: 这些层代替了传统 Transformer 模型中的前馈网络 (FFN) 层。MoE 层包含若干“专家”(例如 8 个),每个专家本身是一个独立的神经网络。在实际应用中,这些专家通常是前馈网络 (FFN),但它们也可以是更复杂的网络结构,甚至可以是 MoE 层本身,从而形成层级式的 MoE 结构。
●门控网络或路由: 这个部分用于决定哪些Token被发送到哪个专家。Token的路由方式是 MoE 使用中的一个关键点,因为路由器由学习的参数组成,并且与网络的其他部分一同进行预训练。




门控网络本质上就是一个softmax叠加一个分类网络,那么辅助loss往往就是添加一个惩罚项,对输出过大的 logits 进行惩罚,鼓励模型生成更加适度的 logits 值,防止模型生成过于极端的输出。
2.1.2 MLA 多头潜在注意力
大模型推理过程KV Cache机制一般是限制推理效率的一大瓶颈,而标准的Transformer 架构里面的MHA架构会产出非常多的KV Cache,为了减少对应的KV Cache业界实践过很多方案,例如PagedAttention、多查询注意力(MQA)和分组查询注意力(GQA),但是性能相比原生的MHA有一定差距。
DeepSeek-V2,提出一种创新的注意力机制:多头潜在注意力(MLA)。
相比MQA的KV共用和GQA的KV分组,MLA的核心是注意力键和值的低秩联合压缩,以减少推理过程中的键值(KV)缓存。相比MHA具有更好的性能,但需要的 KV 缓存量要少得多。
低秩矩阵是指其秩(rank)远小于其行数和列数的矩阵。
假设我们有一个矩阵,其实际结构允许它被分解为两个较小的矩阵的乘积。这种情况通常意味着原矩阵是低秩的。
假设我们有一个
4×5
的矩阵A
,这个矩阵可以通过两个更小的矩阵的乘积来表示,比如一个4×2
的矩阵B
和一个2×5
的矩阵C
。这意味着原始矩阵A
的信息可以通过这两个较小的矩阵来捕捉,表明A
是一个低秩矩阵。








MLA 模块架构图
具体的Attention计算推导过程可以参考:MLA的推导细节
2.2 训练推理核心技术

DeepSeek-V3在一个配备了2048个NVIDIA H800 GPU的集群上进行训练,使用的是自研的HAI-LLM框架,框架实现了四种并行训练方式:ZeRO 支持的数据并行、流水线并行、张量切片模型并行和序列并行。
这种并行能力支持不同工作负载的需求,可以支持数万亿规模的超大模型并扩展到数千个 GPU,同时还自研了一些配套的高性能算子haiscale,可以帮助 HAI-LLM 极大优化大模型训练的显存效率和计算效率。
i.通信计算重叠优化
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则开始它的前向传播计算。

●计算通信重叠
在深度学习大规模分布式训练过程中,通信的速度往往落后于计算的速度,如何在通信的gap期间内并行做一些计算就是高性能计算和通信重叠,是实现高效训练的关键因素。
●流水线并行气泡问题
一些大的模型会采用流水线并行策略,将模型的不同层放在不同的GPU上,但是不同层之间有依赖关系,后面层需要等前面的计算完才能开始计算,会导致GPU在一段时间是闲置的,如下图所示:
在调度过程中,(1) IB 发送,(2) IB 到 NVLink 转发,以及 (3) NVLink 接收分别由各自的 warp 处理。分配给每个通信任务的 warp 数会根据所有 SM 上的实际工作负载动态调整。
在合并过程中,(1) NVLink 发送,(2) NVLink 到 IB 的转发和累积,以及 (3) IB 接收和累积也由动态调整的 warp 处理。
DSV3采用了1个共享专家和256个路由专家的MoE架构,每个token会激活8个路由专家。
2.2.3 用于FP8训练的混合精度框架
对激活,在token维度采用group-wise的量化(1*128);对权重,采用128* 128的block-wise量化

在 TensorCore 上执行矩阵 MMA(矩阵乘法累加)操作时,每当累加达到一个间隔时,这些部分结果会被传输到 CUDA Cores 上的 FP32 寄存器中,并在那里进行FP32 精度的累加计算。

2.2.4 MTP的训练目标
DeepSeekV3训练过程设置了多Token预测的目标,从技术报告的消融实验看出,确实提高了模型在大多数评估基准上的性能,而且MTP模块还可以用于推理加速。

2.2.5 推理部署方案
DeepSeek-V3 整体参数量达到了671B,如此多的参数量,我们看下他的一个部署方案:
推理部署采用了预填充(Prefilling)和解码(Decoding)分离的策略,确保了在线服务的高吞吐量和低延迟。通过冗余专家部署和动态路由策略,模型在推理时保持了高效的负载均衡。
整套部署方案下来基本是跨机分布式推理。
2.2.5.1 Prefill 阶段
这个阶段简单说就是并行处理用户的Prompt,将其转为KV Cache。
预填充阶段的最小部署单元由4个节点组成,每个节点配备32个GPU。注意力部分采用4路张量并行(TP4)和序列并行(SP),并结合8路数据并行(DP8)。其较小的TP规模(4路)限制了TP通信的开销。对于MoE部分,我们使用32路专家并行(EP32)
2.2.5.2 Decoder 阶段
这个阶段就是做自回归的每个Token的输出。
解码阶段的最小部署单元由40个节点和320个GPU组成。注意力部分采用TP4和SP,结合DP80,而MoE部分使用EP320。对于MoE部分,每个GPU只承载一个专家,64个GPU负责承载冗余专家和共享专家
总结:为什么DeepSeekV3训练成本这么低?
三、为什么是DeepSeek?
在硅谷,类似DeepSeek这样的AI创新并不少有,只是这次是一家中国公司做出了这个动作,相比传统的‘美国创新、中国应用’的模式显得格外的让人兴奋。
1、大模型是一个知识密集型产业,如何组织高密度人才?显然DeepSeek做到了
2、大模型技术没有魔法,更多时候就是考验基本功和驱动力
3、不以商业化为第一要义,很多时候能轻装上阵
四、一些个人思考
1、长远来看,后续可能会有专门的适配Transformer架构的芯片,就像为卷积设计了ASIC芯片
2、多Token预测、MoE架构可能很长一段时间都是大模型训推架构热门研究方向
3、在国内做AI,应用始终会比基础研究有市场,更有话语权,但是基础创新和海外的代际差距会越来越小
4、大模型训练和推理,软硬件是一个协同的生态,DeepSeek的出现将会促进AI全行业的更加快速且低成本的迭代
5、时间比较仓促,很多技术细节问题值得学习深究,有错误的地方勿喷~
参考资料
0 条评论