GitHub 热门项目推荐:DeepInfer(Python|23401 Star)

这个项目有什么用

DeepInfer 是 DeepSeek 官方开源的高性能推理框架,支撑其大规模生产服务,本次开源版本聚焦离线推理,提供规模化部署所需的核心能力。它面向需要在自有 GPU/NPU 集群上运行 DeepSeek 模型的团队,把内核优化、并行策略、调度与采样控制等原本分散的手工调优工作收拢到一套框架里。

典型使用场景

  • 在 NVIDIA SM100 或华为昇腾 950 硬件上批量跑 DeepSeek-V4.1-Flash 的离线推理任务。
  • 需要对同一批输入做可复现的评测,借助 batch-invariant 推理和确定性采样保证结果一致。
  • 需要结构化输出(正则、JSON schema、EBNF 语法约束)的下游任务。
  • 研究或复现官方性能基准(prefill 与 decode 分离测量)的工程团队。

适合有一定集群运维与编译环境经验的团队;只想在单卡上快速试玩模型的个人用户,用官方在线服务或更轻量的方案会更省事。

核心特性

  • 优化内核集合:集成 FlashMLA、DeepGEMM、DeepEP、TileKernels、DeepSelect 以及自定义 TileLang kernels,覆盖模型与采样器运行时。
  • 并行策略:支持 Attention DP / balanced CP,以及 MoE EP + EPLB,用于跨卡扩展。
  • DSpark 与置信度调度验证:用 draft token 加速解码,并按置信度估计安排验证;由 DEEPINFER_ENABLE_MTP_VARLEN=1 开启,DEEPINFER_USE_NEXTN_DECODE 控制最大 draft 长度(默认 5)。
  • Decoder SWA 有界重放:只重放有限后缀以减少 decoder prefill 计算,保留的后缀需覆盖 SWA 窗口加上最大回溯长度。
  • 异步调度:让 CPU 批次调度与设备执行重叠,默认开启。
  • 结果一致性控制:batch-invariant 推理(DEEPINFER_BATCH_INVARIANT=1,仅 NVIDIA)与确定性采样,后者需固定 seq_seed 并关闭 MTP varlen。

怎么安装

前提条件:Linux 系统、GCC >= 13.0、Python 3.12、CUDA 13(仅 NVIDIA)、CANN 9.2(仅 Ascend)。README 说明需先创建一个空的 Python 3.12 环境并激活,然后从源码构建。

  1. 创建并激活空的 Python 3.12 环境。
  2. 导出加速器类型(Ascend 平台改为 ascend),并保持在运行 DeepInfer 的环境中:
    # Use `ascend` instead for the Ascend platform
    # Keep it exported in the environment where you run DeepInfer
    export DEEPINFER_ACCELERATOR=nvidia
  3. 执行构建脚本:
    ./build.sh

README 未提供 pip 安装方式,也未说明构建耗时或额外系统依赖,官方文档未说明的部分请以仓库为准。

怎么使用

最基础的用法是跑官方离线推理示例。默认 checkpoint deepseek-ai/DeepSeek-V4.1-Flash-1017 会在首次运行时下载到 Hugging Face 缓存;若想用本地副本,设置 DEEPINFER_HF_MODEL_DIR 指向本地目录。

python examples/offline_inference.py

进阶用法一:开启 decoder SWA 有界重放,V4.1 的默认设置为:

DEEPINFER_YOCO_PREFILL_TRUNCATION_MODE=compact
DEEPINFER_YOCO_PREFILL_KEEP_TOKENS=140

进阶用法二:结构化输出。向 SamplingParams 传入 so_args={"schema_type": ..., "schema": ...},即可把生成约束在正则、JSON schema 或 EBNF 语法上,具体示例见仓库的 examples/_structured_output.py。

确定性采样则需同时设置 DEEPINFER_BATCH_INVARIANT=1 与 DEEPINFER_ENABLE_MTP_VARLEN=0,并给 SamplingParams 传入固定的 seq_seed(仅 NVIDIA)。

适用场景与注意事项

适合:已有 SM100 GPU 或昇腾 950 NPU 集群、需要离线批量推理 DeepSeek-V4.1-Flash 的团队;需要可复现结果、结构化输出或跨卡并行的生产与研究场景。

需要注意:

  • 本次开源版本只提供离线推理。README 明确列出完整推理服务还需要的组件不包含在本版本中,包括 KV cache 系统与 VE/Prefill/Decode 相关部分(原文此处截断)。
  • 当前支持的模型仅为 DeepSeek-V4.1-Flash,硬件仅限 NVIDIA SM100 与华为昇腾 950。
  • batch-invariant 推理与确定性采样均标注为仅 NVIDIA 可用。
  • 首次运行会联网下载模型权重,离线环境需提前准备本地目录并设置 DEEPINFER_HF_MODEL_DIR。
  • 项目采用 Apache-2.0 协议,商用前请自行核对协议条款。

项目地址

仓库地址:https://github.com/deepseek-ai/DeepInfer
作者/组织:deepseek-ai

DeepInfer 把 DeepSeek 生产环境中的推理优化能力以 Apache-2.0 协议开放出来,但当前范围限定在离线推理与单一模型、特定硬件,采用前建议先对照自身硬件与模型版本确认匹配度。

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享