大数跨境

DeepSeek的DeepInfer 开源解析:面向 Agent 场景的高性能推理框架

DeepSeek的DeepInfer 开源解析:面向 Agent 场景的高性能推理框架 苏哲管理咨询
2026-10-21
14
导读:DeepInfer 是 DeepSeek 开源的自研高性能推理框架,本身是支撑 DeepSeek 线上大模型服务的内核,基于 vLLM 深度改造,吸收 SGLang、TensorRT-LLM 思路,当
编者摘要:DeepInfer 是 DeepSeek 开源的自研高性能推理框架,本身是支撑 DeepSeek 线上大模型服务的内核,基于 vLLM 深度改造,吸收 SGLang、TensorRT-LLM 思路,当前主打适配 DeepSeek-V4.1-Flash 模型,支持英伟达 SM100 GPU 和昇腾 950 NPU。 它专门针对 MoE 稀疏模型、Agent 多轮对话场景做优化:内置专家负载均衡、前缀缓存复用、置信度可控的投机解码、零开销异步批调度,还能保证 “批量无关推理”,同一个提示词混在不同批次里输出结果不变,方便调试复现。 需要注意:这次开源只放出离线推理核心,KV 缓存集群、Prefill/Decode 分离部署、分布式负载均衡这些线上服务组件没有开放,需要自行搭建。 它的价值在于补齐 MoE 大模型生产推理短板,兼顾国产昇腾生态,给做 Agent、长会话业务的团队提供一套可落地、稳定可复现的底层推理引擎参考,Apache2.0 协议允许商用。

10 个关键问题 Q&A

  1. Q:DeepInfer 是什么? A:DeepSeek 开源、支撑自家线上服务的高性能大模型推理引擎,本次开源版本提供离线推理能力。
  2. Q:它是从零开发的吗? A:不是,基于 vLLM 深度二次开发,借鉴了 SGLang、TensorRT-LLM 的设计思路。
  3. Q:现在能跑哪些大模型? A:官方当前仅原生支持 DeepSeek-V4.1-Flash,暂不通用适配 Llama、Qwen 等其他模型。
  4. Q:支持哪些算力硬件? A:英伟达 SM100 GPU、华为昇腾 950 NPU 两套硬件。
  5. Q:EPLB 专家负载均衡解决什么痛点? A:解决 MoE 模型推理时专家流量倾斜,部分卡空闲、部分卡过载的负载不均问题。
  6. Q:SWA 前缀缓存有什么用? A:复用重复上下文前缀,Agent 多轮对话、固定系统提示词场景可以显著降低首 token 延迟。
  7. Q:什么是批量无关推理? A:同一个 prompt,不管单独推理还是混入大批次,生成结果完全一致,保障可复现性。
  8. Q:DSpark 投机解码和普通投机解码差别在哪? A:采用置信度动态调度校验,不是固定策略,更适配 Agent 复杂推理场景。
  9. Q:拿到开源代码就能直接上线对外服务吗? A:不能,缺少 KV 缓存集群、Prefill/Decode 分离网关、分布式负载均衡等线上服务组件。
  10. Q:这个项目的协议和商用权限? A:Apache 2.0 许可证,允许商用、二次修改。
附录  DeepSeek DeepInfer 完整解读

DeepInfer 是 DeepSeek 内部生产级推理引擎,现已开源(Apache 2.0),支撑 DeepSeek 线上大规模服务;本次开源版本放出离线推理核心能力,面向 DeepSeek-V4.1-Flash,原生支持 NVIDIA SM100、华为昇腾 950,是面向 MoE 大模型、长上下文 Agent 流量优化的专用推理栈。

一句话定位:基于 vLLM 二次深度改造,叠加 DeepSeek 自研 MoE 并行、缓存、投机解码、调度能力的生产推理框架。

一、仓库目录结构释义

csrc/                # C/C++ 核心算子、底层 runtime、硬件绑定内核
deep_cluster/        # 集群分布式、并行通信、MoE EP/EPLB 负载均衡相关
deepinfer/           # Python 主引擎:模型 runtime、采样器、调度器、缓存管理
doc/                 # 文档、性能图(prefill / decode pareto 曲线图)
eval/                # 评测脚本、基准评测套件
examples/            # 示例,重点是 offline_inference.py、sweep 压测脚本
scripts/             # 构建、环境、启动脚本
tests/               # 单元测试
vendor/              # 依赖子模块(DeepEP、TileLang 等自研算子库)

根目录文件要点:

  • build.sh
    一键编译入口,通过环境变量 DEEPINFER_ACCELERATOR切换 nvidia / ascend
  • pyproject.toml / setup.py
    Python 包安装
  • requirements-*.txt
    分硬件依赖(nvidia /ascend/dev)
  • .gitmodules
    拉取 vendor 里 DeepSeek 自研算子子模块(DeepEP、TileKernels)

二、能力清单(官方 Feature)

  1. Optimized kernels, model and sampler runtime
    定制融合算子、模型执行 runtime、确定性采样器;支持 deterministic sampling(确定性采样)、structured outputs(结构化输出,JSON / 正则约束生成)
  2. 并行策略(专为 MoE 设计)
    • Attention DP:注意力数据并行
    • balanced CP:均衡上下文并行(长上下文切分)
    • MoE EP + EPLB:专家并行 + 专家负载均衡(EPLB,解决 MoE 专家负载倾斜,DeepEP 通信库底层支撑)GitHub
  3. DSpark + confidence-scheduled verification
    DeepSeek 自研投机解码:带置信度调度校验的推测解码,不是固定 n-gram / 小模型草稿,根据置信度动态控制校验开销,Agent 场景收益明显
  4. SWA bounded replay
    核心缓存优化:前缀缓存复用,当上下文前缀命中时,跳过重复 prefill 计算;Agent 多轮工具调用、固定 system prompt 场景命中率极高,大幅压低 TTFT
  5. Asynchronous scheduling(zero-overhead batch scheduler)
    零开销异步批调度,区别于传统 continuous batching;batch-invariant inference:推理行为不受批大小影响,保证确定性
  6. Batch-invariant inference
    同一 prompt,不管是单独跑还是混在大 batch 里跑,输出 token 序列完全一致;对生产复现、评测、Agent 稳定性非常关键

