DeepInfer深度解析:DeepSeek的自研推理引擎,藏着什么信号?

· 瑞哥观势 · DeepSeek / 推理引擎 / 开源 / AI 基础设施

DeepInfer深度解析:DeepSeek的自研推理引擎,藏着什么信号?

2026年10月20日,DeepSeek正式开源了它的内部推理引擎DeepInfer,代码托管在GitHub,协议Apache 2.0。

这可能是今年最具信号意义的一次开源。但99%的人只看到了"DeepSeek又发了个框架",没看懂它真正在说什么。

今天把这事说透。

先回答三个最常见的问题

DeepInfer是推理引擎,不是模型。模型是V4.1-Flash,已经单独发了权重。DeepInfer是跑这个模型的那套系统代码。

它不是托管API。开源的是离线批处理推理的核心引擎,DeepSeek线上生产服务用的那些KV缓存管理、prefill/decode分离、负载均衡,没有放出来。

它目前只支持V4.1-Flash这一个模型。后续会不会支持其他模型,官方没说。

DeepInfer是什么:三层架构拆开看

把官方文档和设计文档综合起来看,DeepInfer分成三层。

第一层:请求接入层(deepseek-recipe)

随这次开源一起发布的还有一个独立仓库deepseek-recipe,是MIT协议。它做的事情是:把外部请求转换成模型能认的tokenID,再把模型输出的tokenID还原成人类可读的文本。说白了,就是模型自己的"输入法"和"排版器"。DeepSeek把这两样东西单独抽出来开源,意义在于:任何第三方想自己搭服务,不用再靠猜或者逆向,就能知道V4.1-Flash的对话模板和token映射规则是怎么工作的。

第二层:核心引擎层(DeepInfer runtime)

这是技术含量最高的部分。DeepInfer的引擎把DeepSeek之前单独发布的各个优化内核串联成了一个整体:

• FlashMLA:DeepSeek自研的注意力内核,专门针对V4.1-Flash的DSA(稀疏注意力)优化。这次更新里有一个容易被忽略的细节:FlashMLA同时支持NVIDIA SM100/SM103(Blackwell架构)和华为昇腾950 NPU,但不再支持NVIDIA Hopper(SM90)。这个变化等下展开说。

• DeepGEMM:FP8矩阵乘法内核,DeepSeek之前单独发过。

• DeepEP:专家并行通信库,处理MoE架构里跨GPU的all-to-all数据交换。这次新增了昇腾版本。

• TileKernels和DeepSelect:细粒度的算子优化,用于MoE的专家选择和激活。

第三层:调度解码层

这部分负责批次调度、投机解码(DSpark)、滑动窗口缓存恢复(SWA bounded replay)、异步调度等逻辑。具体特性包括:

• DSpark投机解码:用草稿token加速解码,用置信度预测来决定验证哪些草稿。实测生产场景下可以带来4%到7%的吞吐提升。通过设置DEEPINFER_ENABLE_MTP_VARLEN=1开启。

• SWA bounded replay:滑动窗口注意力(SWA)的缓存恢复策略。常规做法是每次重新计算整个窗口的KV,DeepInfer只重放最近的有界后缀,把计算量变成固定的常数级别。通过DEEPINFER_YOCO_PREFILL_TRUNCATION_MODE=compact配置。

• 异步调度:CPU在准备下一批次的时候,GPU同时在跑当前批次,两者交叠执行,消除调度间隙导致的GPU空闲时间。默认开启。

• Batch-invariant推理:同一个请求,在不同batch大小下跑,输出结果完全相同。开启方式DEEPINFER_BATCH_INVARIANT=1。这对生产环境基准测试和Agent复现很重要。

• 确定性采样:相同输入+相同采样参数=相同输出。需要DEEPINFER_BATCH_INVARIANT=1 DEEPINFER_ENABLE_MTP_VARLEN=0并给SamplingParams传固定seq_seed。

• 结构化输出:支持正则表达式、JSON Schema、EBNF语法约束生成。这是目前大模型落地应用的核心需求,DeepInfer直接做在引擎层而不是外面套一层。

被故意留下的三个缺口

读DeepInfer的发布文件,最重要的视角是"什么没放出来"。

官方README写得非常坦诚:"完整的推理服务还需要KV缓存系统、prefill/decode分离、跨数据并行副本的负载均衡",这三样东西都没有包含在这次开源里。

这不是藏着掖着,这是设计边界。

DeepSeek这次开源的是离线批处理推理的核心引擎,目标是让外部研究者和技术团队能复现DeepInfer跑V4.1-Flash的完整路径。但它没有把线上生产服务最难的部分——KV缓存管理、在线请求的动态路由、多副本负载均衡——放出来,因为这些跟DeepSeek内部基础设施高度耦合,没有普适性。

