DeepSeek-V4揭秘:细粒度专家并行隐藏通信时延,FP4量化与TileLang协同优化百万Token上下文

混合专家模型(MoE)所采用的专家并行技术,虽然能够有效加速模型的推理与训练过程,但同时也引入了复杂的节点间通信难题。这一难题对互联带宽与延迟提出了极为苛刻的要求,从而成为了制约大型模型性能提升的核心瓶颈。

DeepSeek-V4 构建了一套完备的通用基础设施体系,精准应对了通信与计算协同、内核开发效率、训练确定性、量化部署以及长上下文推理等多项关键挑战。

  • DeepSeek-V4:Towards Highly Efficient Million-Token Context Intelligence
  • https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro/blob/main/DeepSeek_V4.pdf
  • 开源链接:https://huggingface.co/collections/deepseek-ai/deepseek-v4
  • 全文约1万字,阅读需40分钟,播客版约30分钟

该体系中最核心的创新在于提出了一种细粒度专家并行方案。该方案将通信与计算融合为一个一体化的流水线内核,成功将通信时延完全隐藏于计算过程之中,从而在更低的互联带宽要求下实现了性能的显著飞跃。

与此同时,研究团队利用 TileLang 这一领域特定语言,大幅简化了内核的开发流程。通过主机代码生成与 SMT 求解器形式化分析相结合的方式,兼顾了开发效率与运行性能。此外,团队还打造了批不变、确定性的内核库,确保了训练的可复现性;落地了 FP4 量化感知训练,以实现部署加速与内存节省;并针对 Muon 优化器、mHC 结构及混合注意力机制优化了训练框架,同时设计了异构 KV 缓存管理策略以提升推理效率。

其内核研发分享紧密围绕软硬件协同优化展开,从计算通信比、功耗预算、通信原语和激活函数四个维度给出了具体的硬件设计建议。文章明确了通信与计算重叠的平衡阈值,指出盲目提升带宽的收益有限;同时提出预留功耗余量、优化跨 GPU 通信延迟、替换轻量化激活函数等建议,为高效模型部署与硬件升级提供了指导。部分讨论详见 1.4 观察与建议。

这套基础设施从软硬件协同的角度出发,为大型模型的高效训练与部署提供了一整套全链路、可落地的技术方案。

unsetunset本文目录unsetunset

  • 关键问题
    • 问题 1. 细粒度流水线在极端小批量下是否失效?
    • 问题 2. “计算通信比”公式是否过度简化了现实?
  • 一、专家并行中的细粒度通信-计算重叠
    • 1.1 通信时延可被隐藏
    • 1.2 细粒度专家并行方案
    • 1.3 性能与开源巨型内核
    • 1.4 观察与建议
  • 二、基于 TileLang 的灵活高效内核开发
    • 2.1 通过主机代码生成降低调用开销
    • 2.2 SMT 求解器辅助的形式化整数分析
    • 2.3 数值精度与比特级可复现性
  • 三、高性能批不变与确定性内核库
    • 3.1 批不变性
    • 3.2 确定性
  • 四、FP4 量化感知训练
  • 五、训练框架
    • 5.1 Muon 优化器的高效实现
    • 5.2 mHC 的低成本低内存实现
    • 5.3 长上下文注意力的上下文并行
    • 5.4 面向灵活激活检查点的扩展自动微分
  • 六、推理框架
    • 6.1 KV 缓存结构与管理
    • 6.2 磁盘 KV 缓存存储
  • 结语

unsetunset关键问题unsetunset

问题 1. 细粒度流水线在极端小批量下是否失效?

作者指出,在 RL 推演等场景中存在“长尾小批量”问题,并以此作为细粒度专家并行的关键优势。然而,波次调度引入的流水线启动与排空开销,在批量极小时是否会反而吞噬掉重叠带来的收益?当单个波次的计算量低于通信启动延迟时,该方案的加速比是否会急剧退化,甚至劣于粗粒度方案?

答案是否定的。它不仅不会失效,反而恰恰是该方案的设计目标与最大优势所在。

DeepSeek 明确指出,RL 推演等场景确实存在“长尾小批量数据”问题,传统专家并行方案在批量较小时,通信开销占比会急剧上升,原因在于缺乏足够的计算量来隐藏通信时延。 细粒度专家并行正是为了解决这一痛点而设计:它将专家拆分为多个波次,每个波次仅包含少量专家。当一个波次完成通信后,其计算可立即启动,无需等待其他波次。在稳态运行时,当前波次的计算、下一波次的 Token 传输、以及已完成专家的结果回传三者同步执行。这意味着,即使在极小批量下,只要单个波次的计算量足以覆盖通信启动延迟,流水线就能保持连续运转。

实测结果也支撑了这一结论:该方案在强化学习推演、高速智能体服务等对时延敏感的场景中,最高加速比可达1.96倍,显著高于通用推理任务的1.50~1.73倍。这表明,极端小批量场景非但没有导致性能退化,反而因为更充分地暴露了传统方案的通信瓶颈,使得细粒度重叠的收益被进一步放大。 启动与排空的开销确实存在,但由于波次数量与专家总数相关而非批量大小,因此在设计上已对常见负载做了适配。

