专栏名称: 独角兽智库
独角兽智库是一个新兴产业投研平台,搭建新兴领域高端技术与投资机构、传统行业的桥梁,让专业的资本找到优质的企业,实现新兴产业的快速发展。平台提供新兴产业干货报告、专家咨询服务。
目录
相关文章推荐
铅笔道  ·  重磅!广州首个智能体加速器落成 ·  20 小时前  
创伙伴  ·  创伙伴知识星球内容最新更新... ·  2 天前  
青海市场监管  ·  规范专利行政执法 ... ·  3 天前  
青海市场监管  ·  规范专利行政执法 ... ·  3 天前  
51好读  ›  专栏  ›  独角兽智库

DeepSeek:One More Thing

独角兽智库  · 公众号  · 科技投资  · 2025-03-02 18:44

正文

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


  • 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 阶段的双 batch 重叠
    关于更多双 batch 重叠的细节,可以参考我们的 profiling 数据的 GitHub 仓库:https://github.com/deepseek-ai/profile-data

    尽可能地负载均衡

    由于采用了很大规模的并行(包括数据并行和专家并行),如果某个 GPU 的计算或通信负载过重,将成为性能瓶颈,拖慢整个系统;同时其他 GPU 因为等待而空转,造成整体利用率下降。因此我们需要尽可能地为每个 GPU 分配均衡的计算负载、通信负载。
    1. 1. Prefill Load Balancer
      1. 核心问题:不同数据并行(DP)实例上的请求个数、长度不同,导致 core-attention 计算量、dispatch 发送量也不同
      2. 优化目标:各 GPU 的计算量尽量相同(core-attention 计算负载均衡)、输入的 token 数量也尽量相同(dispatch 发送量负载均衡),避免部分 GPU 处理时间过长
    2. 2. Decode Load Balancer
      1. 核心问题:不同数据并行(DP)实例上的请求数量、长度不同,导致 core-attention 计算量(与 KVCache 占用量相关)、dispatch 发送量不同
      2. 优化目标:各 GPU 的 KVCache 占用量尽量相同(core-attention 计算负载均衡)、请求数量尽量相同(dispatch 发送量负载均衡)
    3. 3. Expert-Parallel Load Balancer






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