专栏名称: 知乎日报
提供最好的资讯评论,兼顾专业与趣味。
目录
相关文章推荐
知乎日报  ·  情侣之间聊什么话题能增进感情? ·  昨天  
知乎日报  ·  如何评价 OpenAI 发布的 ... ·  昨天  
知乎日报  ·  你在生活中用过最高端的化学知识是什么? ·  3 天前  
51好读  ›  专栏  ›  知乎日报

全网独家!DeepSeek 模型的成本利润率到底有多高?官方下场公布细节

知乎日报  · 公众号  · 问答  · 2025-03-01 13:27

正文

点击上方卡片关注👆

DeepSe ek 在知乎首次公布模型推理系统优化细节,并披露成本利润率关键信息。

R1 模型是如何做到在控制成本的情况下做到高收益的?这篇官方文章给出了关键的数据信息。


DeepSeek-V3 / R1 推理系统概览

| 答主: DeepSeek

DeepSeek-V3 / R1 推理系统的优化目标是:更大的吞吐,更低的延迟。

为了实现这两个目标,我们的方案是使用大规模跨节点专家并行(Expert Parallelism / EP)。首先 EP 使得 batch size 大大增加,从而提高 GPU 矩阵乘法的效率,提高吞吐。其次 EP 使得专家分散在不同的 GPU 上,每个 GPU 只需要计算很少的专家(因此更少的访存需求),从而降低延迟。

但 EP 同时也增加了系统的复杂性。复杂性主要体现在两个方面:

  1. EP 引入跨节点的传输。为了优化吞吐,需要设计合适的计算流程使得传输和计算可以同步进行。

  2. EP 涉及多个节点,因此天然需要 Data Parallelism(DP),不同的 DP 之间需要进行负载均衡。

因此,本文的主要内容是如何使用 EP 增大 batch size,如何隐藏传输的耗时,如何进行负载均衡。



大规模跨节点专家并行(Expert Parallelism / EP)


由于 DeepSeek-V3 / R1 的专家数量众多,并且每层 256 个专家中仅激活其中 8 个。模型的高度稀疏性决定了我们必须采用很大的 overall batch size,才能给每个专家提供足够的 expert batch size,从而实现更大的吞吐、更低的延时。需要大规模跨节点专家并行(Expert Parallelism / EP)。

我们采用多机多卡间的专家并行策略来达到以下目的:

  • Prefill: 路由专家 EP32、MLA 和共享专家 DP32,一个部署单元是 4 节点,32 个冗余路由专家,每张卡 9 个路由专家和 1 个共享专家

  • Decode 路由专家 EP144、MLA 和共享专家 DP144,一个部署单元是 18 节点,32 个冗余路由专家,每张卡 2 个路由专家和 1 个共享专家



计算通信重叠


多机多卡的专家并行会引入比较大的通信开销,所以我们使用了双 batch 重叠来掩盖通信开销,提高整体吞吐。

对于 prefill 阶段,两个 batch 的计算和通信交错进行,一个 batch 在进行计算的时候可以去掩盖另一个 batch 的通信开销;

Prefill 阶段的双 batch 重叠


对于 decode 阶段,不同阶段的执行时间有所差别,所以我们把 attention 部分拆成了两个 stage,共计 5 个 stage 的流水线来实现计算和通信的重叠。

Decode 阶段 的双 ba tch 重叠



尽可能地负载均衡


由于采用了很大规模的并行(包括数据并行和专家并行),如果某个 GPU 的计算或通信负载过重,将成为性能瓶颈,拖慢整个系统;同时其他 GPU 因为等待而空转,造成整体利用率下降。因此我们需要尽可能地为每个 GPU 分配均衡的计算负载、通信负载。

1. Prefill Load Balancer

    1)核心问题: 不同数据并行(DP)实例上的请求个数、长度不同,导致 core-attention 计算量、dispatch 发送量也不同

    2)优化目标: 各 GPU 的计算量尽量相同(core-attention 计算负载均衡)、输入的 token 数量也尽量相同(dispatch 发送量负载均衡),避免部分 GPU 处理时间过长

2. Decode Load Balancer

    1)核心问题: 不同数据并行(DP)实例上的请求数量、长度不同,导致 core-attention 计算量(与 KVCache 占用量相关)、dispatch 发送量不同

    2)优化目标: 各 GPU 的 KVCache 占用量尽量相同(core-attention 计算负载均衡)、请求数量尽量相同(dispatch 发送量负载均衡)

3. Expert-Parallel Load Balancer

    1)核心问题: 对于给定 MoE 模型,存在一些天然的高负载专家(expert),导致不同 GPU 的专家计算负载不均衡

    2)优化目标: 每个 GPU 上的专家计算量均衡(即最小化所有 GPU 的 dispatch 接收量的最大值)



参考架构图




线上系统的实际统计数据







请到「今天看啥」查看全文