优化内核
内核是设备侧的计算程序。DeepInfer 将专用内核库与执行运行时结合;当前库列表和平台支持情况请参阅官方 README。
DeepSeek · 开源推理框架
DeepInfer 是执行模型权重的推理框架。先确认硬件支持,再了解开源引擎范围,最后按官方文档完成 Linux 构建和离线示例。
当前 README 列出的平台和模型系列如下。该列表不能证明支持旧版 DeepSeek 模型、其他加速器或原生 Windows、macOS。
| 要求 | NVIDIA 路径 | Ascend 路径 |
|---|---|---|
| 支持的模型系列 | DeepSeek-V4.1-Flash | DeepSeek-V4.1-Flash |
| 加速器 | NVIDIA SM100 | Huawei Ascend 950 |
| 操作系统 | Linux | Linux |
| Python 环境 | Python 3.12 | Python 3.12 |
| 编译器 | GCC ≥ 13.0 | GCC ≥ 13.0 |
| 平台工具链 | CUDA 13 | CANN 9.2 |
设备受支持与显存足够是两项不同检查。请确认配置所需的设备数量、内存、互联及权重要求。仅有消费级显卡和 Python 环境,并不等于满足这些前提。
下方流程描述一次离线运行,不代表完整的生产 HTTP 服务或集群拓扑。
提示词与生成参数
组织批次与执行工作
先处理上下文,再逐步解码
按配置规则选择 tokens
生成序列与诊断信息
内核是设备侧的计算程序。DeepInfer 将专用内核库与执行运行时结合;当前库列表和平台支持情况请参阅官方 README。
DP 是数据并行,CP 是上下文并行;MoE 是混合专家,EP 分布专家计算,EPLB 平衡专家负载。这些是引擎并行策略,并非现成的服务负载均衡器。
可先提出草稿 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 服务器。
使用满足上述前提的机器。以下命令仅为文档示例。请选择一种加速器平台,并为该平台的构建使用独立、空的 Python 环境。
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。构建脚本会安装依赖并编译随附组件。
export DEEPINFER_ACCELERATOR=nvidia ./build.sh
Ascend 950 与 CANN 9.2 应使用匹配的独立环境,并选择 ascend,替代 NVIDIA 构建。不要混用两套工具链,也不要直接套用 CUDA 专属步骤。
export DEEPINFER_ACCELERATOR=ascend ./build.sh
默认检查点:deepseek-ai/DeepSeek-V4.1-Flash-1017。首次运行可能将权重下载到 Hugging Face 缓存。这是大模型推理运行,不是轻量 CPU 冒烟测试。
示例显式选择八张 NVIDIA 设备并使用 --ep 8,假定这些设备真实存在且资源足够。这不是单卡通用命令。Ascend 用户应遵循官方平台示例,配置相应设备可见性。
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_SPS | steps/s | 稳态解码每秒步数。开启推测解码时,一步不一定等于一个最终接受的输出 token。 |
| Decode 吞吐计数 | 完全接受假设口径 | 示例采用草稿完全接受的假设计数。解释为实际交付的输出 tokens/s 前,应核对草稿长度和真实接受率。 |
| 单用户速度与延迟 | 按请求/工作负载 | 总吞吐高不保证每个请求都回复更快。应在相同硬件、并发、上下文与测量边界下比较。 |
复现曲线时请记录源码版本、硬件、设备数、并行策略、批设置、缓存前缀、草稿长度及接受率假设。性能分析器会干扰执行,不能直接从 profiler 轨迹时间推导稳态性能。这些图表也不代表通用加速倍数或 API 售价。
执行前请核对最新支持范围与命令。仓库可能在下方核验日期之后更新。链接的站内模型文章用于补充背景,不额外保证硬件兼容性。