问题 2. “计算通信比”公式是否过度简化了现实?

作者在单层 MoE 的计算-通信比分析中给出了公式(其中 为峰值计算吞吐量, 为互联带宽, 为中间维度),并据此认为一旦带宽跨过该阈值,通信便可完全隐藏于计算中,不再构成瓶颈。但该推导【仅】考虑了单一 MoE 层的算术强度,完全忽略了多层堆叠时的流水线气泡、节点内拓扑竞争、以及通信与计算在片内资源(如 SM、内存带宽)上的争夺。 在真实多节点训练中,该理想阈值是否具有实际指导意义?

该公式是一个带有明确前提的理想化推导,DeepSeek 对此有清醒的认知,且并未声称其能覆盖所有实际约束。

首先,该公式聚焦于单一 MoE 层内的通信与计算关系,旨在回答一个具体问题:在什么条件下,通信时延可以被计算完全隐藏? 答案很清晰——当互联带宽满足 时,每 1 GBps 带宽可支撑 6.1 TFLOP/s 的计算量并隐藏通信。这一结论的实践价值在于为硬件设计设定了一个参照系。作者紧接着明确指出:“一旦带宽达到该阈值,便不再成为瓶颈,继续增加芯片面积提升带宽会带来边际收益递减”。这恰好说明,公式的目的并非描述全系统行为,而是要划定带宽投入的收益边界。

其次,论文专门用“观察与建议”一节讨论了公式未覆盖的现实问题:功耗节流在全并发负载下成为核心性能限制因素;通信原语的推送/拉取模式选择会影响实际延迟;激活函数类型会改变算术强度等。这表明,作者将理想推导与工程约束分层处理——公式用于判断硬件设计方向, 而具体部署中的拓扑竞争、资源争抢等问题,则通过内核融合、波次调度、功耗预算建议等工程手段分别应对。因此,该公式是一个在有限范围内可用的分析工具,而非对系统复杂性的全盘简化。

unsetunset一、专家并行中的细粒度通信-计算重叠unsetunset

混合专家模型(MoE)可以通过专家并行(EP)技术实现加速,然而,专家并行机制依赖于复杂的节点间通信,这对互联带宽和延迟提出了严苛的要求。为了解决专家并行的通信瓶颈,在更低互联带宽需求下实现更优的端到端性能,DeepSeek-V4 提出了一种细粒度的专家并行方案。该方案将通信与计算融合成一个统一的流水线内核,使两者能够重叠执行。

1.1 通信延迟可被有效隐藏

该专家并行方案的核心思想在于,MoE 层的通信延迟能够被巧妙地隐藏在计算过程之中。

图 5:DeepSeek-V4 专家并行(EP)方案与相关工作的对比示意图,直观展示了三种 MoE 层执行策略的根本差异。朴素的方案没有任何通信与计算的重叠,效率极低;Comet 仅实现了粗粒度的阶段重叠,优化效果有限。而 DeepSeek-V4 将专家拆分为多个波次进行调度,实现了当前波次的计算、下一波次的数据传输以及已完成专家结果回传的全并发流水线,使得通信延迟完全被计算所掩盖。在 DeepSeek-V4-Flash 架构中,该方案的理论加速比达到了 1.92x,显著优于 Comet 的 1.42x,不仅降低了对互联带宽的依赖,也很好地适应了强化学习(RL)推演等长尾小批量场景的性能需求。

如图 5 所示,在 DeepSeek-V4 系列模型中,每个 MoE 层主要可以分解为四个阶段:两个通信绑定阶段(分发与合并)和两个计算绑定阶段(第一线性层与第二线性层)。 性能剖析结果明确指出,单个 MoE 层内的通信总耗时小于计算总耗时 。因此,当通信与计算被融合为统一流水线后,计算仍然是核心瓶颈,这意味着系统可以在不牺牲端到端性能的前提下,容忍更低的互联带宽。

1.2 细粒度专家并行方案

为了进一步降低对互联带宽的需求,并放大重叠执行的收益,DeepSeek-V4 提出了一个更细粒度的专家拆分方案。受多项相关研究(Aimuyo et al., 2025; Zhang et al., 2025b)的启发,DeepSeek-V4将专家拆解并调度为多个波次,每个波次仅包含少量专家。

当一个波次内的所有专家完成通信后,计算可以立即启动 ,无需等待其他专家。 在稳态运行时,当前波次的计算、下一波次的 Token 传输以及已完成专家的结果回传可以同步执行,如图 5 所示。

图 5:DeepSeek-V4 专家并行(EP)方案与相关工作的对比示意图。

这就在专家之间形成了细粒度的流水线,使得计算与通信在整个波次执行过程中保持连续。这种基于波次的调度方式,极大地提升了在强化学习(RL)推演等极端场景下的性能,这些场景通常面临长尾小批量数据的问题。

1.3 性能表现与开源巨型内核

DeepSeek-V4 的细粒度专家并行方案已在英伟达 GPU[1] 和华为昇腾 NPU[2] 平台上得到了验证。

