摘要:DeepSeek开源周第6天:还有一件事–DeepSeek-V3/R1推理系统概述通过以下方式优化吞吐量和延迟:跨节点EP支持的批量扩展计算-通信重叠负载均衡DeepSeek在线服务统计:每个H800节点每秒73.7k/14.8k输入/输出令牌成本利润率545%我们希望本周的见解为社区提供价值,并为我们共同的AGI目标做出贡献。
目录
1系统设计原理
2大规模跨节点专家并行
3计算-通信重叠
4实现最佳负载平衡
5DEEPSEEK的在线推理系统示意图
6DEEPSEEK在线服务统计
1系统设计原理
提供DeepSeek-V3/R1推理的优化目标是:更高的吞吐量和更低的延迟。为了优化这两个目标,我们的解决方案采用了跨节点专家并行(EP)。
首先,EP显著扩展了批量大小,提高了GPU矩阵计算效率并提高了吞吐量。
其次,EP将专家分布在GPU之间,每个GPU只处理一小部分专家(减少内存访问需求),从而降低延迟。
然而,EP增加了系统的复杂性,主要体现在两个方面:
lEP引入了跨节点通信。为了优化吞吐量,必须设计适当的计算工作流程,使通信与计算重叠。
lEP涉及多个节点,因此本质上需要数据并行性(DP),并且需要不同DP实例之间的负载均衡。
l本文重点介绍我们如何通过以下方式应对这些挑战:
l利用EP扩展批量大小,将通信延迟隐藏在计算后面,以及执行负载均衡。
2 大规模跨节点专家并行(EP:Expert Parallelism)
由于DeepSeek-V3/R1中的专家数量众多(每层256个专家中只有8个被激活),因此模型的高稀疏性需要非常大的整体批处理大小。这可确保每个专家有足够的批量大小,从而实现更高的吞吐量和更低的延迟。
大规模跨节点EP是必不可少的。
由于我们采用了prefill-decode解聚架构,因此我们在prefill和decode阶段采用了不同程度的并行性:
l预填充阶段[路由专家EP32,MLA/共享专家DP32]:每个部署单元跨越4个节点,具有32个冗余路由专家,其中每个GPU处理9个路由专家和1个共享专家。
l解码阶段[路由专家EP144,MLA/共享专家DP144]:每个部署单元跨越18个节点,有32个冗余路由专家,每个GPU管理2个路由专家和1个共享专家。
3 计算-通信重叠
大规模跨节点EP会带来巨大的通信开销。为了缓解这种情况,我们采用双批次重叠策略,通过将一批请求拆分为两个微批次来隐藏通信成本并提高整体吞吐量。在预填充阶段,这两个微批处理交替执行,一个微批处理的通信成本隐藏在另一个微批处理的计算后面。
Communication-预填充阶段的计算重叠
在解码阶段,不同阶段的执行时长不平衡。因此,我们将注意力层细分为两个步骤,并使用5阶段管道来实现无缝的通信计算overlapping.
预填充阶段的计算重叠在解码阶段,不同阶段的执行时长不平衡。因此,我们将注意力层细分为两个步骤,并使用5阶段管道来实现无缝的通信计算
4实现最佳负载平衡
大规模并行性(包括DP和EP)带来了一个关键挑战:如果单个GPU的计算或通信过载,它就会成为性能瓶颈,减慢整个系统的速度,同时使其他GPU闲置。为了最大限度地提高资源利用率,我们努力平衡所有GPU之间的计算和通信负载。
1.预填充负载均衡器
2.关键问题:
lDP实例之间的请求计数和序列长度不同,会导致核心注意力计算和调度发送负载不平衡。
优化目标
- 平衡GPU之间的核心注意力计算(核心注意力计算负载平衡)。
- 均衡每个GPU的输入令牌计数(调度发送负载平衡),防止在特定GPU上进行长时间处理。
2.解码负载均衡器
1.关键问题:DP实例之间的请求计数和序列长度不均匀会导致核心注意力计算(与KVCache使用情况相关)和调度发送负载存在差异。
2.优化目标:
-平衡GPU之间的KVCache使用(核心注意力计算负载平衡)。
-均衡每个GPU的请求计数(调度发送负载平衡)。
3. Expert-Parallel负载均衡器
1.关键问题:对于给定的MoE模型,存在固有的高负载专家,导致不同GPU之间的专家计算工作负载不平衡。
2.优化目标:
-平衡每个GPU上的专家计算(即,最小化所有GPU上的最大调度接收负载)。
5 DeepSeek的在线推理系统示意图
Diagram of DeepSeek's Online Inference System
6 DeepSeek在线服务统计
所有DeepSeek-V3/R1推理服务都在H800 GPU上提供,精度与训练一致。具体来说,矩阵乘法和调度传输采用与训练一致的FP8格式,而核心MLA计算和组合传输采用BF16格式,确保最佳服务性能。
此外,由于白天服务负载高,夜间负载低,我们实施了一种机制,在白天高峰时段跨所有节点部署推理服务。在低负载的夜间时段,我们减少推理节点并分配资源进行研究和训练。在过去24小时(UTC+8 2025年2月27日中午12:00至2025年2月28日中午12:00)期间,V3和R1推理服务的总峰值节点占用率达到278个,平均占用226.75个节点(每个节点包含8个H800 GPU)。假设一个H800 GPU的租赁成本为每小时2美元,则每日总成本为87072美元。
H800 Node Count For Inference Service.png
在24小时统计周期内(UTC+8 2025年2月27日中午12:00至2025年2月28日中午12:00),V3和R1:
1.输入Token总数:608B,其中342BToken(56.3%)命中磁盘上的KV缓存。
2.总输出令牌:168B。平均输出速度为每秒20-22个令牌,每个输出令牌的平均kvcache长度为4,989个令牌。
3.每个H800节点在预填充期间提供~73.7k令牌/s输入(包括缓存命中)的平均吞吐量,或在解码期间提供~14.8k令牌/s输出。
以上统计信息包括来自Web、APP和API的所有用户请求。
如果所有Token都按照DeepSeek-R1的定价(*)计费,则每日总收入将为562,027美元,成本利润率为545%。
(*)R1定价:0.14 USD/M输入令牌(缓存命中)、0.55 USD/M输入令牌(缓存未命中)、2.19 USD/M输出令牌。
但是,由于以下原因,我们的实际收入大幅降低:
1.DeepSeek-V3的定价明显低于R1,
2.只有一部分服务被货币化(Web和APP访问保持免费),
3.夜间折扣将在非高峰时段自动应用。
Cost And Theoretical Income