换句话说:DeepSeek开源的是一个可以独立跑起来的推理引擎,但不是一个开箱即用的在线推理服务。

被低估的硬件策略变化

前面提到FlashMLA不再支持Hopper,这个细节值得单独说。

DeepSeek选择了NVIDIA SM100/SM103(Blackwell架构)和华为昇腾950 NPU作为DeepInfer的官方硬件平台。Hopper被放弃的原因很简单:Blackwell的架构特性更匹配V4.1-Flash的计算模式,尤其是SM100的Tensor Memory来加速大上下文场景。

但更值得关注的信号是昇腾950的加入。

DeepEP-Ascend是DeepSeek专门为昇腾NPU写的专家并行通信库,DeepGEMM-Ascend和FlashMLA-Ascend也都有了对应的昇腾后端。这意味着DeepSeek在推进一条不完全依赖NVIDIA的推理路线。对于中国市场的AI基础设施来说,这是一个有战略意义的选择。

DeepSeek的核心思路是:硬件选型跟着模型架构走,而不是跟着市面上的最强卡走。不是"我要用最好的NVIDIA卡来跑我的模型",而是"我的模型最适合在什么硬件上跑,我就选什么硬件"。这对整个行业是一个方向性的提示。

性能数据怎么看

官方给出了两组基准测试图:Prefill在4张SM100上的表现,Decode在64张SM100上的表现。

读这些数字要小心几个前提:

第一,上下文长度是131072,不是V4.1-Flash支持的1M。V4.1-Flash最大上下文是100万token,但官方基准测试没有用最大上下文。

第二,Decode的基准假设75%的草稿接受率。如果实际场景更难(比如代码生成),接受率会下降,吞吐提升也会缩水。

第三,目前没有第三方复现数据。所有图表都是DeepSeek自己测的。

所以这些数字是参考,不是承诺。真正有价值的不是"每秒能跑多少token",而是DeepSeek在这套架构里用了哪些具体的技术手段。

从零开始跑DeepInfer:完整教程

环境要求

• Linux系统
• GCC >= 13.0
• Python 3.12
• NVIDIA:CUDA 13、SM100或SM103 GPU
• 华为昇腾: CANN 9.2、昇腾950 NPU

第一步:准备Python环境

DeepInfer需要独立的Python 3.12环境,不建议在现有环境里直接装,容易跟其他包的依赖冲突。

conda create -n deepinfer python=3.12
conda activate deepinfer

第二步:选择硬件平台

# NVIDIA平台
export DEEPINFER_ACCELERATOR=nvidia

# 华为昇腾平台
export DEEPINFER_ACCELERATOR=ascend

这个环境变量在后续所有操作中都要保持设置。

第三步:编译

./build.sh

编译过程会安装所有Python依赖、构建内联的算子和DeepInfer扩展。整个过程在单节点上大约需要十几分钟。

第四步:准备模型权重

默认情况下,首次运行会自动从HuggingFace下载deepseek-ai/DeepSeek-V4.1-Flash-1017到本地缓存。如果你想用本地已经下载好的权重:

export DEEPINFER_HF_MODEL_DIR=/path/to/your/local/DeepSeek-V4.1-Flash-1017

本地权重目录需要包含config.json文件和所有safetensors分片文件。

第五步:跑离线推理

# 最简单的运行方式,使用默认参数
python examples/offline_inference.py

# 指定专家并行度(EP)和数据并行度(DP)
python examples/offline_inference.py --ep 8
python examples/offline_inference.py --ep 2 --dp 8
python examples/offline_inference.py --ep 2 --cp 8

--ep是专家并行度,--dp是数据并行度,--cp是上下文并行度。根据你的GPU数量选择合适的配置。

第六步:验证结构化输出(可选)

python examples/offline_inference.py --check_structured_output

这会同时验证PPL和结构化输出(正则、JSON、EBNF),任何一个失败都会导致整个run失败。

配置项速查表

功能 环境变量 默认值 说明
投机解码 DEEPINFER_ENABLE_MTP_VARLEN 0(关闭) 设为1开启DSpark
最大草稿长度 DEEPINFER_USE_NEXTN_DECODE 5 投机解码的draft长度
SWA replay模式 DEEPINFER_YOCO_PREFILL_TRUNCATION_MODE - 设为compact启用bounded replay
SWA保留token数 DEEPINFER_YOCO_PREFILL_KEEP_TOKENS 140 V4.1-Flash默认设置
Batch-invariant DEEPINFER_BATCH_INVARIANT 0 设为1开启,结果跨batch一致
本地模型路径 DEEPINFER_HF_MODEL_DIR HuggingFace 指向本地模型目录
昇腾调试模式 ASCEND_LAUNCH_BLOCKING 0 设为1同步执行,方便看stack
昇腾日志输出 ASCEND_SLOG_PRINT_TO_STDOUT 0 设为1打印CANN日志

