Skip to content

认识 DeepInfer ​

先说个让人心里不太平衡的对比。

同一天,一家美国闭源模型厂商在涨价、抬门槛;DeepSeek 在 2026 年 10 月 20 日宣布,把自己内部真正在线上跑的推理框架整个开源了。

这不是又一个模型权重。模型权重现在各家都在发,发权重是"把菜谱给你"。推理框架不一样——它是那口锅、那套灶、那个后厨动线。彭博社在报道里直言,这种能让模型在省算力的同时跑得更高效的技术,通常是 AI 企业严格保密的东西。

DeepSeek 把保密清单上最靠前的那一项,划掉了。

一句话:模型决定 AI 有多聪明,推理框架决定这份聪明卖多少钱。DeepSeek 把定价权的一部分,交了出去。

什么是 DeepInfer ​

DeepInfer 是 DeepSeek 线上大规模服务实际使用的高性能推理框架,Apache 2.0 协议开源,仓库在 github.com/deepseek-ai/DeepInfer。

它最初主要基于 vLLM 构建,同时借鉴了 SGLang 与 TensorRT-LLM——官方在致谢里写得很坦荡。但几年下来,它已经被改造成一套只服务 DeepSeek 自家模型的、深度定制的生产系统。

这次开源的是**离线推理(offline inference)**部分,包含大规模 serving 所需的核心能力。目前支持的模型只有一个:DeepSeek-V4.1-Flash(默认 checkpoint 为 deepseek-ai/DeepSeek-V4.1-Flash-1017)。

同步开源的还有 deepseek-recipe——一个生产级的 Token 编解码组件,负责在主流 LLM API 协议和模型 token 序列之间做高效、准确的转换,处理逻辑与 DeepSeek 官方 API 完全对齐。这条很关键:第三方部署从此能拿到和官方一模一样的 API 行为,不用再靠猜。

几个时间坐标,方便你判断它有多新:

  • 2026-10-16 仓库创建
  • 2026-10-20 首个 initial commit 落地,同日官宣全面开源,Star 很快冲到 2 万级
  • 2026-10-21 仍在持续合入(DeepEP 依赖升级等)

DeepInfer 的特点 ​

  • 高性能算子全家桶:FlashMLA、DeepGEMM、DeepEP、TileKernels、DeepSelect,以及自研的 TileLang kernels
  • 并行策略拉满:Attention DP / balanced CP,MoE 侧 EP + EPLB(专家并行负载均衡)
  • DSpark + 置信度调度验证:用草稿 token 加速解码,并按置信度估计来安排验证时机。开 DEEPINFER_ENABLE_MTP_VARLEN=1,DEEPINFER_USE_NEXTN_DECODE 控制最大草稿长度(默认 5)
  • SWA Bounded Replay:只重放一个有界后缀,砍掉解码侧大量重复的 prefill 计算。V4.1 默认配置是 DEEPINFER_YOCO_PREFILL_TRUNCATION_MODE=compact + DEEPINFER_YOCO_PREFILL_KEEP_TOKENS=140
  • 异步调度:CPU 的批处理调度与设备执行重叠,官方称为"零开销 batch scheduler",默认开启
  • 批不变推理(Batch-invariant inference):不管这一批怎么凑,模型结果保持一致。开 DEEPINFER_BATCH_INVARIANT=1(仅 NVIDIA)
  • 确定性采样:相同的输入 token 与采样参数,产出逐字相同的结果。配 DEEPINFER_BATCH_INVARIANT=1 + DEEPINFER_ENABLE_MTP_VARLEN=0,并在 SamplingParams 里传固定的 seq_seed
  • 结构化输出:把生成约束在正则、JSON Schema 或 EBNF 文法内。给 SamplingParams 传 so_args={"schema_type": ..., "schema": ...}
  • 双平台原生支持:NVIDIA SM100 GPU 与 华为昇腾 950 NPU——不是"移植过去能跑",是同一套代码两条硬件路径
  • Apache 2.0 协议,商用无顾虑

这次没开源的,也得说清楚 ​

DeepSeek 在 README 里列了一份"完整推理服务还需要、但本次不包含"的清单,态度相当实在:

  • KV cache 系统
  • VE / Prefill-Decode 分离(大部分引擎功能其实已经实现)
  • 跨数据并行副本的负载均衡(prefill 与 decode 两侧)

换句话说,你拿到的是一台拆开了的发动机,不是一辆能直接上路的车。想复刻 DeepSeek 官方那种线上服务,KV 缓存和 PD 分离还得自己补。

谁真的需要它,以及那组吓人的数字 ​

先讲 DeepSeek 自己。官方披露:基于 DeepInfer,单一集群的服务吞吐是 155 万亿 Tokens/天。配合今年 6 月启动的峰谷定价,单卡每小时收入 38 美元(按谷价约合人民币 253.8 元)。