DeepSeek 开源内部训练算子库 TileKernels:MoE 路由到量化融合,全部用 TileLang 实现

与强融合基线方案相比,该方案在通用推理任务中实现了 1.50 到 1.73 倍的加速,在强化学习推演、高速智能体服务等对延迟敏感的场景中,最高加速比可达 1.96 倍。DeepSeek-V4 已经开源了基于 CUDA 的巨型内核实现 MegaMoE,作为 DeepGEMM 的组件之一,项目地址:MegaMoE[3]。

DeepGEMM #304浅析:Mega MoE、FP4 Indexer 与全面架构升级

1.4 观察与建议

DeepSeek-V4 分享了内核研发过程中的观察与经验,并向硬件厂商提出了建议,旨在助力高效硬件设计,实现更优的软硬件协同:

  • 计算通信比 :通信与计算的完全重叠取决于计算通信比,而非单纯的带宽大小。设峰值计算吞吐量为 ,互联带宽为 ,当 时,通信可以被完全隐藏,其中 代表计算量, 代表通信量。对于 DeepSeek-V4-Pro 模型,每个 Token-专家对需要 6hd 次 FLOP 运算(包括 SwiGLU 门控、向上投影、向下投影),而仅需 3h 字节通信量(FP8 分发+BF16 合并),公式可简化为:即每 1GBps 的互联带宽,足以支撑 6.1TFLOP/s 的计算量并隐藏通信延迟。一旦带宽达到这个阈值,它便不再是瓶颈,继续增加芯片面积以提升带宽会带来边际收益递减。 DeepSeek-V4 建议未来的硬件设计瞄准此类平衡点,而非无条件地提升带宽。
  • 功耗预算 :极致的内核融合会导致计算、内存和网络同时处于高负载状态, 功耗节流成为核心的性能限制因素。DeepSeek-V4 建议未来的硬件设计为这种全并发工作负载提供充足的功耗余量。
  • 通信原语 :本方案采用了拉取式通信方式,每个 GPU 主动从远程 GPU 读取数据,从而避免了细粒度推送式通信带来的高通知延迟。 未来具备更低延迟跨 GPU 信令能力的硬件,将使推送式通信变得可行,从而实现更自然的通信模式。
  • 激活函数 :DeepSeek-V4 建议使用低成本的逐元素激活函数来替代 SwiGLU,该激活函数无需指数或除法运算 ,这能直接减轻矩阵乘法后的处理压力。 在相同的参数预算下,移除门控投影可以扩大中间维度 ,从而进一步降低带宽需求。

unsetunset二、基于 TileLang 的灵活高效内核开发unsetunset

在实际应用中,复杂的模型架构会产生数百个细粒度的 Torch ATen 算子。DeepSeek-V4 采用 TileLang(Wang et al., 2026)开发了一套融合内核,替代了绝大多数原生算子,以极低的研发成本实现了最优性能。该语言还支持在验证阶段快速实现注意力变体等算子原型。这些内核在模型架构研发、大规模训练以及最终的推理服务生产部署中都发挥着关键作用。

作为一种领域特定语言(DSL),TileLang 平衡了研发效率与运行时性能,既支持快速开发,又能在同一代码库中完成深度的迭代优化。此外,DeepSeek-V4 与 TileLang 社区紧密合作,共同打造一个更加敏捷、高效且稳定的内核开发流程。

2.1 通过主机代码生成降低调用开销

随着加速器性能的持续提升,CPU 侧的调度开销变得愈发突出 。对于小型、高度优化的内核,这种固定的主机开销极易限制硬件的利用率和吞吐量。这类开销的常见来源是,主机侧的逻辑(如运行时约束检查)通常采用 Python 编写以保证灵活性,每次调用都会产生固定的开销。

DeepSeek-V4 通过主机代码生成来缓解这一开销,将大部分主机侧逻辑迁移至生成的主机代码中 。具体而言:

  • DeepSeek-V4 首先在中间表示(IR)层协同生成设备内核与轻量级的主机启动器,并嵌入从语言前端解析的必要元数据(如数据类型、秩/形状约束、步幅/布局假设)。
  • 随后,启动器被编译为基于 TVM-FFI(Chen et al., 2006)框架的主机源码,其紧凑的调用约定与零拷贝张量互操作能力共同将主机侧的开销降至最低。
  • 在运行时,生成的主机代码负责参数校验与封装,将每次调用的检查逻辑移出 Python 执行路径。

测试结果显示,CPU 侧的校验开销从每次调用的数十至数百微秒,降到了 1 微秒以内。

2.2 SMT 求解器辅助的形式化整数分析

TileLang 内核涉及复杂的张量索引运算,需要强大的形式化整数分析能力。在布局推导、内存冲突检测、边界分析等编译流程中,编译器必须验证整数表达式是否满足特定属性,才能开启相应的优化。因此,更强的形式化分析能力可以解锁更高级、更复杂的优化可能性。

好的,遵照您的指示,以下是对给定片段进行的深度重写与降重后的版本。

