当前位置: 首页 > article >正文

LLMs之DeepSeek:DeepSeek-V3/R1推理系统的架构设计和性能统计的简介、细节分析之详细攻略

LLMs之DeepSeek:DeepSeek-V3/R1推理系统的架构设计和性能统计的简介、细节分析之详细攻略

目录

DeepSeek-V3/R1推理系统的架构设计

1、大规模跨节点专家并行 (EP)

2、计算-通信重叠

3、负载均衡

4、在线推理系统图


DeepSeek-V3/R1推理系统的架构设计

2025年3月1日,DeepSeek-V3/R1推理系统的设计目标是实现高吞吐量低延迟。为了达到这2个目标,系统采用了跨节点专家并行(EP)策略:
>> 专家并行 (EP):通过将专家分配到不同的GPU上显著提高批量大小,从而提升GPU矩阵计算效率,提高吞吐量;同时,每个GPU只处理少量专家减少内存访问需求,降低延迟。
>> EP的挑战性:EP增加了系统复杂性,主要体现在跨节点通信负载均衡两个方面。 跨节点通信需要设计合适的计算流程来重叠计算和通信;多节点参与需要数据并行 (DP) 和不同DP实例之间的负载均衡。

DeepSeek-V3/R1推理系统通过巧妙地运用专家并行计算-通信重叠多层次负载均衡策略,在保证低延迟的同时实现了高吞吐量,并展现了良好的经济效益。

GitHub地址:open-infra-index/202502OpenSourceWeek/day_6_one_more_thing_deepseekV3R1_inference_system_overview.md at main · deepseek-ai/open-infra-index · GitHub

1、大规模跨节点专家并行 (EP)

DeepSeek-V3/R1模型具有高稀疏性每层256 位专家中只有8个专家被激活),因此需要极大的批量大小来保证每个专家的足够批量,从而实现高吞吐量低延迟。 系统采用了预填充-解码解耦架构,在预填充解码阶段使用不同程度的并行化
>> 预填充阶段:使用路由专家EP32和MLA/共享专家DP32,每个部署单元包含4个节点和32个冗余路由专家,其中每个GPU处理9个路由专家和1个共享专家。
>> 解码阶段:使用路由专家EP144和MLA/共享专家DP144,每个部署单元包含18个节点和32个冗余路由专家,其中每个GPU处理2个路由专家和1个共享专家。

2、计算-通信重叠

大规模跨节点EP会带来显著的通信开销。为了缓解这个问题,系统采用了双批次重叠策略:将请求批次分成两个微批次交替执行,隐藏一个微批次的通信成本在另一个微批次的计算中。
>> 预填充阶段:预填充阶段采用这种双微批次交替执行策略;
>> 解码阶段:解码阶段由于不同阶段的执行时间不平衡,将注意力层细分为两步,并使用5级流水线来实现计算通信的无缝重叠

https://github.com/deepseek-ai/profile-data通信计算重叠机制的更多详细信息:https://github.com/deepseek-ai/profile-data

3、负载均衡

大规模并行(包括DP和EP)带来了负载不均衡的挑战,如果单个 GPU 的计算或通信负荷过重,它就会成为性能瓶颈,导致整个系统变慢,同时使其他 GPU 处于闲置状态。为了最大化资源利用率,系统在三个层次上进行了负载均衡:
>> 预填充负载均衡器:解决请求数量和序列长度在不同DP实例之间变化导致的核心注意力计算和调度发送负载不均衡问题。目标是平衡核心注意力计算和GPU的输入token数量。
>> 解码负载均衡器:解决请求数量和序列长度在不同DP实例之间变化导致的核心注意力计算(与KVCache使用相关)和调度发送负载不均衡问题。目标是平衡KVCache使用和GPU的请求数量。
>> 专家并行负载均衡器:解决高负载专家导致不同GPU之间专家计算工作负载不均衡的问题。目标是平衡每个GPU上的专家计算。

4、在线推理系统图

所有DeepSeek-V3/R1推理服务都在H800 GPU上运行,精度与训练一致(矩阵乘法和调度传输使用FP8,核心MLA计算和组合传输使用BF16)。 系统根据昼夜服务负载变化动态调整部署节点数量。

此外,由于白天服务负载高,夜间负载低,我们实施了在白天高峰时段在所有节点部署推理服务的机制。在夜间负载低的时段,我们减少推理节点并将资源分配给研究和训练。在过去24小时内(UTC+8 2025年2月27日下午12点到2025年2月28日下午12点):

● 峰值节点占用率:278个节点
● 平均节点占用率:226.75个节点(每个节点包含8个H800 GPU)
● 总输入token:6080亿,其中3420亿(56.3%)命中磁盘KV缓存
● 总输出token:1680亿,平均输出速度为每秒20-22个token
● 平均每个输出token的KV缓存长度:4989个token
● 每个H800节点的平均吞吐量:预填充阶段约73.7k tokens/s输入,解码阶段约14.8k tokens/s输出
● 日总成本:约87072美元
● 理论日总收入 (按DeepSeek-R1定价计算):约562027美元,利润率545% (实际收入由于定价策略和非货币化服务等原因远低于此)。


http://www.kler.cn/a/568556.html

相关文章:

  • Electron+Vite+React+TypeScript开发问题手册
  • 利用 LangChain 和一个大语言模型(LLM)构建一个链条,自动从用户输入的问题中提取相关的 SQL 表信息,再生成对应的 SQL 查询
  • 基于MATLAB 的GUI设计
  • 【2025-03-02】基础算法:二叉树 相同 对称 平衡 右视图
  • Pytorch实现之结合mobilenetV2和FPN的GAN去雾算法
  • Windows搭建jenkins服务
  • 【Linux】【网络】不同子网下的客户端和服务器通信其它方式
  • DeepSeek-R1 大模型实战:腾讯云 HAI 平台 3 分钟极速部署指南
  • .net开源商城_C#开源商城源码_.netcore开源商城多少钱
  • 机器学习:线性回归,梯度下降,多元线性回归
  • Django数据迁移
  • 从零开始用react + tailwindcss + express + mongodb实现一个聊天程序(八) 聊天框用户列表
  • Java 网络八股(2) TCP6大核心机制/异常处理
  • 基于单片机的智能宿舍管理系统(论文+源码)
  • 【3天快速入门WPF】11-附加属性
  • 【MongoDB】在Windows11下安装与使用
  • 蓝桥杯web第三天
  • h5 IOS端渐变的兼容问题 渐变实现弧形效果
  • Ubuntu 下 nginx-1.24.0 源码分析 - ngx_init_cycle 函数 - 详解(9)
  • LeetCode 2353. 设计食物评分系统题解