按这个口径粗算,一张卡 24 小时满负荷跑,日收入约 6090 元人民币,一个月就是 18 万出头。这组数字被媒体反复咀嚼,因为它第一次把"推理优化值多少钱"换算成了每小时、每一张卡的现金流。

再看谁能用上。技术博主宝玉说得直白:这玩意儿个人电脑跑不动——它要跑在 NVIDIA Blackwell 一代的数据中心卡(SM100)或华为昇腾 950 上,官方测性能用了 4 到 64 张这样的卡,而且模型只支持 V4.1-Flash 一个。

所以真正的受益者是两类人:

  • 云厂商和模型托管商:以前自己部署 DeepSeek,成本结构是黑盒;现在可以直接用原生框架,性能与成本逼近官方,Load 调度合理时甚至可能更低
  • 要做私有化部署的企业:拿到官方同款调度与算子优化,本地推理成本有明确的下降空间

至于昇腾这条线,据报道 DeepSeek 计划在内蒙古的新数据中心部署至少 16 万张昇腾 950DT 芯片——这条我按下不表,属于"据报道",你当参考就好,别当承诺。

我的个人看法:DeepSeek 这次开源的真正杀伤力不在代码,在于它把行业基准线抬到了明面上。以前每家云厂商都说自己"优化过 DeepSeek",谁也验证不了;现在有了官方原生的对照组,谁在裸泳,跑个 benchmark 就知道了。

DeepInfer 初体验 ​

先泼一盆冷水:如果你手上是台游戏本或者一张 4090,这一节你跑不起来,看看就好。它是给数据中心卡写的。

环境要求(官方 README):

  • Linux
  • GCC ≥ 13.0
  • Python 3.12
  • CUDA 13(NVIDIA 平台)/ CANN 9.2(昇腾平台)
  1. 拉代码并编译
bash
git clone --recursive https://github.com/deepseek-ai/DeepInfer.git
cd DeepInfer

# 昇腾平台改成 export DEEPINFER_ACCELERATOR=ascend
# 这个变量在运行 DeepInfer 的环境里也要一直保持导出
export DEEPINFER_ACCELERATOR=nvidia

./build.sh
  1. 跑一遍离线推理
bash
python examples/offline_inference.py

默认 checkpoint deepseek-ai/DeepSeek-V4.1-Flash-1017 会在首次运行时下载到 Hugging Face 缓存目录。想用本地副本,设 DEEPINFER_HF_MODEL_DIR=/path/to/DeepSeek-V4.1-Flash-1017 就行。

  1. 打开那几个"隐藏开关"
bash
export DEEPINFER_ENABLE_MTP_VARLEN=1            # 开 DSpark 推测解码
export DEEPINFER_USE_NEXTN_DECODE=5             # 最大草稿长度,默认 5
export DEEPINFER_YOCO_PREFILL_TRUNCATION_MODE=compact
export DEEPINFER_YOCO_PREFILL_KEEP_TOKENS=140  # 保留后缀要覆盖 SWA 窗口 + 最大回溯长度
export DEEPINFER_BATCH_INVARIANT=1              # 批不变推理,仅 NVIDIA

注意 DEEPINFER_YOCO_PREFILL_KEEP_TOKENS 那条注释:保留的后缀必须覆盖 SWA 窗口再加上最大回溯长度,不是随便填个数字。这类参数写错了不报错,只是静默变慢或者结果不对——真正难调的地方往往在这里。

  1. 结构化输出(API 与 vLLM 高度相似,实际签名请以 examples/ 下脚本为准)
python
from deepinfer import LLM, SamplingParams

llm = LLM(model="deepseek-ai/DeepSeek-V4.1-Flash-1017")

sp = SamplingParams(
    max_tokens=512,
    so_args={
        "schema_type": "json_schema",
        "schema": '{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}',
    },
)

print(llm.generate(["给我推荐一本入门书,用 JSON 返回。"], sp)[0].text)

上手建议:别急着调参。先把 examples/ 里的 run_sweep.sh 跑一遍,对照官方给的 prefill / decode Pareto 曲线,确认你的硬件落在曲线的哪个位置,再去动那几个环境变量。没有基线就调参,是最常见的自欺欺人。

进阶 ​

我特别喜欢 DeepSeek 这次在公告里写的那句:"大模型的能力边界由模型本身划定,但如何以合理成本提供超大规模的模型服务,还取决于一个长期未被公众了解的中间层——即推理框架。"

这两年所有人都在盯着模型榜单,却很少有人问:让这个模型回答你一句话,要烧掉多少电。DeepInfer 开源的意义,是把这道被藏起来的成本题搬到了台面上——155 万亿 Token/天不只是个炫技数字,它是一份公开的答卷,逼着整个行业把"每卡每小时能挣多少"算清楚。

更多开源技术干货和学习资料,关注公众号「遇码」,领取专属福利。

遇码MeetCoding 开源技术社区