为此,DeepSeek-V4 将 Z3 SMT 求解器(De Moura and Bjørner, 2008)无缝嵌入至 TileLang 的代数系统之中,从而为张量程序中的绝大多数整数表达式赋予了形式化分析的能力。

具体而言,DeepSeek-V4 会将 TileLang 整数表达式映射为 Z3 的无量词非线性整数算术(QF_NIA)表达形式,在计算成本与形式化表达能力之间寻得了一个精妙的平衡点。基于整数线性规划(ILP)求解器的 QF_NIA,能够顺畅地解决内核中普遍存在的标准线性整数表达式问题;而其内置的非线性推理机制,更可有效应对诸如可变张量形状向量化这类高阶挑战。在合理的资源约束下,Z3 大幅提升了整体优化效能,同时将编译环节的时间开销牢牢控制在数秒之内。 此项优化在向量化、屏障插入、代码简化等多个编译流程中都展现出了显著成效。

2.3 数值精度与比特级可复现性

在生产环境中,数值的准确性与可复现性,其重要性丝毫不亚于原始吞吐量。因此,DeepSeek-V4 默认的配置是以精度为先在编译器层面禁用快速数学优化,仅通过显式可选的前端算子(如 T.exp、T.log、T.__sin)来提供那些会影响精度的近似计算。反之,当需要严格遵循 IEEE-754 语义时,TileLang 则提供了符合 IEEE 标准且带有显式舍入模式的内在函数(如 T.ieee_fsqrt、T.ieee_fdiv、T.ieee_add),让开发者能够精准地定义数值行为。

DeepSeek-V4 还实现了比特级的可复现性,旨在将内核与手写 CUDA 基线进行比对验证。通过将 TileLang 的代数简化与编译规则,与主流 CUDA 工具链(如 NVCC)进行对齐,从而避免因代码转换而引入非预期的比特级差异。布局注解 (例如 T.annotate_layout)允许用户锁定与布局相关的编译决策,确保计算与累加的顺序与参考的 CUDA 实现保持一致,进而在需要时实现比特级完全一致的输出。

测试结果显示,这些面向精度与可复现性的设计并未以牺牲性能为代价:在保守的默认配置下,TileLang 内核依然保持着竞争力,同时支持开发者有选择性地放宽数值约束,以换取更高的执行速度。

unsetunset三、高性能批不变与确定性内核库unsetunset

为了实现高效的训练与推理,DeepSeek-V4 构建了一套完整的高性能计算内核。除了基础功能和最大化硬件利用率外,其核心设计目标还包括保障训练的可复现性,以及预训练、后训练与推理流程之间的比特级对齐。为此,DeepSeek-V4 实现了端到端、比特级批不变、确定性的内核,并且其性能开销极低。这些内核对于调试、稳定性分析以及实现一致的后训练行为至关重要。

3.1 批不变性

批不变性确保任意给定 Token 的输出,与其在批次中的位置无关,且在比特级上完全一致。实现批不变性面临的核心挑战如下:

  • 注意力:要实现批不变性,无法采用拆分 KV 方法(Dao et al, 2023)。该方法将单序列的注意力计算分散到多个流多处理器(SM)中以均衡负载,但放弃此技术会引发严重的波量化问题,从而影响 GPU 利用率。为解决此问题,DeepSeek-V4 为批不变解码设计了双内核策略:

    • 第一个内核在单个 SM 内完成整序列的注意力计算,确保满载波次下的高吞吐量;
    • 第二个内核则采用多 SM 协同处理单序列的方式,以最小化最后一个半满波次的延迟,从而缓解波量化问题。

为保证两个内核在比特级上的一致性, 第二个内核的计算路径被精心设计,使其累加顺序与第一个内核完全一致。此外, 第二个内核利用线程块集群内的分布式共享内存,实现了 SM 间的高速数据交换。这种双内核方法将批不变解码带来的开销控制在了可以忽略的水平。

  • 矩阵乘法:传统的 cuBLAS 库(NVIDIA Corporation, 2024)无法实现批不变性,因此 DeepSeek-V4 使用 DeepGEMM(Zhao et al., 2025)对其进行完整替代。此外,在极小批量的场景下,传统实现通常采用拆分 K 技术(Osama et al., 2023)来提升性能,但该技术无法满足 DeepSeek-V4 所需的批不变性。

因此,DeepSeek-V4 在绝大多数场景下放弃了拆分 K 技术,但这可能导致性能下降。为了解决这个问题,DeepSeek-V4 引入了一系列优化措施,使得矩阵乘法实现在主流场景中能够达到甚至超越标准拆分 K 技术的性能。

3.2 确定性