⚠️ 重要边界:开源包不包含完整线上服务组件(README 明确标注) 缺失模块:独立 KV Cache 集群系统、Prefill/Decode 分离部署(VE disaggregation)、跨 DP 副本负载均衡;这些是 DeepSeek 线上服务层,需要用户自己搭建。引擎内核已经支持 disagg 底层能力。

三、硬件 & 环境约束(硬性)

  • OS:Linux
  • GCC ≥13.0
  • Python:3.12(严格锁定)
  • NVIDIA:CUDA 13,SM100 GPU
  • Ascend:CANN 9.2,Ascend 950 NPU
  • 模型:当前仅原生支持 DeepSeek-V4.1-Flash(1017 checkpoint)

四、编译 & 运行流程

  1. 创建干净 Python3.12 虚拟环境
  2. 导出加速器环境变量,执行编译脚本
# NVIDIA
export DEEPINFER_ACCELERATOR=nvidia
./build.sh

# 昇腾
export DEEPINFER_ACCELERATOR=ascend
./build.sh
  1. 离线推理
# 自动从 HF 拉取模型到缓存
python examples/offline_inference.py

# 指定本地模型目录,避免重复下载
export DEEPINFER_HF_MODEL_DIR=/path/to/DeepSeek-V4.1-Flash-1017
python examples/offline_inference.py
  1. 复现性能基准:examples/sweep/run_sweep.sh

Benchmark 测试规模:

  • Prefill:4 张 SM100
  • Decode:64 张 SM100 产出两张帕累托图:吞吐 vs 延迟曲线

五、技术溯源 & 定位对比

Acknowledgments:基于 vLLM 开发,吸收 SGLang、TensorRT-LLM 思路

  • vLLM:底座,继承 PagedAttention、批调度思想,但重度改写调度、并行、MoE、缓存逻辑
  • SGLang:参考前缀缓存、结构化输出思路;DeepInfer 的 SWA Bounded Replay 是同类方向的自研实现
  • TensorRT-LLM:参考极致算子编译优化思路;但 DeepInfer 保留 Python 控制层,面向服务调度而不是纯静态编译

和通用推理引擎最大差异: ✅ MoE-first:EP+EPLB 是一等公民,原生适配 DeepSeek V4.1-Flash 稀疏专家模型 ✅ 面向 Agent 长会话流量:SWA 前缀复用 + DSpark 投机解码,是 Agent 场景优化组合 ✅ Batch invariant + deterministic sampling:优先保证可复现,很多开源引擎不保证 ✅ 双硬件原生同仓支持:NVIDIA + 昇腾❌ 模型支持窄:当前只主打 V4.1-Flash,不像 vLLM/SGLang 百花齐放支持上百模型 ❌ 只是引擎内核,不是开箱即用服务:缺分布式 KV cache、prefill/decode 分离网关层

六、License & Citation

Apache License 2.0,可商用;引用 BibTeX:

@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}},
}

七、思维导图

DeepInfer
├─ 定位:DeepSeek 生产推理引擎开源版|离线内核
├─ 底座:vLLM,参考 SGLang / TensorRT-LLM
├─ 模型:DeepSeek-V4.1-Flash
├─ 硬件:SM100 / Ascend950
├─ 核心技术
│  ├─ 并行:DP / CP / MoE EP+EPLB
│  ├─ 缓存:SWA bounded replay(前缀复用)
│  ├─ 解码:DSpark 置信度投机验证
│  └─ 调度:零开销异步批调度、batch-invariant、确定性采样
├─ 能力:结构化输出
├─ 缺失(开源版不含)
│  ├─ KV cache 集群系统
│  ├─ Prefill/Decode 分离服务网关
│  └─ 跨副本负载均衡
├─ 构建:build.sh + DEEPINFER_ACCELERATOR
└─ License:Apache 2.0

八、Q&A 快速清单

Q1:DeepInfer 可以直接拿来做线上 OpenAI 兼容服务吗? A1:不行。开源包只给离线引擎;线上 disagg 服务层、KV cache 集群、负载均衡需要自己补齐。

Q2:SWA bounded replay 和 SGLang RadixAttention 区别? A2:目标类似(前缀缓存复用),实现独立;SWA 是 DeepSeek 为 V4.1-Flash MLA 架构定制的 bounded replay 方案。

Q3:EPLB 解决什么? A3:MoE 推理专家负载不均衡,token 分配不均导致部分卡跑满、部分卡空闲,EPLB 做专家负载调度。

Q4:batch-invariant inference 价值? A4:同一 prompt,无论 batch size 多大,输出完全一致;评测、Agent 调试、故障复现非常重要。

Q5:能不能跑其他模型(如 Llama、Qwen)? A5:当前版本官方只支持 DeepSeek-V4.1-Flash,没有通用模型适配层。




【声明】内容源于网络
0
0
苏哲管理咨询
为企业及组织提供AI+战略、数智化转型咨询及观点、建议等
内容 2381
粉丝 0
苏哲管理咨询 为企业及组织提供AI+战略、数智化转型咨询及观点、建议等
总阅读68.1k
粉丝0
内容2.4k