【大模型基础设施工程·特别篇】28:DeepInfer 深度解析——DeepSeek 生产推理引擎开源了什么

💡 原文中文,约17300字,阅读约需41分钟。
📝

内容提要

DeepSeek开源了生产推理引擎切片DeepInfer,支持DeepSeek-V4.1-Flash,适配NVIDIA SM100与昇腾950双后端。核心亮点包括自研kernel、MoE专家并行与EPLB负载均衡、DSpark置信度变长推测解码、SWA有界重算、零开销异步调度ZOS及batch-invariant。但跨请求KV、E/P/D分离编排、DP负载均衡等未开源,仅提供离线推理入口,硬件门槛高,模型面窄。其价值在于可审计的生产配方参考,而非替代vLLM/SGLang等通用引擎。

🔎

延伸解读

开源的是引擎内核,不是完整服务

DeepInfer 公开了离线推理入口和核心引擎能力,但跨请求 KV 缓存、VE/Prefill/Decode 分离编排、Prefill/Decode 的 DP 负载均衡均未开源。这意味着你无法通过克隆仓库直接复现 DeepSeek 线上 155T tokens/day 的服务形态。它的定位是“引擎切片”,适合学习生产同源的调度、并行与解码机制,而非开箱即用的 serving 方案。

硬件门槛决定了多数人只能读代码

官方要求 NVIDIA SM100(CUDA 13)或昇腾 950(CANN 9.2),且模型名单目前仅 DeepSeek-V4.1-Flash。对于持有 A100/H100 或消费卡的团队,实际跑通 offline 示例并不现实。此时 DeepInfer 的价值转向源码教材:对照 vLLM 血统理解 DeepSeek 如何特化 MLA、MoE、MTP 与 ZOS,再把思路带回现有引擎做对照实验。

DSpark 与 ZOS 的收益有条件,不能直接抄进容量规划

DSpark 置信度变长验证在厂商数据中,低并发时可能带来约 -1.5% 的吞吐变化,高并发时增益可到约 +11%,说明收益随并发上升而非普适。ZOS 则让 step(N) 返回 N-1 的 token,属于设计上的错拍。这些机制有参考价值,但官方吞吐数字均为厂商口径,未在第三方硬件上复现,直接写入 SLA 或容量表存在风险。

选型应走多路径,而非替换现网引擎

文章明确建议多数团队继续用 vLLM/SGLang 承载通用 serving,将 DeepInfer 作为源码与配方对照。只有在需要对齐 DeepSeek-V4.1-Flash 生产行为、且具备 SM100 或昇腾 950 时,才值得评估实际部署。KV 系统、E/P/D 编排和请求级负载均衡仍需单独规划,不能假设开源包能接管完整在线服务。

❓

Q&A

DeepInfer 是什么?它和 DeepSeek 的生产推理服务是什么关系?

DeepInfer 是 DeepSeek 开源的生产推理引擎切片,其 README 称它 powers DeepSeek’s large-scale production services,但本次 release 仅提供离线推理(offline inference)入口,并包含大规模服务所需的核心引擎能力。它并非完整服务,跨请求 KV、E/P/D 分离编排、Prefill/Decode 的 DP 负载均衡等未开源。

DeepInfer 支持哪些硬件和模型?运行门槛高吗?

硬件支持 NVIDIA SM100(CUDA 13)和华为昇腾 950(CANN 9.2);模型目前仅支持 DeepSeek-V4.1-Flash(默认 HF 仓库 deepseek-ai/DeepSeek-V4.1-Flash-1017)。运行需要 Linux、GCC ≥ 13、Python 3.12 空环境,且必须有对应加速卡,否则难以真正跑通,门槛较高。

DeepInfer 有哪些核心技术亮点?

核心亮点包括:自研 kernel(FlashMLA、DeepGEMM、DeepEP 等)、MoE 专家并行(EP)与专家负载均衡(EPLB)、DSpark 置信度变长推测解码、SWA 有界重算(bounded replay)与 YOCO compact、零开销异步调度(ZOS),以及 batch-invariant 和 structured outputs。

DeepInfer 的 DSpark 推测解码和传统固定长度验证有什么不同?

传统推测解码固定验证 K 个 draft token,而 DSpark 通过置信度头得到每个 draft 的接受率,动态选择边际回报最高的前缀集合进行验证,将验证算力视为稀缺资源调度。根据 Q&A 数据,动态长度可将平均验证 draft 数从 5.00 降至约 3.2–4.4,接受长度几乎不变,吞吐增益随并发升高(16 seqs/rank 时约 -1.5%,96 时可达约 +11%)。

DeepInfer 的 ZOS(零开销异步调度)是如何工作的?

ZOS 将调度(schedule)和后处理(post-process)与 GPU 的 forward/sample 重叠执行:当 GPU 跑 forward(N)/sample(N) 时,CPU 并行执行 schedule(N+1)、launch_sample(N+1) 以及更早的 post-process,从而挤掉 GPU 等待 CPU 的气泡。因此 step(N) 返回的是 N-1 的 token,最后一次结果由 flush_inflight_reqs() 收尾。

DeepInfer 没有开源哪些部分?这对生产部署有什么影响?

未开源部分包括:跨请求 KV cache 系统、VE/Prefill/Decode 分离编排、Prefill/Decode 的 DP 负载均衡,以及 VE Load Balancer(仅 Q&A 提及)。这意味着无法直接复制 DeepSeek 的完整在线服务,需要自行实现服务周边组件,如 KV 存储、请求路由和负载均衡。

DeepInfer 和 vLLM、SGLang 等通用推理引擎相比,优势和劣势是什么?

优势:生产同源的 DeepSeek-V4.1-Flash 引擎切片,包含自研 kernel、Wide-EP+EPLB、DSpark、SWA bounded replay、ZOS 及双后端支持,配方可审计。劣势:模型面极窄(仅 V4.1-Flash),硬件门槛高(SM100/昇腾950),形态为离线推理,缺少完整服务组件,社区生态远弱于 vLLM/SGLang。因此它更适合作为源码参考和配方对照,而非直接替换通用引擎。

🏷️

标签

➡️

继续阅读