跳到正文
原文
Hacker News· ggcr·· 3 小时前精选AI 评分75

DeepSeek 开源推理框架 DeepInfer

DeepSeek just open-sourced its inference engine

AI 导读

DeepSeek 开源了用于支撑其大规模生产服务的推理框架 DeepInfer,当前以离线推理形式发布,并支持 DeepSeek-V4.1-Flash 模型。

推荐理由

原文列出了推理引擎的内核选型、并行策略与硬件支持等具体配置,读者可据此搭建或对照自有的离线推理栈。

正文 · AI 翻译

DeepInfer 是驱动 DeepSeek 大规模生产服务的高性能推理框架。本次开源发布提供离线推理,并包含大规模服务所需的核心功能。

支持的模型:

  • DeepSeek-V4.1-Flash

支持的功能:

  • 优化的内核、模型与采样器运行时
  • 并行方式:Attention DP / 均衡 CP,MoE EP + EPLB
  • DSpark 和置信度调度验证
  • SWA 有界重放
  • 异步调度(零开销批调度器)
  • 批处理不变推理
  • 确定性采样
  • 结构化输出

功能详情与配置

  • 优化的内核: FlashMLA、DeepGEMM、DeepEP、TileKernels、DeepSelect 和自定义 TileLang kernels。
  • DSpark 和置信度调度验证: 使用草稿令牌加速解码,并利用置信度估计来调度验证。设置 DEEPINFER_ENABLE_MTP_VARLEN=1;DEEPINFER_USE_NEXTN_DECODE 控制最大草稿长度(默认值:5)。
  • 解码器 SWA 有界重放: 通过仅重放长度受限的后缀,减少解码器的预填充工作量。针对 V4.1 的默认设置,配置 DEEPINFER_YOCO_PREFILL_TRUNCATION_MODE=compact 和 DEEPINFER_YOCO_PREFILL_KEEP_TOKENS=140;保留的后缀必须覆盖 SWA 窗口以及最大回溯长度。
  • 异步调度: 将 CPU 批调度与设备执行重叠。默认启用。
  • 批处理不变推理: 使模型结果在不同批次组合下保持一致。使用 DEEPINFER_BATCH_INVARIANT=1 启用(仅限 NVIDIA)。
  • 确定性采样: 对相同的输入令牌和采样参数生成完全相同的输出。设置 DEEPINFER_BATCH_INVARIANT=1 DEEPINFER_ENABLE_MTP_VARLEN=0,并将固定的 seq_seed 传递给 SamplingParams(仅限 NVIDIA)。
  • 结构化输出: 将生成内容约束为符合正则表达式、JSON schema 或 EBNF 语法。向 SamplingParams 传入 so_args={"schema_type": ..., "schema": ...};参见 examples。

支持的硬件:

  • NVIDIA SM100 GPUs
  • Huawei Ascend 950 NPUs

完整推理服务所需(不包含在此版本中):

  • KV 缓存系统
  • VE/预填充/解码分离(所需引擎功能大多已实现)
  • 在数据并行副本之间对预填充和解码进行负载均衡

入门

前置条件

  • Linux
  • GCC >= 13.0
  • Python 3.12
  • CUDA 13(仅限 NVIDIA)
  • CANN 9.2(仅限 Ascend)

从源代码构建

构建 DeepInfer 前,请创建并激活一个空的 Python 3.12 环境。

# Use `ascend` instead for the Ascend platform
# Keep it exported in the environment where you run DeepInfer
export DEEPINFER_ACCELERATOR=nvidia
./build.sh

离线推理

默认检查点 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: non-cached input throughput vs. latency Decode: output throughput vs. per-user speed

预填充在 4 个 SM100 GPU 上测量,解码在 64 个 GPU 上测量——每项均在单个纵向扩展域内。要复现这些基准测试,请参见 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}},
}

来源:Hacker News · github.com