如何在本地设备上运行 DeepSeek-V3.1

CometAPI
AnnaSep 1, 2025
如何在本地设备上运行 DeepSeek-V3.1

DeepSeek-V3.1 是 DeepSeek 于 2025 年 8 月发布的混合专家(MoE)聊天模型,支持两种推理模式——从同一个 checkpoint 提供快速的“非思考”模式和深思的“思考”模式。该模型已在 Hugging Face 上提供,并可通过多种路径在本地运行(vLLM、Ollama/llama.cpp、Ollama 风格 GGUF,或大型多 GPU 部署)。下面我将带你了解运行要求、思考模式的工作原理、若干本地运行选项(含可运行代码片段),以及一步步的“思考模式部署”配方,并附工具调用与 token 模板示例。

什么是 DeepSeek-V3.1,这为何重要?

DeepSeek-V3.1 属于 DeepSeek 的 v3 系列更新,引入了混合推理设计:通过更换聊天模板,同一模型即可在思考(审慎、多步)或非思考(直接回答、更快)模式下运行。在架构上,它是大型 MoE 家族(基础 checkpoint 总参数约 671B,每 token 激活约 ~37B),长上下文训练扩展至 128K tokens,并支持 FP8 微缩(micro-scaling)。DeepSeek 将 V3.1 定位为“面向代理就绪”的发布:更好的工具调用、改进的代理能力、与先前 R1 版本相比更高的思考效率。该版本于 2025 年 8 月宣布,并已集成到 Hugging Face、CFD/OSS 工具与云部署指南中。

混合模型如何工作(简要)

  • 一个 checkpoint,两套模板: 通过聊天模板和提示词中的 <think>/</think> token 约定来控制思考与非思考模式。模型卡记录了具体的前缀。
  • 代理/工具改进: 通过后训练增强实现更智能的工具调用——模型期望严格的工具调用 JSON 格式,以实现安全、可确定的工具执行。
  • 性能权衡: 思考模式会在内部“链式思考”上消耗更多 tokens,可能更慢、成本更高;非思考模式更快、更便宜。模型卡中的基准显示 V3.1 在推理与代码基准上有显著提升。

模型结构

  • MoE 主干: 总参数量巨大,但每个 token 仅激活较小子集(更经济的推理)。
  • 长上下文训练: V3.1 显著扩展了长上下文训练阶段(从 32k → 更大范围的长文档训练),部分类别支持 128K+ 窗口。
  • FP8 原生流程: DeepSeek 广泛使用 FP8 格式(w8a8 / UE8M0)以提升权重/激活效率;如偏好 BF16/FP16,社区存在转换脚本。

在本地运行 DeepSeek-V3.1 的要求是什么?(硬件、存储与软件)

运行完整的 V3.1 模型(未量化)是一项大工程。下面是现实可行的几类设置及其典型需求。

实用分类

  • 集群/研究实验室(完整模型): 多块高显存 GPU(H100/H800 级或多块 Ada/Hopper GPU)、多节点/数十块 GPU、大量 NVMe 存储(数百 GB),以及专用推理框架(SGLang、vLLM、LMDeploy、TRT-LLM)。
  • 单服务器高端(量化): 在重量化(INT4/AWQ/AWQ2/gguf)与 Ollama(预封装)或社区 GGUF 的帮助下可行——仍需约数十到数百 GB 的 GPU 显存,或巧妙的 CPU+GPU 卸载。
  • 开发者笔记本/开发机: 无法运行完整模型;使用小型蒸馏/微调变体,或连接至本地服务器/Ollama 实例。

硬件清单(实用)

  • GPU: 若要获得完整 V3.1 的真实推理吞吐,需要多 GPU 集群(H100/H800/Ada Lovelace+)。执行 FP8 需具备相应算力与驱动支持。
  • 内存与存储: 模型文件需数百 GB 可用磁盘空间(视格式/量化而定),另需转换格式的工作空间。Ollama 元数据显示 DeepSeek V3.1 的 Ollama 包约 400GB。
  • 网络: 多节点推理需要低时延互联(NVLink/InfiniBand)及张量并行编排工具。

软件清单

  • 操作系统: 推荐使用 Linux 以兼容社区推理工具(DeepSeek-Infer 演示列出 Linux/Python)。
  • Python: 3.10+(许多 DeepSeek 示例)。典型包版本在仓库 requirements.txt 中固定。
  • 框架与工具(二选一或多选):SGLang、vLLM、LMDeploy、TRT-LLM/TensorRT-LLM、LightLLM,或用于更简单本地安装的 Ollama。各自有说明与不同的精度/量化支持。

