DeepInfer 开源笔记:生产级推理引擎到底开了什么、没开什么

举报
CAK 发表于 2026/10/21 19:20:54 2026/10/21
【摘要】 2026-10-20,DeepSeek 把服务自家模型的推理框架 DeepInfer 以 Apache-2.0 开源。权重开源已经很常见,真正影响单 token 成本和尾延迟的,往往是调度、并行切分和算子栈。对在华为云上做大模型推理、AI Agent 或私有化部署的工程师来说,这次更值得读 README,而不是只看标题。

2026-10-20,DeepSeek 把服务自家模型的推理框架 DeepInfer 以 Apache-2.0 开源。权重开源已经很常见,真正影响单 token 成本和尾延迟的,往往是调度、并行切分和算子栈。对在华为云上做大模型推理、AI Agent 或私有化部署的工程师来说,这次更值得读 README,而不是只看标题。

它解决什么问题

开权重不等于好跑。同一套 DeepSeek-V4.1-Flash,用通用引擎和用厂商自己的 serving 栈,吞吐与算力账单可以差一截。DeepInfer 公开的是 DeepSeek 线上用的那套「怎么把请求拆到多卡、怎么加速 decode、怎么保证输出形态」的核心能力,目标模型目前是 DeepSeek-V4.1-Flash(默认 checkpoint 为 DeepSeek-V4.1-Flash-1017)。

硬件侧:官方并列支持 NVIDIA SM100 与 华为昇腾 Ascend 950 NPU。昇腾路径依赖 CANN 9.2,构建时设置 DEEPINFER_ACCELERATOR=ascend。这对 Ascend 生态是一条可复现的参考实现,而不是口头兼容。

技术要点:机制 / 怎么用 / 注意点

1. 开的是引擎内核,不是完整在线服务

README 写得很直白:当前开源侧重 offline inference,以及「规模化 serving 所需的核心能力」。完整在线服务还缺三块,需要自行补齐:

  • KV cache 管理系统
  • Prefill / Decode(以及文档提到的 VE)拆分与协同
  • 跨 DP 副本的负载均衡

换句话说:算子、并行与采样调度大体齐了;缓存、PD 分离编排、LB 仍要接现有平台或自研。评估成本时,别把「开源引擎」直接等同于「可替换公有 API 的一键集群」。

2. 并行与算子:冲的是 MoE + 长链路吞吐

公开能力里,和工程落地最相关的包括:

  • 并行:Attention DP / balanced CP,MoE Expert Parallel(EP)+ EPLB
  • 算子与通信:FlashMLA、DeepGEMM、DeepEP,以及 TileKernels / DeepSelect 等
  • 投机解码(DSpark)+ 置信度调度校验:用 draft token 加速 decode,并用置信度决定何时校验;相关环境变量如 DEEPINFER_ENABLE_MTP_VARLEN、DEEPINFER_USE_NEXTN_DECODE(默认最大 draft 长度 5)
  • 异步调度:CPU 组 batch 与设备执行重叠,默认开启
  • Structured outputs:按 regex / JSON Schema / EBNF 约束输出,适合 Agent 工具调用与结构化接口

若你在华为云上已经用 MindIE、vLLM 或自研网关,DeepInfer 更适合当作「MoE 推理与投机解码怎么切」的对照实现,而不是立刻推倒重来。

3. 上手路径(离线验证)

环境要求:Linux、GCC ≥ 13、Python 3.12;NVIDIA 需 CUDA 13,昇腾需 CANN 9.2。空环境激活后:

export DEEPINFER_ACCELERATOR=ascend   # NVIDIA 则写 nvidia
./build.sh
python examples/offline_inference.py

首次运行会拉 deepseek-ai/DeepSeek-V4.1-Flash-1017;本地权重可设 DEEPINFER_HF_MODEL_DIR。配套还有 deepseek-recipe(协议/分词侧),用于更接近官方 API 的请求与响应形态。

4. 必须先知道的限制

  • 功能不对等:batch-invariant inference、deterministic sampling 目前标明仅 NVIDIA;公开性能表也是在 4 卡 SM100 prefill + 64 卡 decode 上测的,不能直接当 Ascend 数字用。
  • 架构门槛:SM100 / Ascend 950,不是「任意 GPU/NPU 都能编译过」。
  • 谱系:项目致谢写明早期主要基于 vLLM,并参考 SGLang、TensorRT-LLM;社区后续很可能把思路回馈到通用引擎,而不是只存在于 DeepInfer 一条线。
  • 合规与供应链:引擎是 Apache-2.0,权重与 recipe 另有许可证;商用前按依赖树和模型卡审计,别只看主仓 LICENSE。

对华为云场景的一点落地思考

若你在做 大模型私有化推理 或 Agent 高并发工具调用:优先用 DeepInfer 做 Ascend 950 上的离线吞吐与结构化输出基线,再决定是否把 KV / PD 分离接到现有集群(含 CodeArts 流水线里的压测与发布门禁)。价值在于:生产级 MoE 推理的「可抄作业」变多了,同时边界也写清楚了——缺的三块仍然要工程补齐。

小结

DeepInfer 的实质贡献,是把「开权重之后怎么便宜、稳、快地跑」这件事,从黑盒 API 推到了可审计的引擎代码,并且把昇腾与 NVIDIA 写在同一行支持列表里。适合今天就读的,是并行切分、投机解码与「引擎 ≠ 完整服务」这三件事;不适合的是:拿官方 SM100 数字直接承诺 Ascend SLA,或以为 clone 下来就能顶替整套在线 serving。

参考来源

  1. DeepSeek DeepInfer 仓库与 README:https://github.com/deepseek-ai/DeepInfer
  2. The New Stack 报道(范围、硬件并列、历史开源计划):https://thenewstack.io/deepseek-deepinfer-huawei-nvidia/
  3. DeepInfer 发布范围说明页:https://deepinfer.net/release/
  4. PyTorch 官方 TorchTPU 介绍(同日另一条「加速器原生 PyTorch」脉络,可对照阅读):https://pytorch.org/blog/introducing-torchtpu/
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。