DeepSeek 开源生产级推理框架 DeepInfer:能跑多快,又缺了什么
AI Summary (BLUF)
DeepSeek开源了其生产环境使用的高性能推理框架DeepInfer,支持DeepSeek-V4.1-Flash模型,提供优化内核、并行策略、异步调度等特性,并支持NVIDIA和华为昇腾硬件。本文介绍了其功能、构建方法和性能基准。
核心洞察
DeepSeek 把自家生产环境用的推理框架开源了,这事儿比模型本身更有看头。以前大家只能猜他们线上怎么跑得那么快,现在代码直接摆出来了。不过要注意,这只是一个离线推理版本,KV cache 系统、PD 分离、负载均衡这些真正撑起在线服务的东西都没放出来,想直接拿去搭生产服务还差得远。
DeepInferDeepSeek开源的高性能推理框架,用于大规模生产服务。 是 DeepSeek 大规模生产服务背后用的高性能推理框架。这次开源的是离线推理版本,带了大规模部署所需的核心能力。
支持的模型:
支持的特性:
- 优化过的算子、模型和采样器运行时
- 并行策略:Attention DP / 均衡 CP,MoE EP + EPLB专家并行与专家并行负载均衡。
- DSpark一种利用草稿令牌和置信度调度验证来加速解码的技术。 和置信度调度验证
- SWA滑动窗口注意力,一种减少预填充工作的技术。 有界重放
- 异步调度(零开销批调度器)
- 批不变推理保持模型结果在不同批次组成下一致。
- 确定性采样对于相同的输入令牌和采样参数产生相同的输出。
- 结构化输出
特性细节与配置
- 优化算子: FlashMLADeepSeek优化的多头潜在注意力内核库,为大型语言模型提供高效的注意力计算实现、DeepGEMMDeepSeek开源的高性能张量核心内核库,专注于为大语言模型提供核心计算原语、DeepEPA core code library open-sourced by DeepSeek during their 'Open Source Week' in February 2025.、TileKernels基于 tilelang 的内核库,提供分块计算内核、DeepSelectDeepSeek的另一个内核库。,以及自定义的 TileLang 算子。
- DSpark 与置信度调度验证: 用 draft token 加速解码,再根据置信度估计来调度验证。设置
DEEPINFER_ENABLE_MTP_VARLEN=1;DEEPINFER_USE_NEXTN_DECODE控制最大 draft 长度(默认 5)。 - Decoder SWA 有界重放: 只重放有界后缀,减少 decoder prefill 的工作量。V4.1 的默认配置是
DEEPINFER_YOCO_PREFILL_TRUNCATION_MODE=compact加DEEPINFER_YOCO_PREFILL_KEEP_TOKENS=140;保留的后缀必须覆盖 SWA 窗口加上最大回溯长度。 - 异步调度: 让 CPU 批调度和设备执行重叠起来。默认开启。
- 批不变推理: 不同 batch 组合下模型结果保持一致。用
DEEPINFER_BATCH_INVARIANT=1开启(仅限 NVIDIA)。 - 确定性采样: 相同输入 token 和采样参数下输出完全一致。设置
DEEPINFER_BATCH_INVARIANT=1 DEEPINFER_ENABLE_MTP_VARLEN=0,并给SamplingParams传一个固定的seq_seed(仅限 NVIDIA)。 - 结构化输出: 把生成约束在正则、JSON schema 或 EBNF 语法内。给
SamplingParams传so_args={"schema_type": ..., "schema": ...},示例见 examples 目录。
支持的硬件:
- NVIDIA SM100 GPU
- 华为昇腾 950 NPU
要搭一套完整的推理服务,还缺这些东西(本次发布不含):
- KV cache 系统
- VE/Prefill/Decode 分离(引擎侧大部分功能已经实现了)
- prefill 和 decode 在数据并行副本间的负载均衡
核心结论
DeepSeek 开源了其生产环境使用的高性能推理框架 DeepInfer,但本次仅发布离线推理版本,不含 KV cache 系统、PD 分离和负载均衡等在线服务核心组件。
DeepInfer 目前仅支持 DeepSeek-V4.1-Flash 一个模型,支持 NVIDIA SM100 GPU 和华为昇腾 950 NPU 两种硬件平台。
框架包含多项关键优化特性:DSpark 与置信度调度验证(默认最大 draft 长度 5)、Decoder SWA 有界重放(V4.1 默认保留 140 个 token 后缀)、异步调度(默认开启)以及批不变推理和确定性采样(仅限 NVIDIA)。
性能基准测试中,prefill 在 4 张 SM100 上测得,decode 使用 64 张 SM100,均在同一 scale-up 域内完成。
DeepInfer 采用 Apache License 2.0 发布,最初主要基于 vLLM 构建,并借鉴了 SGLang 和 TensorRT-LLM 的设计思路。
上手
环境要求
- Linux
- GCC >= 13.0
- Python 3.12
- CUDA 13(仅 NVIDIA)
- CANN 9.2(仅昇腾)
从源码构建
构建之前,先建一个空的 Python 3.12 环境并激活。
# 昇腾平台把 nvidia 换成 ascend
# 这个变量要在运行 DeepInfer 的环境里一直保持导出状态
export DEEPINFER_ACCELERATOR=nvidia
./build.sh
离线推理
默认 checkpoint 是 deepseek-ai/DeepSeek-V4.1-Flash-1017,首次运行会自动下载到 Hugging Face 缓存;想用本地副本的话,设置 DEEPINFER_HF_MODEL_DIR=/path/to/DeepSeek-V4.1-Flash-1017。
python examples/offline_inference.py
更多细节看 examples 目录。
性能基准
| Prefill | Decode |
|---|---|
| Prefill:非缓存输入吞吐 vs 延迟 | Decode:输出吞吐 vs 单用户速度 |
prefill 在 4 张 SM100 上测的,decode 用了 64 张,都在同一个 scale-up 域内。想复现的话,跑 run_sweep.sh。
评测基准
见 eval/README.md。
许可证
DeepInfer 采用 Apache License 2.0 发布,详见 LICENSE。
致谢
DeepInfer 最初主要基于 vLLM 构建,也从 SGLang 和 TensorRT-LLM 借鉴了不少思路。感谢这些项目的开发者。
引用
@misc{deepinfer2026,
title = {DeepInfer: High-performance, large-scale inference framework for DeepSeek models},
author = {DeepSeek-AI},
year = {2026},
publisher = {GitHub},
howpublished = {\url{https://github.com/deepseek-ai/DeepInfer}},
}
常见问题(FAQ)
DeepInfer 开源版能直接用来搭生产推理服务吗?
不能。本次开源的是离线推理版本,KV cache 系统、PD 分离、prefill/decode 在数据并行副本间的负载均衡都未包含,想直接搭生产服务还差得远。
DeepInfer 支持哪些硬件?环境要求是什么?
支持 NVIDIA SM100 GPU 和华为昇腾 950 NPU。环境需 Linux、GCC 13.0 以上、Python 3.12,NVIDIA 需 CUDA 13,昇腾需 CANN 9.2。
DeepInfer 怎么从源码构建并跑离线推理?
先建空 Python 3.12 环境并激活,导出 DEEPINFER_ACCELERATOR(nvidia 或 ascend),执行 ./build.sh,再运行 python examples/offline_inference.py。
版权与免责声明:本文仅用于信息分享与交流,不构成任何形式的法律、投资、医疗或其他专业建议,也不构成对任何结果的承诺或保证。
文中提及的商标、品牌、Logo、产品名称及相关图片/素材,其权利归各自合法权利人所有。本站内容可能基于公开资料整理,亦可能使用 AI 辅助生成或润色;我们尽力确保准确与合规,但不保证完整性、时效性与适用性,请读者自行甄别并以官方信息为准。
若本文内容或素材涉嫌侵权、隐私不当或存在错误,请相关权利人/当事人联系本站,我们将及时核实并采取删除、修正或下架等处理措施。也请勿在评论或联系信息中提交身份证号、手机号、住址等个人敏感信息。




