民间详解 DeepSeek
作者:[db:作者] 发布时间:2025-03-03 08:53
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 重叠Prefill 阶段的双 batch 堆叠对 decode 阶段,差别阶段的履行时光有所差异,因而将 attention 局部拆成了两个 stage,合计 5 个 stage 的流水线来实现盘算跟通讯的堆叠。Decode 阶段的双 batch 重叠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 接受量的最年夜值)参考架构图
电话
020-66888888