DeepSeek · 开源推理框架

DeepInfer:架构、安装与离线推理指南

DeepInfer 是执行模型权重的推理框架。先确认硬件支持,再了解开源引擎范围,最后按官方文档完成 Linux 构建和离线示例。

本站为独立文档指南,未安装 DeepInfer 或复现 GPU 基准。本页不托管推理、不执行命令,也不下载模型权重。

资料核验日期:

安装前先确认支持范围

当前 README 列出的平台和模型系列如下。该列表不能证明支持旧版 DeepSeek 模型、其他加速器或原生 Windows、macOS。

文档列出的前提 · 不代表单张设备即可容纳模型
要求NVIDIA 路径Ascend 路径
支持的模型系列DeepSeek-V4.1-FlashDeepSeek-V4.1-Flash
加速器NVIDIA SM100Huawei Ascend 950
操作系统LinuxLinux
Python 环境Python 3.12Python 3.12
编译器GCC ≥ 13.0GCC ≥ 13.0
平台工具链CUDA 13CANN 9.2

设备受支持与显存足够是两项不同检查。请确认配置所需的设备数量、内存、互联及权重要求。仅有消费级显卡和 Python 环境,并不等于满足这些前提。

离线引擎如何协作?

下方流程描述一次离线运行,不代表完整的生产 HTTP 服务或集群拓扑。

  1. 01

    离线请求

    提示词与生成参数

  2. 02

    调度

    组织批次与执行工作

  3. 03

    模型执行

    先处理上下文,再逐步解码

  4. 04

    采样

    按配置规则选择 tokens

  5. 05

    输出

    生成序列与诊断信息

优化内核

内核是设备侧的计算程序。DeepInfer 将专用内核库与执行运行时结合;当前库列表和平台支持情况请参阅官方 README。

Attention DP/CP、MoE EP/EPLB

DP 是数据并行,CP 是上下文并行;MoE 是混合专家,EP 分布专家计算,EPLB 平衡专家负载。这些是引擎并行策略,并非现成的服务负载均衡器。

推测解码与 SWA 重放

可先提出草稿 tokens,再统一验证;DSpark 利用置信度安排验证。SWA 指滑动窗口注意力,有界重放通过保留合适后缀减少重复 prefill 工作。高级设置取决于模型配置。

调度、采样与结构化输出

异步调度将 CPU 调度与设备执行重叠。结构化输出可约束 JSON schema、正则或 EBNF 文法等格式。批次不变执行与确定性采样另有配置要求。

README 当前将批次不变推理与确定性采样标注为仅支持 NVIDIA。确定性采样还需要文档要求的设置及固定序列种子。本教程不默认加入高级优化开关。

开源引擎与完整在线服务的边界

应区分开源发布范围与部署 Q&A 对 DeepSeek 生产系统的描述。后者介绍的生产组件,并非全部随仓库发布。

已有能力与仍需补齐的集成工作
领域已发布的引擎能力完整在线服务仍需考虑
执行离线生成、模型执行、调度与采样。请求接入、服务生命周期与运维集成;不要将离线示例视为 HTTP 服务器。
缓存引擎侧 KV 使用及有界重放等能力。发布范围之外的完整 KV 缓存系统,包括与基础设施耦合的管理层。
并行与负载均衡MoE 专家并行与专家并行负载均衡(EPLB)。跨 prefill、decode 数据并行副本的负载均衡。
阶段分离所需的许多引擎功能已实现。视觉编码、prefill 和 decode 分离后的部署与编排。

DeepSeek Recipe 是单独的协议转换与 token 编解码库。它的存在不代表离线 DeepInfer 发布版已经附带可直接用于生产的 API 服务器。

在 Linux 上从源码构建

使用满足上述前提的机器。以下命令仅为文档示例。请选择一种加速器平台,并为该平台的构建使用独立、空的 Python 环境。

1. 克隆仓库并激活 Python 3.12 环境

git clone https://github.com/deepseek-ai/DeepInfer.git
cd DeepInfer
python3.12 -m venv .venv
source .venv/bin/activate

请保持位于 DeepInfer 仓库根目录,并激活虚拟环境。执行前阅读当前构建脚本,记录源码和模型版本,并为依赖和权重预留足够磁盘与内存。