DeepInfer的设计哲学:四条主线

第一条:模型专用优于通用

DeepInfer不是vLLM那种"所有模型都能跑"的通用引擎。它是专门为V4.1-Flash设计的,每个内核都跟模型架构高度匹配。FlashMLA匹配DSA稀疏注意力,DeepEP匹配MoE的all-to-all通信模式,DeepGEMM匹配FP8量化权重格式。这种专用化带来的优化空间,是通用引擎靠配置调不出来。

第二条:硬件适配跟着模型走

DeepSeek选择硬件的标准不是"谁最强",而是"谁最适合我的模型"。Blackwell SM100在Tensor Memory和带宽上对1M上下文场景有优势,所以选Blackwell不选Hopper。昇腾950在特定场景下对国产算力有优势,所以给它写专用后端。模型架构决定了硬件选型,而不是反过来。

第三条:开源深度而非广度

DeepSeek没有试图做一个包含KV缓存、在线API、负载均衡的完整产品再开源。它选择了开源核心技术,深挖纵向,不铺横向。这样做的好处是代码质量和文档水平可以控制,坏处是外部团队拿到的还是一个需要二次开发的引擎,不是可以直接上线的产品。

第四条:诚实列出边界

README里专门有一个"Required for complete inference service (not included in this release)"的清单,把KV cache、PD分离、负载均衡这三块明确标注为未包含。这个坦诚的做法在整个AI开源圈里不多见。大多数公司会选择把这些边界藏着,DeepSeek选择把它写在明面上。

DeepInfer对行业的意义

这次发布对不同的人有不同的价值。

对于推理引擎开发者,DeepInfer提供了一个"模型厂商自己怎么做推理"的参考实现。FlashMLA怎么写、MoE通信怎么优化、投机解码的置信度调度怎么做,这些在论文里是一段话,在DeepInfer里是一行行可以读可以改的代码。

对于AI应用开发者,DeepInfer证明了V4.1-Flash这类大模型完全可以在非Hopper的硬件上高效运行。昇腾950的支持打开了一个不去抢H100/H200也能跑前沿模型的可能性。

对于AI基础设施从业者,DeepInfer和deepseek-recipe的组合意味着:DeepSeek在推进一套以自己模型为核心的完整软件栈,从最底层的内核,到中间层的推理引擎,再到最外层的API协议,全部掌握在自己手里。这跟OpenAI用Azure、Anthropic用AWS的路线完全不同。

DeepSeek在做的事,本质上是把模型和推理引擎当成同一个产品来设计,而不是把模型权重扔给社区,让社区自己去想办法跑起来。

结语

DeepInfer最大的价值,不在于它是目前跑V4.1-Flash最快的引擎——那个答案只有DeepSeek自己知道。

它的价值在于,DeepSeek把"我是怎么服务自己的"这件事开源了出来。

这是第一次有一个前沿AI实验室,愿意把自己内部推理系统的核心代码公开。不是为了秀肌肉,而是为了建立一套以自己模型为核心的生态。

DeepSeek V4.1-Flash的权重是开源的,DeepSeek的推理内核是开源的,现在推理引擎也开源了。模型、权重、内核、引擎,全链路开源。

这条路的尽头,是一个完全自主可控的AI堆栈。

你用不用得上,是另一回事。但它摆在那了。


首发于微信公众号「瑞哥观势」

既然看到这里了,如果觉得不错,随手点个赞、在看、转发三连吧,如果想第一时间收到推送,也可以给我个星标,谢谢你看我的文章,我们,下次再见。

*首发于微信公众号「瑞哥观势」。

Frequently Asked Questions

Who is behind TopDigg?

TopDigg is created by Eric, a researcher focused on AI trends and SEO/GEO strategies.

How often is content updated?

Blog posts are published regularly. AI Daily is updated daily with the latest AI news.

Can I republish or share content from TopDigg?

Please contact us for content licensing and collaboration inquiries.

About the Author

ERIC

AI Technology Expert, focusing on research and application of artificial intelligence and automation tools

Contact & Platforms

WeChat:360369487
Crypto Intelligence TG Group:https://t.me/btcgogopen ↗
YouTube Channel:@0XBitFinance ↗
Personal Tech Blog:topdigg.com ↗

Related Posts