deepseek的开源周,还包含周末? 第六天,开源的是DeepSeek-V3/R1 推理系统 的设计和优化的详细概述。甚至把到底赚不赚钱都告诉大伙了,看到最后,只想@尤洋 ,理论利润率达到了545%!
DeepSeek-V3/R1 推理系统的优化目标是更高的吞吐量和更低的延迟。为了实现这两个目标,系统采用了跨节点的专家并行(Expert Parallelism, EP)。
DeepSeek 在线服务统计
DeepSeek-V3/R1 推理服务在 24 小时内的详细统计数据:
- 节点占用:峰值节点占用达到 278 个节点,平均占用 226.75 个节点。
- 成本:假设每个 H800 GPU 的租赁成本为每小时 2 美元,总日成本为 87,072 美元。
- 吞吐量:每个 H800 节点在预填充阶段的平均输入吞吐量约为 73.7k token/s,在解码阶段的平均输出吞吐量约为 14.8k token/s。
- Token 统计:总输入 token 数为 6080 亿,其中 3420 亿 token(占比 56.3%)命中了磁盘 KV 缓存;总输出 token 数为 1680 亿,平均输出速度为每秒 20-22 个 token。
- 如果所有标记都按照 DeepSeek-R1 的定价收费,总日收入将达到 562,027 美元,成本利润率为 545%。 (实际低于这个值,因为v3的定价比R1低 & 夜间折扣 & 网页端、app端免费)
DeepSeek-V3/R1 模型的稀疏性较高(每层只有 256 个专家中的 8 个被激活)
系统采用了预填充(prefill)和解码(decode)分离的架构,在预填充和解码阶段分别使用不同程度的并行策略:
- 预填充阶段:每个部署单元包含 4 个节点,有 32 个冗余的路由专家,每个 GPU 处理 9 个路由专家和 1 个共享专家。
- 解码阶段:每个部署单元包含 18 个节点,有 32 个冗余的路由专家,每个 GPU 管理 2 个路由专家和 1 个共享专家。
但是,大规模跨节点 EP 会带来显著的通信开销。为了缓解这个问题,系统采用了双批量重叠策略,将一个请求批量拆分为两个微批量,通过交替执行微批量,将一个微批量的通信开销隐藏在另一个微批量的计算中。在解码阶段,由于不同阶段的执行时间不平衡,系统将注意力层拆分为两步,并采用 5 阶段流水线,实现无缝的通信与计算重叠。
最佳的负载均衡
大规模并行(包括 DP 和 EP)带来了新的挑战:如果一个 GPU 的计算或通信负载过重,就会成为性能瓶颈,拖慢整个系统,而其他 GPU 则处于闲置状态。为了最大化资源利用率,系统致力于在所有 GPU 上平衡计算和通信负载。
- 预填充负载均衡器:平衡 GPU 之间的核心注意力计算负载,并通过平均每个 GPU 的输入 token 数量来平衡调度发送负载。
- 解码负载均衡器:平衡 GPU 之间的 KVCache 使用(与核心注意力计算相关)和调度发送负载。
- 专家并行负载均衡器:平衡每个 GPU 上的专家计算负载,以最小化所有 GPU 上的最大调度接收负载。
DeepSeek 在线推理系统架构图:
DeepSeek 在线推理系统架构图