确定性训练对于调试软硬件问题极具价值;当训练中出现损失激增等异常时,确定性能够帮助研究者更精准地定位数值原因,从而优化模型设计。训练中的不确定性通常源于非确定性的累加顺序,这主要是由原子加法指令导致的,该问题主要出现在反向传播阶段,具体场景如下:

  • 注意力反向传播:在传统的稀疏注意力反向传播实现中,采用原子加法来累加 KV Token 的梯度,但由于浮点加法的非结合性,这会引发不确定性。为解决此问题,DeepSeek-V4 为每个 SM 分配独立的累加缓冲区,然后对所有缓冲区执行全局确定性求和。
  • MoE 反向传播:当不同节点的多个 SM 同时向目标节点的同一缓冲区写入数据时,写入位置的协商会导致不确定性。 为了解决该问题,DeepSeek-V4 设计了一种单节点内的 Token 顺序预处理机制,并结合多节点缓冲区隔离策略,从而保证了专家并行的发送结果与 MoE 反向传播累加顺序的确定性。
  • mHC 中的矩阵乘法:mHC 的矩阵乘法输出维度仅为 24,在极小批量场景下必须使用拆分 K 算法(Osama et al., 2023),而其原生实现会引发不确定性。为解决此问题, 分别输出每个拆分部分,再通过后续内核执行确定性归约,从而兼顾了性能与确定性。

unsetunset四、FP4 量化感知训练unsetunset

为了在部署阶段实现推理加速和内存节省,DeepSeek-V4 在后训练阶段引入了量化感知训练(QAT)(Jacob et al., 2018),使模型能够适应量化带来的精度损失。

DeepSeek-V4 对两个组件应用了 FP4(MXFP4)量化(Rouhani et al., 2023):

  1. MoE 专家权重,这是 GPU 内存占用的主要来源(OpenAI, 2025);
  2. 压缩稀疏注意力(CSA)索引器中的查询-键(QK)通路,该通路的 QK 激活值全程以 FP4 格式进行缓存、加载与相乘,以加速长上下文场景下的注意力分数计算。

此外,DeepSeek-V4 在量化感知训练过程中,将索引分数从 FP32 量化为 BF16,这一优化使得 Top-K 选择器的速度提升了 2 倍,同时保持了 99.7% 的 KV 条目召回率。

对于 MoE 专家权重,遵循量化感知训练的常规流程,优化器维护的 FP32 主权重先被量化为 FP4,再反量化为 FP8 用于计算。值得注意的是,本方案中的 FP4 转 FP8 反量化是无损的——因为 FP8(E4M3)相比 FP4(E2M1)多出 2 个指数位,拥有更大的动态范围。 只要每个 FP8 量化块(128×128 tile)内的 FP4 子块(1×32 tile)缩放因子的最大值与最小值之比不超过特定阈值,那么细粒度的缩放信息就能被 FP8 扩展的动态范围完全吸收。实验验证了当前权重满足该条件,这使得整套量化感知训练流程可以直接复用现有的 FP8 训练框架,无需任何修改。在反向传播阶段,梯度基于前向传播的 FP8 权重进行计算,并直接回传到 FP32 主权重,这等价于在量化操作中应用了直通估计器(STE),同时避免了权重转置后的重新量化。

在不涉及反向传播的强化学习训练推理与推演阶段,DeepSeek-V4 直接使用真实的 FP4 量化权重,而非模拟量化。这保证了模型的采样行为与线上部署完全一致,同时减少了内核的内存加载,实现了实际加速并显著降低了内存消耗。CSA 索引器的 QK 通路也采用了相同的处理方式。

unsetunset五、训练框架unsetunset

本训练框架建立在 DeepSeek-V3(DeepSeek-AI, 2024)可扩展且高效的基础设施之上。在训练 DeepSeek-V4 时,该模型继承了这一稳健基石,并引入了多项关键创新,以适配 Muon 优化器、mHC、混合注意力机制等新型架构组件,从而维持了高水平的训练效率与稳定性。

5.1 Muon 优化器的高效实现

Muon 优化器要求使用完整的梯度矩阵来计算参数更新,这与零冗余优化器(ZeRO)(Rajbhandari et al., 2020)的结合存在固有矛盾。传统的 ZeRO 是为 AdamW 这类逐元素优化器设计的,允许将单个参数矩阵拆分到多个节点上独立更新。为解决此冲突,DeepSeek-V4 为 Muon 设计了一种基于 ZeRO 桶分配的混合策略。

  • 针对稠密参数,DeepSeek-V4 限制了 ZeRO 并行的最大规模,并采用背包算法将各个参数矩阵分配到不同节点,以确保每个节点上的负载大致均衡。每个节点上的桶会被填充至与全局最大桶尺寸相同,从而便于高效执行归约散射操作。在 DeepSeek-V4 的配置下,每个节点最多管理 5 个参数矩阵,由填充操作引入的内存开销通常低于 10%。 当数据并行总规模超出 ZeRO 限制时,DeepSeek-V4 会在额外的数据并行组中冗余计算 Muon 更新,以此用计算量换取桶总内存的降低。
  • 针对 MoE 参数,DeepSeek-V4 对每个专家进行独立优化:首先将所有层中所有专家的 SwiGLU(Shazeer, 2020)向下投影矩阵展平,随后展平向上投影矩阵与门控矩阵,接着对展平后的向量进行填充,确保其能在所有节点间均匀分配,同时不拆分任何逻辑上独立的矩阵。由于专家数量庞大,DeepSeek-V4 不对 MoE 参数设置 ZeRO 并行限制,且填充开销同样可以忽略不计。

