官方详解 DeepSeek
IT之家 3 月 1 日音讯,DeepSeek 官方今天在知乎发布《DeepSeek-V3 / R1 推理体系概览》一文,具体介绍怎么运用大规划跨节点专家并行(Expert Parallelism / EP)来增大 batch size,怎么躲藏传输的耗时,怎么进行负载均衡。
官方表明,DeepSeek-V3 / R1 推理体系的优化方针是更大的吞吐,更低的推迟。
IT之家附 DeepSeek 提出的计划如下:
。大规划跨节点专家并行(Expert Parallelism / EP)。
由于 DeepSeek-V3 / R1 的专家数量很多,而且每层 256 个专家中仅激活其间 8 个。模型的高度稀少性决议了 DeepSeek 有必要选用很大的 overall batch size,才能给每个专家供给满足的 expert batch size,然后完成更大的吞吐、更低的延时。需求大规划跨节点专家并行(Expert Parallelism / EP)。
DeepSeek 选用多机多卡间的专家并行战略来到达以下意图:
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 阶段的双 batch 堆叠。关于更多双 batch 堆叠的细节,可参阅 profiling 数据 GitHub 库房:https://github.com/deepseek-ai/profile-data。
尽可能地负载均衡。
由于选用了很大规划的并行(包括数据并行和专家并行),假如某个 GPU 的核算或通讯负载过重,将成为功能瓶颈,拖慢整个体系;一起其他 GPU 由于等候而空转,形成全体利用率下降。因而需尽可能为每个 GPU 分配均衡的核算负载、通讯负载。
Prefill Load Balancer。
核心问题:不同数据并行(DP)实例上的恳求个数、长度不同,导致 core-attention 核算量、dispatch 发送量也不同。
优化方针:各 GPU 的核算量尽量相同(core-attention 核算负载均衡)、输入的 token 数量也尽量相同(dispatch 发送量负载均衡),防止部分 GPU 处理时刻过长。
Decode Load Balancer。
核心问题:不同数据并行(DP)实例上的恳求数量、长度不同,导致 core-attention 核算量(与 KVCache 占用量相关)、dispatch 发送量不同。
优化方针:各 GPU 的 KVCache 占用量尽量相同(core-attention 核算负载均衡)、恳求数量尽量相同(dispatch 发送量负载均衡)。
Expert-Parallel Load Balancer。
核心问题:关于给定 MoE 模型,存在一些天然的高负载专家(expert),导致不同 GPU 的专家核算负载不均衡。
优化方针:每个 GPU 上的专家核算量均衡(即最小化一切 GPU 的 dispatch 接纳量的最大值)。
参阅架构图。
线上体系的实践核算数据。
DeepSeek V3 和 R1 的一切服务均运用 H800 GPU,运用和练习共同的精度,即矩阵核算和 dispatch 传输选用和练习共同的 FP8 格局,core-attention 核算和 combine 传输选用和练习共同的 BF16,最大程度确保了服务作用。别的,由于白日的服务负荷高,晚上的服务负荷低,因而 DeepSeek 完成了一套机制:
白日负荷高时用一切节点布置推理服务。
晚上负荷低时,削减推理节点,以用来做研讨和练习。、。
在最近的 24 小时里(北京时刻 2025/02/27 12:00 至 2025/02/28 12:00),DeepSeek V3 和 R1 推理服务占用节点总和,峰值占用为 278 个节点,均匀占用 226.75 个节点(每个节点为 8 个 H800 GPU)。假定 GPU 租借本钱为 2 美金 / 小时,总本钱为 $87,072 / 天。
在 24 小时核算时段内,DeepSeek V3 和 R1:
输入 token 总数为 608B,其间 342B tokens(56.3%)射中 KVCache 硬盘缓存。
输出 token 总数为 168B。均匀输出速率为 20~22 tps,均匀每输出一个 token 的 KVCache 长度是 4989。
均匀每台 H800 的吞吐量为:关于 prefill 使命,输入吞吐约 73.7k tokens / s(含缓存射中);关于 decode 使命,输出吞吐约 14.8k tokens / s。以上核算包括了网页、APP 和 API 的一切负载。假如一切 tokens 悉数依照 DeepSeek R1 的定价核算,理论上一天的总收入为 $562,027,本钱利润率 545%。
“当然咱们实践上没有这么多收入,由于 V3 的定价更低,一起收费服务只占了一部分,别的夜间还会有扣头。”。
DeepSeek R1 的定价:$0.14 / 百万输入 tokens (缓存射中),$0.55 / 百万输入 tokens (缓存未射中),$2.19 / 百万输出 tokens。
内容来源:https://harmonyscentsg.com/app-1/2 月 19 日,https://chatbotjud-hml.saude.mg.gov.br/app-1/minuto-pagante-tiger
(责任编辑:社会)