实用提示: 如果只有一块消费级 GPU(如 24–48 GB),你可能需要使用量化 GGUF 或远程推理;如果你拥有 >128 GB RAM 的工作站加上 H100/H200 级 GPU 集群,可以使用 vLLM 进行更高保真度的 FP8/FP16 推理。


如何在本地运行 DeepSeek-V3.1?

下面是几条可行的路径,从最手动/灵活到单开发者机器的最易用方案。我将提供分步教程与代码示例。


选项 A — 官方 DeepSeek-Infer 演示(开发/集群路径)

这是仓库的 FP8/BF16 推理示例/演示。如果你计划多节点或希望试验官方推理代码,请使用此路径。

  1. 克隆并准备环境
git clone https://github.com/deepseek-ai/DeepSeek-V3.git
cd DeepSeek-V3/inference
# Create a dedicated venv / conda env

python -m venv venv && source venv/bin/activate
pip install -r requirements.txt

(仓库 inference/requirements.txt 列出了团队推荐的固定 torch/triton/transformers 版本。)

  1. 下载模型权重
  • 从 Hugging Face 模型页面(deepseek-ai/DeepSeek-V3.1)下载,并置于 /path/to/DeepSeek-V3 下。模型卡与仓库均注明了官方 Hugging Face 存储链接。
  1. 为演示转换权重
# example conversion command shown in the repo

python convert.py --hf-ckpt-path /path/to/DeepSeek-V3 --save-path /path/to/DeepSeek-V3-Demo --n-experts 256 --model-parallel 16
  1. 运行交互式生成(分布式)
torchrun --nnodes 2 --nproc-per-node 8 --node-rank $RANK --master-addr $ADDR \
  generate.py --ckpt-path /path/to/DeepSeek-V3-Demo --config configs/config_671B.json \
  --interactive --temperature 0.7 --max-new-tokens 200

这是 DeepSeek 仓库中的规范示例,适用于集群式运行。


选项 B — vLLM(推荐用于服务器部署与 OpenAI 兼容 API)

vLLM 支持以 FP8/BF16 运行 DeepSeek,并提供 OpenAI 兼容的服务接口。由于内存优化与 API 兼容性,它是大型模型的常用生产路径。

启动一个 vLLM 服务器以从 Hugging Face 拉取模型(示例模式):

# this will download/serve the model (replace with exact model id if needed)

vllm serve deepseek-ai/DeepSeek-V3.1 --host 0.0.0.0 --port 8000

然后使用 curl 或 OpenAI 兼容客户端请求补全:

curl -s -X POST "http://localhost:8000/v1/completions" \
  -H "Content-Type: application/json" \
  -d '{"model":"DeepSeek-V3.1","prompt":"Explain the QuickSort algorithm", "max_tokens":200}'

vLLM 的配方与文档包含 DeepSeek 示例,以及关于 FP8 兼容性与多 GPU/流水线并行的说明。对于超大模型,你仍需多块 GPU 或量化变体。


选项 C — LMDeploy / SGLang / LightLLM & TensorRT-LLM(高性能)

DeepSeek 仓库明确推荐 SGLangLMDeployTensorRT-LLM 作为针对 DeepSeek V3 的优化引擎。它们提供更佳的推理时延、吞吐与 FP8 内核支持。

一个典型的 LMDeploy 启动(具体 CLI 以 LMDeploy 文档为准):

# pseudo-example; refer to LMDeploy docs for exact options

lmdeploy serve --model /path/to/deepseek_v3.1 --precision fp8 --port 8080

SGLang 的基准与启动配方在仓库以及 SGLang 项目的 benchmark/deepseek_v3 目录中可查。当你掌控 GPU 集群且追求生产级吞吐时,建议使用这些栈。


选项 D — Ollama(最易用的本地开发路径,常为单机)

如果你希望以最小摩擦在本地运行 DeepSeek(并且有足够磁盘空间),Ollama 提供了打包模型与简易 CLI(ollama pullollama run)。DeepSeek-V3.1 已出现在 Ollama 库中,可在本地运行(某些功能可能需要 Ollama 的近期/预发布版本)。

示例(Ollama CLI):

# Pull the model (downloads the model artifacts to your disk)

ollama pull deepseek-v3.1

# Start an interactive session:

ollama run deepseek-v3.1

# Or run as a local API server (Ollama supports a local API)