此外,每个节点上形状相同的连续参数会被自动合并,以支持批量执行牛顿-舒尔茨迭代,从而提升硬件利用率。研究还发现,Muon 的牛顿-舒尔茨迭代在 BF16 矩阵乘法下依然能够保持稳定。基于这一特性,我们将数据并行节点间需要同步的 MoE 梯度通过随机舍入方式量化为 BF16 精度,从而将通信量减半。为避免低精度加法器可能引发的累加误差,我们采用了一种两阶段方法来替代传统的树形/环形归约散射集合通信:首先通过全交换操作在节点间交换局部梯度,然后由每个节点以 FP32 精度执行局部求和,以此保证数值的鲁棒性。

5.2 mHC 的低成本低内存实现

与传统的残差连接相比,mHC 的引入同时增加了激活内存的占用以及流水线阶段间的通信量。为缓解这些开销,我们实施了一系列优化策略:

  1. 为训练和推理精心设计并实现了 mHC 融合内核;
  2. 引入了重计算策略,有选择地对中间张量进行检查点保存,重计算层间的大部分隐藏状态以及所有归一化层的输入,同时避免重计算计算密集型操作,以此在内存节省与计算开销之间取得平衡;
  3. 调整了 DualPipe 1F1B 重叠方案,以适配增加的流水线通信,使得 mHC 的部分操作能够并发执行。

这些优化措施将 mHC 的实际时间开销控制在重叠的 1F1B 流水线阶段的 6.7% 以内。更多工程优化的细节可参见 mHC 专项论文(Xie et al., 2026)。

DeepSeek 针对HC训练不稳定、扩展性受限及内存开销问题的Manifold-Constrained Hyper-Connections解决方案

5.3 长上下文注意力的上下文并行