主线假定已准备 SM100 硬件与 CUDA 13。运行 DeepInfer 时,应在同一环境持续导出 DEEPINFER_ACCELERATOR。构建脚本会安装依赖并编译随附组件。

2. NVIDIA/Linux 构建

export DEEPINFER_ACCELERATOR=nvidia
./build.sh

Ascend 950 与 CANN 9.2 应使用匹配的独立环境,并选择 ascend,替代 NVIDIA 构建。不要混用两套工具链,也不要直接套用 CUDA 专属步骤。

替代路径:Ascend/Linux 构建

export DEEPINFER_ACCELERATOR=ascend
./build.sh

运行离线推理示例

默认检查点:deepseek-ai/DeepSeek-V4.1-Flash-1017。首次运行可能将权重下载到 Hugging Face 缓存。这是大模型推理运行,不是轻量 CPU 冒烟测试。

示例显式选择八张 NVIDIA 设备并使用 --ep 8,假定这些设备真实存在且资源足够。这不是单卡通用命令。Ascend 用户应遵循官方平台示例,配置相应设备可见性。

NVIDIA 示例 · 八张匹配的可见设备

export DEEPINFER_ACCELERATOR=nvidia
export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
python examples/offline_inference.py --ep 8

使用已有本地检查点

export DEEPINFER_HF_MODEL_DIR=/path/to/DeepSeek-V4.1-Flash-1017
python examples/offline_inference.py --ep 8

本地检查点替代命令应在同一个已配置的 NVIDIA 终端运行。将 /path/to/DeepSeek-V4.1-Flash-1017 替换为真实、兼容的 Hugging Face 检查点目录,包含 config.json 和权重文件。环境变量修改默认模型路径,不覆盖显式提供的 --model_name。

如何阅读性能结果?

官方 README 的 prefill 图使用 4 张 SM100,decode 图使用 64 张,分别位于同一个 scale-up 域。这是图表的测试配置,不是通用最低要求,也不是本站实测。

阶段、指标与解读方式
指标单位/范围如何解读
Prefill 吞吐tokens/s/GPU输入 token 的处理速率。需结合输入长度、缓存覆盖与批大小解读,不代表完整请求延迟。
Decode avg_SPSsteps/s稳态解码每秒步数。开启推测解码时,一步不一定等于一个最终接受的输出 token。
Decode 吞吐计数完全接受假设口径示例采用草稿完全接受的假设计数。解释为实际交付的输出 tokens/s 前,应核对草稿长度和真实接受率。
单用户速度与延迟按请求/工作负载总吞吐高不保证每个请求都回复更快。应在相同硬件、并发、上下文与测量边界下比较。

复现曲线时请记录源码版本、硬件、设备数、并行策略、批设置、缓存前缀、草稿长度及接受率假设。性能分析器会干扰执行,不能直接从 profiler 轨迹时间推导稳态性能。这些图表也不代表通用加速倍数或 API 售价。

高级选项不等于安装默认配置

DSpark、基于置信度的验证、SWA 有界重放及可复现采样,各自存在模型与平台条件。先从官方示例开始,再核对 README 和示例配置,之后才调整优化开关或解释结果差异。

常见问题排查

硬件不受支持
编译前按当前 README 核对加速器架构。Python 安装成功并不能证明内核兼容。
构建或编译器报错
确认 Linux、GCC、Python 及匹配的 CUDA/CANN 版本。保持环境隔离,检查首次失败的构建步骤,不要随意混装工具链版本。
平台变量缺失
在激活的环境中将 DEEPINFER_ACCELERATOR 导出为 nvidia 或 ascend,并保留至后续执行。平台必须与硬件和库匹配。
无法定位检查点
使用有效模型 ID,或包含 config.json 与权重的兼容目录。先检查权限及显式 --model_name 参数,再判断环境变量是否生效。
设备数量不匹配或内存不足
核对可见设备、并行配置与模型内存需求。减少设备数不一定有效,应选择与现有硬件相适应且有文档支持的配置。

常见问题

官方资料与模型背景

执行前请核对最新支持范围与命令。仓库可能在下方核验日期之后更新。链接的站内模型文章用于补充背景,不额外保证硬件兼容性。