# Example: POSTing to Ollama's local API (adjust host/port to your setup)
curl -X POST http://localhost:11434/api/generate \
  -H 'Content-Type: application/json' \
  -d '{"model":"deepseek-v3.1","prompt":"Summarize the following paper: ..."}'

Ollama 抽象掉了许多分发/量化细节,是在单台主机上测试模型行为的好选择。注意:模型页面显示该 Ollama 条目打包体积约 ~404GB,请做好磁盘与内存规划。


什么是思考模式,如何使用

DeepSeek-V3.1 采用混合思考 token方法:通过切换聊天/提示模板,同一 checkpoint 可在思考模式(内部“链式思考”token)或非思考模式下运行。模型使用诸如 <think>(以及部分模板中的闭合 </think>)等显式 token 来标记内部链式思考与直接回答。模型卡记录了非思考与思考前缀,并展示了模板差异。

示例:在 Python 中构造消息(tokenizer 辅助)

Hugging Face 模型卡提供了一个便捷片段,演示如何通过 tokenizer 应用聊天模板。这是生成思考非思考格式化提示的推荐方式:

import transformers
tokenizer = transformers.AutoTokenizer.from_pretrained("deepseek-ai/DeepSeek-V3.1")

messages = [
    {"role": "system", "content": "You are a helpful assistant"},
    {"role": "user", "content": "Who are you?"},
    {"role": "assistant", "content": "<think>Hmm</think>I am DeepSeek"},
    {"role": "user", "content": "1+1=?"}
]

# Thinking mode

tokenizer.apply_chat_template(messages, tokenize=False, thinking=True, add_generation_prompt=True)

# Non-thinking mode

tokenizer.apply_chat_template(messages, tokenize=False, thinking=False, add_generation_prompt=True)

thinking=True 切换为使用 <think> 前缀的提示;thinking=False 则生成非思考模板。模型会根据该标志呈现不同行为(内部审慎推理 vs 直接响应)。


快速参考 — 小型故障排除与最佳实践

  • 若 GPU 显存不足: 尝试量化构建(AWQ/q4/INT4)或社区 GGUF;许多社区空间发布了本地使用的量化版本。Ollama/vLLM 也可服务更小的量化构建。
  • 若需要模型调用外部工具: 在聊天模板中严格采用 ToolCall 架构。请离线验证工具 JSON 格式,并检查你的编排代码(执行工具的组件)是否返回经过清理、类型正确的 JSON 给模型。
  • 若需要长上下文: 使用 vLLM 或 SGLang 的长上下文插件;DeepSeek 在训练中明确扩展了 32K/128K 上下文,相关工具支持该窗口。需权衡内存。

我能在笔记本或小型服务器上运行 DeepSeek-V3.1 吗?

简短回答:可以,但有前提。 社区量化(AWQ/GGUF/1-bit 动态)可大幅降低存储与内存占用,已使爱好者在高端台式机上运行 V3.1 变体(有约 ~170 GB 工作集的说法)。然而:

  • 保真度与体积权衡: 激进量化可降低内存,但可能影响推理/代码性能。请在你的工作负载上测试。
  • 法律与许可: 模型卡显示模型按 MIT 许可发布,但第三方量化可能有各自许可;生产使用前需审阅。

结语

DeepSeek-V3.1 在显式思考/非思考行为与改进工具使用方面是向“混合代理”模型迈出的重要一步。若要在本地运行,请根据你的硬件与风险承受度选择路径:

用于研究: transformers + 量化 safetensors + accelerate。

用于生产与吞吐: vLLM + 多 GPU(H100/H200)。

用于本地试验: Ollama/llama.cpp + 社区 GGUF(合并并运行)。

快速开始

CometAPI 是一个统一的 API 平台,聚合了来自领先提供商的 500+ AI 模型——包括 OpenAI 的 GPT 系列、Google 的 Gemini、Anthropic 的 Claude、Midjourney、Suno 等——于一个对开发者友好的接口中。通过提供一致的认证、请求格式与响应处理,CometAPI 大幅简化了将 AI 能力集成到你的应用中。无论你在构建聊天机器人、图像生成器、音乐创作,或数据驱动的分析管道,CometAPI 都能让你更快迭代、控制成本并保持供应商中立,同时利用 AI 生态的最新突破。

开发者可通过 CometAPI 访问 DeepSeek-V3.1,本文发布时以最新模型版本为准。开始之前,请在Playground中探索模型能力,并查阅API guide获取详细说明。访问前,请确保已登录 CometAPI 并获得 API key。CometAPI 提供远低于官方价格的报价,助你完成集成。

阅读更多

一个 API 中超 500 个模型

最高 20% 折扣