传统的上下文并行(CP)方法将序列维度进行拆分,每个节点维护连续的 N 个 Token。这给压缩注意力机制(CSA 与 HCA)带来了两大挑战:

  • 一方面,训练样本由多个序列打包而成,每个序列独立按 m(或 m')倍进行压缩,不足 m 的尾部 Token 会被丢弃,导致压缩后的 KV 长度通常小于 N,且各节点间不一致;
  • 另一方面,压缩操作需要连续的 m 个 KV 条目,这可能跨越相邻两个 CP 节点的边界。

为解决这些挑战,我们设计了一个两阶段通信方案:

  • 第一阶段,节点 i 将最后的 m 个未压缩 KV 条目发送给节点 i+1,节点 i+1 将接收到的条目与本地的 m 个未压缩 KV 条目一起进行压缩,生成一个固定长度为 m 的压缩条目,其中可能包含部分填充条目;
  • 第二阶段,所有 CP 节点执行全收集操作,汇聚本地的压缩 KV 条目,然后通过融合选择填充算子将其重组为完整的压缩 KV 条目集,总长度为 cp_size × m,所有填充条目被置于尾部。
    • 对于 HCA 与 CSA 索引器,每个查询 Token 的压缩 KV 条目可见范围可以通过规则预先计算;
    • 对于 CSA 的稀疏注意力,Top-K 选择器会显式指定每个查询可见的压缩 KV 条目索引。

5.4 面向灵活激活检查点的扩展自动微分

  • 传统的激活检查点实现以整个模块为粒度,决定在反向传播时是保留还是重计算输出激活,这种 粗粒度的方式在重计算成本与激活内存占用之间的权衡往往不够理想。
  • 另一种方案是手动实现整层的前向与反向逻辑,并显式管理张量检查点的状态虽然能实现细粒度控制,但失去了自动微分框架的便捷性,大幅提升了研发复杂度。

为了在不牺牲编程效率的前提下实现细粒度控制,V4 实现了一种支持自动微分的、张量级别的激活检查点机制。开发者只需实现前向传播,并有选择性地注解单个张量,系统即可自动完成检查点的保存与重计算。本 框架基于 TorchFX(Reed et al., 2022)追踪完整的计算图,对每个被注解的张量执行反向遍历,定位重计算所需的最小子图,将其定义为重计算图,并插入到反向逻辑中对应梯度计算的前一步。

与手动实现相比,该设计在训练阶段不会引入额外开销。框架中的重计算通过直接释放被注解张量的 GPU 内存,并复用重计算张量的存储指针来实现,无需进行 GPU 内存拷贝。此外,由于图追踪会实际执行模型,我们可以追踪每个张量的底层存储指针,自动对共享存储的张量(如 reshape 操作的输入与输出)进行去重计算,从而让开发者在注解重计算时无需关注底层的内存细节。

六、推理框架

本推理框架主要继承自 DeepSeek-V3,仅在 KV 缓存管理方面存在差异。

6.1 KV 缓存结构与管理

为了高效管理 DeepSeek-V4 混合注意力机制所带来的异构 KV 缓存,我们设计了一种定制化的 KV 缓存布局,其布局形式如图 6 所示,具体说明如下:

图 6 DeepSeek-V4 的 KV 缓存布局。KV 缓存分为两大核心组件:用于 CSA/HCA 的经典 KV 缓存,以及用于 SWA 和 CSA/HCA 待压缩 Token 的状态缓存。在状态缓存中,每个请求被分配一个固定大小的缓存块,块内的 SWA 段存储最近 m 个 Token 的 KV 条目,CSA/HCA 段存储尚未就绪进行压缩的尾部状态。在经典 KV 缓存中,每个请求被分配多个块,每个缓存块覆盖 lcm(m, m') 个原始 Token,生成 m 个 CSA 压缩 Token 与 m' 个 HCA 压缩 Token。

该图完整呈现了 DeepSeek-V4 混合注意力的异构 KV 缓存架构,破解了传统 PagedAttention 无法适配混合注意力的难题。

  • 状态缓存采用固定池预分配策略,以适配 SWA 与压缩分支尾部 Token 的状态管理;
  • 传统 KV 缓存以 mm' 的最小公倍数来设计块大小,以匹配 CSA/HCA 的压缩规则。这种布局兼顾了异构缓存策略与稀疏注意力内核的对齐需求,实现了对混合注意力 KV 缓存的高效调度,显著降低了长上下文推理时的内存占用与访问开销。

DeepSeek-V4 中的异构 KV 条目

DeepSeek-V4 系列的混合注意力机制引入了多种 KV 条目,这些条目的 KV 缓存尺寸与更新规则各不相同。

用于稀疏选择的闪电索引器为KV缓存新增了一个维度,其嵌入尺寸与主注意力机制存在差异。CSA和HCA的压缩技术分别将序列长度压缩至与,从而降低了整体KV缓存的体积,这也导致不同层之间KV缓存的尺寸各不相同。此外,滑动窗口注意力(SWA)层也拥有自己独立的KV缓存大小、缓存命中及淘汰机制。

在压缩分支中,每生成1个KV条目,当剩余Token数量不足压缩所需时,所有待处理的Token及其隐藏状态必须暂存在缓冲区中,直到压缩操作可以执行。这些缓冲Token作为由位置上下文决定的序列状态,也被纳入KV缓存框架进行统一管理。

混合注意力KV缓存管理的挑战

混合注意力机制打破了PagedAttention及其变体的核心假设。尽管近年来出现了针对通用混合注意力模型或特定结构设计的混合KV缓存管理算法(如Jenga(Zhang et al., 2025a)、Hymba(Dong et al., 2025)),但两大核心障碍使得在PagedAttention框架下无法统一管理所有层的KV缓存:

  1. 多样化的缓存策略,例如滑动窗口注意力所使用的策略;
  2. 高性能注意力内核的约束条件,包括对齐要求。

为了高效管理DeepSeek-V4的KV缓存,我们设计了以下对应策略来攻克这两大挑战:

  • SWA与未压缩尾部Token的状态缓存:针对第一个障碍,DeepSeek-V4采用了替代缓存管理机制。由于SWA的设计初衷是在有限KV缓存尺寸下提升性能,因此可以将其与压缩分支的未压缩尾部Token视为状态空间模型,对应的KV缓存可看作仅依赖当前位置的序列专属状态。基于此,DeepSeek-V4会预分配一个固定大小的状态缓存池,动态分配给每个序列。
  • 稀疏注意力内核协同设计:针对第二个障碍,传统高性能注意力内核通常假设每个块固定个Token以优化性能,这对应CSA的个原始Token和HCA的个原始Token。通过采用高性能稀疏注意力内核,不同层可以支持每个块的可变Token数,且性能不会下降。这要求KV缓存的布局与稀疏注意力内核进行协同设计,例如将块填充至缓存行对齐以提升性能。因此,对于压缩比为的CSA和压缩比为的HCA,每个块的原始Token数可以是两者最小公倍数lcm(,)的任意倍数。

6.2 磁盘KV缓存存储

在部署DeepSeek-V4时,我们采用了磁盘KV缓存存储机制,以避免对共享前缀请求进行重复的预填充。

针对CSA/HCA的压缩KV条目和滑动窗口注意力(SWA)的未压缩KV条目,DeepSeek-V4设计了不同的存储管理方案:

  • 对于CSA和HCA,直接将所有压缩KV条目存储至磁盘。当请求命中已存储的前缀时,读取并复用该前缀对应的压缩KV条目,直至最后一个完整压缩块。对于尾部不完整块中的前缀Token,仍需进行重计算以恢复未压缩的KV条目,因为CSA和HCA的未压缩KV条目并未存储。
  • 对于SWA KV条目,由于其未压缩且存在于每一层,数据量约为压缩后CSA和HCA KV条目的8倍。

然而,为了高效管理海量的SWA KV条目,DeepSeek-V4提出并实现了三种磁盘SWA KV条目管理策略,在存储开销与计算冗余之间实现了不同的权衡:

  1. 全SWA缓存:存储所有Token的完整SWA KV条目,实现计算零冗余。在该策略下,只需读取前缀内最后个Token的磁盘缓存,即可重建命中前缀的SWA KV条目。但这种策略对现代SSD存储系统的效率较低——每个命中请求仅访问少量缓存,会引发写密集型的不均衡访问模式。
  2. 周期性检查点:每隔个Token(为可调参数)对最后个Token的SWA KV条目做一次检查点保存。命中前缀时,加载最近的检查点状态,再重计算剩余的尾部Token。通过调整参数,可以按需权衡存储与计算成本。
  3. 零SWA缓存:不存储任何SWA KV条目。命中前缀时,需要执行更多重计算来恢复SWA KV条目。具体来说,每层注意力的每个Token SWA KV条目仅依赖上一层最近个Token的SWA KV条目,因此借助已缓存的CSA和HCA KV条目,只需重计算最后个Token,即可恢复层模型的最后个SWA KV条目。

DeepSeek-V4会根据具体的部署场景选择最优策略,从而实现存储与计算的理想权衡。

结语

DeepSeek-V4以软硬件协同的全链路视角,构建了一套面向大模型高效训练与部署的通用基础设施。

其核心突破在于细粒度专家并行,将通信时延完全隐藏于计算中,在更低互联带宽下实现了最高1.96倍的加速;结合TileLang内核开发、批不变确定性算库与FP4量化感知训练,在保障数值精度与可复现性的同时,显著降低了内存与计算开销。

训练框架与异构KV缓存管理则进一步弥合了架构创新与工程落地之间的鸿沟。这套方案不仅为MoE模型提供了可落地的效率基石,也为未来软硬件协同设计指明了清晰方向。

参考资料
[1] build-with-deepseek-v4-using-nvidia-blackwell-and-gpu-accelerated-endpoints: https://developer.nvidia.com/blog/build-with-deepseek-v4-using-nvidia-blackwell-and-gpu-accelerated-endpoints/
[2] cann-recipes-infer/tree/master/models/deepseek-v4: https://gitcode.com/cann/cann-recipes-infer/tree/master/models/deepseek-v4
[3] deepseek-ai/DeepGEMM/pull/304: https://github.com/deepseek-ai/DeepGEMM/pull/304


关注“鲸栖”小程序,掌握最新AI资讯

本文来自网络搜集,不代表鲸林向海立场,如有侵权,联系删除。转载请注明出处:https://www.itsolotime.com/archives/32374

(0)
上一篇 19小时前
下一篇 19小时前

相关推荐

  • AI自主科研新突破:Karpathy项目引发智能体群体协作,4天完成2000+实验

    AI自主科研新突破:Karpathy项目引发智能体群体协作,4天完成2000+实验 Karpathy的Autoresearch项目仅用630行Python代码,就让AI自主完成了276次实验,筛选出29项有效改进,将语言模型的训练效率提升了约11%,全程无需人类干预。 然而,更引人注目的进展发生在此之后。全球开发者社区接手项目,将其从“单个AI做实验”升级为…

    2026年3月15日
    27800
  • PyTorch与TPU深度融合!TorchTPU项目发布:三行代码切换,让TPU成为PyTorch一等公民

    TorchTPU:三行代码切换,让TPU成为PyTorch一等公民 关键词:PyTorch、TPU、TorchTPU、XLA、分布式训练 在2026年PyTorch欧洲大会上,Meta与Google联合发布了TorchTPU项目,这是全场最重磅的技术发布。 这并非一个普通的硬件适配插件,而是双方深度打通PyTorch框架与Google TPU硬件的原生解决方…

    2026年4月14日
    27600
  • SuperOffload:超级芯片时代LLM训练的革命性卸载系统,吞吐量提升2.5倍,解锁百万token序列训练

    关键词:SuperOffload、大语言模型训练、超级芯片、卸载技术、异构计算 本研究探索超级芯片时代 LLM 训练软件优化方案,发现基于 PCIe 带宽限制设计的传统卸载方案,难以充分利用超级芯片硬件资源。 为此,我们设计了首个适配超级芯片的 SuperOffload 系统,它可同时高效调用 Hopper GPU、Grace CPU 与 NVLink-C2…

    2025年12月21日
    37300
  • 自我蒸馏的陷阱:为何AI“抄袭”自己思考反而损害数学推理能力?

    自我蒸馏的陷阱:为何AI“抄袭”自己思考反而损害数学推理能力? 当 AI 试图通过“抄袭”自己的思考过程来变得更高效时,它可能无意中丢掉了最宝贵的品质——承认“我可能错了”。 在人工智能领域,一种名为“自我蒸馏”(Self-Distillation)的后训练范式正迅速崛起。其核心思想极具吸引力:让模型自己充当老师,利用更丰富的上下文信息(如标准答案)来指导学…

    2026年3月30日
    33400
  • 英伟达GDPO:突破GRPO局限,精准优化多奖励强化学习

    GRPO 是促使 DeepSeek-R1 成功的基础技术之一。最近一两年,GRPO 及其变体因其高效性和简洁性,已成为业内广泛采用的强化学习算法。 然而,随着语言模型能力的不断提升,用户对它们的期待也在发生变化:不仅要回答正确,还要在各种不同场景下表现出符合多样化人类偏好的行为。为此,强化学习训练流程开始引入多种奖励信号,每一种奖励对应一种不同的偏好,用来共…

    2026年1月11日
    41000