DeepSeek V3.2-Exp 是一款开源大语言模型,引入了 DeepSeek Sparse Attention(DSA,稀疏注意力)机制,用于高效处理超长上下文。本文将带你在本地通过高性能推理引擎 vLLM 运行 DeepSeek V3.2‑Exp,全程聚焦 推理(Inference) 场景,不涉及训练。我们会依次介绍:

  • vLLM 是什么、为什么适合跑大模型
  • 环境与硬件要求
  • 如何安装 vLLM 并加载 DeepSeek V3.2‑Exp
  • 三种部署模式:CLI 快速体验、Python 脚本推理、本地 OpenAI 兼容 REST API 服务

默认面向 NVIDIA GPU(vLLM 已提供稳定的 Day‑0 支持),同时补充 AMD ROCm 与 CPU 回退说明。读完后,你就可以在自己的机器上充分利用 DeepSeek V3.2‑Exp 的能力。

一、DeepSeek V3.2‑Exp 与 vLLM 简介

vLLM DeepSeek V3.2-Exp

DeepSeek V3.2‑Exp 是在前代 V3.1-Terminus 基础上构建的 685B 参数 MoE(Mixture-of-Experts)实验模型。其核心创新是 DSA 稀疏注意力:

  1. 先通过一个“lightning indexer”快速为序列中的 token 打分,筛选出最相关的一小部分 token;
  2. 再只对这部分 token 计算完整注意力,从而避免标准注意力在长序列下的二次方计算开销。

在保持与 V3.1-Terminus 相近输出质量的前提下,V3.2‑Exp 在长上下文推理上的计算成本可降低约 50%。从整体趋势看,随着输入长度增加,V3.2‑Exp 的计算量增长远低于采用致密注意力的 V3.1-Terminus,因此特别适合:

  • 长文档问答
  • 代码库/知识库级别检索与推理
  • 需要大上下文窗口的复杂任务

图 1(概念说明): V3.2‑Exp 的稀疏注意力让长序列的单 token 计算成本显著下降,相比 V3.1-Terminus 的致密注意力,随着上下文长度增加,V3.2‑Exp 的计算量增长更平缓,从而在长输入场景下实现更快、更省成本的推理。

要在本地硬件上运行这样规模和复杂度的模型,我们需要借助 vLLM。

vLLM 是一个开源的大模型推理引擎与服务框架,目标是让 LLM 部署 更快、更省显存、更易用。其核心技术是受操作系统虚拟内存分页启发的 PagedAttention

  • 传统 LLM 的 KV Cache 会随序列长度线性增长,且要求显存连续,容易造成显存碎片与浪费;
  • vLLM 将 KV Cache 切分为固定大小的“页(page)/块(block)”,不再要求连续存放;
  • 推理时按需调度这些块,实现接近最优的显存利用率(浪费低于 4%)。

这带来的直接好处是:

  • 可以同时批量处理更多请求,大幅提升吞吐量;
  • 不同请求之间可以共享部分缓存;
  • 在同样的 GPU 上,vLLM 相比标准 Hugging Face Transformers 吞吐可提升至多 24×,相比 HuggingFace TGI 也有 2–3× 提升。

总结来说,vLLM 是为推理优化的大模型服务框架,通过 PagedAttention 和智能批处理,让像 DeepSeek V3.2‑Exp 这样超大模型在本地运行成为现实。

二、硬件要求与基础环境

Hardware Requirements and Setup

1. NVIDIA GPU(推荐)

要在本地“现实可用”地运行 DeepSeek V3.2‑Exp,你需要一块(或多块)高端 NVIDIA GPU:

  • vLLM 对该模型提供 Day‑0 支持,重点优化了:
    • Hopper 架构:H100 / H200
    • Blackwell 架构:B200 / GB200
  • 这些 GPU 支持 BF16 / FP8 精度,并提供 80–96 GB 级别显存,适合承载 V3.2‑Exp。
  • 推荐多卡方案,例如:8×H100 或 8×H200,并通过张量并行(tensor parallel)切分模型。

旧款 NVIDIA GPU(如 A100、部分 RTX 系列) 理论上也可能跑得起来(使用 BF16 并必要时交换到 CPU),但会受限于:

  • 显存容量不足
  • 缺乏原生 FP8 支持

即便能跑,性能也会明显下降。本指南默认你至少有一块 80GB 级别的 NVIDIA GPU;如有多卡,vLLM 可自动进行模型切分。

2. AMD GPU(ROCm)与 CPU 回退

虽然主线是 NVIDIA + CUDA,但 vLLM 也在 v0.6+(尤其 v1.0+)中加入了对 AMD ROCm 的支持:

  • 可在 AMD Instinct(MI200 / MI300)或 Radeon RX 7900 等 GPU 上运行;
  • 一般需要使用 Docker 镜像或基于 ROCm 库从源码编译 vLLM;
  • 目前官方预编译 wheel 对 ROCm 支持有限。

CPU-only 模式 也可以作为兜底方案:

  • vLLM 会使用 PyTorch 的 CPU 后端;
  • 但对 685B 级别模型来说,速度会极其缓慢,只适合功能验证或极小规模测试。

综合来看,如果希望获得可用的体验:

  • 优先选择 NVIDIA GPU;
  • 其次是高端 AMD GPU;
  • CPU 仅作调试与验证之用。

3. 系统与依赖环境

基础环境建议如下:

  • Python:3.10 / 3.11 / 3.12(vLLM 官方经常在 3.11/3.12 上测试)
  • NVIDIA 驱动与 CUDA
    • vLLM 的 pip wheel 默认基于 CUDA 12.x + PyTorch 2.x 构建
    • 推荐系统安装 CUDA 12.1 或 12.2 运行时
  • 使用 condavenv 创建独立环境更易管理。

安装 vLLM:

# 建议先创建并激活虚拟环境
pip install vllm

安装完成后可简单自检:

python -c "import vllm; print(vllm.__version__)"
vllm --help

如安装过程中遇到与 PyTorch / CUDA 相关的错误:

  1. 确认系统 CUDA 驱动版本足够新;
  2. 可先手动安装匹配 CUDA 版本的 PyTorch,例如(CUDA 12.1):
pip install torch torchvision torchaudio \
  --extra-index-url https://download.pytorch.org/whl/cu121
pip install vllm

import vllm 不再报错,即可继续后续步骤。

三、只做推理,不做本地训练

1. 为什么不考虑训练 / 微调?

DeepSeek V3.2‑Exp 是 面向推理优化 的超大模型,并非为本地训练或微调设计:

  • 模型规模高达 数千亿参数(685B),训练需要专门的数据中心级基础设施;
  • DeepSeek 官方在 V3.2‑Exp 上沿用了与 V3.1 相同的训练配方,主要精力放在推理效率优化上;
  • 对外发布的内容包括:模型权重与推理 Demo,但 不包含 V3.2‑Exp 的训练 / 微调代码;
  • 模型结构采用 MoE + 稀疏注意力,分布式训练难度极高,需要定制化训练框架;
  • 现实中,重新训练或微调 685B 模型的 GPU 成本往往以“百万美元”计,远超本地环境可承受范围。

因此,本指南 只讨论推理

  • 如何加载官方预训练好的 DeepSeek V3.2‑Exp 权重;
  • 如何在本地生成文本、回答问题、处理长上下文。

如果你需要可训练或更小的模型,可考虑 DeepSeek 的蒸馏版或缩小版模型;V3.2‑Exp 本身应被视为 仅供服务(serve-only) 的研究与部署模型。

好消息是:专注推理可以充分利用 vLLM 的优化(PagedAttention、连续批处理等),在本地硬件上最大化模型性能。

四、在 vLLM 中安装并加载 DeepSeek V3.2‑Exp

Installing and Loading DeepSeek V3.2‑Exp

在介绍具体部署模式前,先说明如何获取模型并在 vLLM 中加载。

  • DeepSeek V3.2‑Exp 权重托管在 Hugging Face Hub:deepseek-ai/DeepSeek-V3.2-Exp
  • vLLM 对该模型提供 Day‑0 集成
    • 从 vLLM 0.11.0 及以上版本开始,已内置对 DeepSeek V3.2‑Exp 架构与权重的支持;
    • 无需手动转换权重,直接指定仓库名即可加载。

步骤 1:安装 vLLM 及依赖

前文已给出基础安装命令:

pip install vllm

建议同时确保安装了 Transformers:

pip install transformers

通常 pip install vllm 会自动拉取兼容版本的 torchtransformers,但手动确认更稳妥。

步骤 2(可选):预先下载模型权重

首次加载模型时,如本地缓存中没有,vLLM 会自动从 Hugging Face 下载 DeepSeek V3.2‑Exp:

  • 体积巨大,可能达到数百 GB;
  • 为避免超时或网络中断,建议使用 huggingface-cligit lfs 预先下载;
  • 如需访问大文件,可能需要登录 Hugging Face 并配置访问 Token。

若网络环境良好,也可以直接依赖 vLLM 在首次加载时自动下载并缓存。

步骤 3:通过 vLLM 加载模型

加载方式主要有两种:

  1. 使用 vLLM CLI(适合服务 / CLI 模式);
  2. 使用 Python API(适合脚本与应用集成)。

多卡场景下,你可以通过 tensor_parallel_size 指定张量并行切分数,vLLM 会自动将模型分片到多块 GPU 上。

接下来我们分别介绍三种常见部署模式。

五、部署模式一:CLI 交互式快速体验

如果你只是想 快速确认 DeepSeek V3.2‑Exp 能在本地跑起来,并简单试试生成效果,使用 vLLM 的命令行工具是最快的方式。

1. 启动 vLLM 服务并加载 DeepSeek 模型

在终端中执行:

vllm serve deepseek-ai/DeepSeek-V3.2-Exp --tensor-parallel-size N

N 替换为你要使用的 GPU 数量,例如:

  • 单卡:省略该参数或设为 1
  • 8 卡:--tensor-parallel-size 8

该命令会:

  • 启动 vLLM 内置 HTTP 服务;
  • 加载 DeepSeek V3.2‑Exp 模型;
  • 默认监听 http://localhost:8000,并提供 OpenAI 兼容接口(后文详述)。

首次加载可能需要数分钟(包括权重加载、稀疏注意力内核初始化、FP8 GEMM 预热等),之后再次启动会快很多。看到类似“Server running”或监听端口的日志后,说明模型已就绪。

2. 使用 CLI 与模型交互

vllm serve 本身不会提供交互式 REPL,但 vLLM 提供了一个方便的命令 vllm chat 用于向正在运行的服务发送测试请求。

在保持服务运行的前提下,新开一个终端,执行:

vllm chat --prompt "Hello, DeepSeek! How do you feel today?"

该命令会:

  • 将你的 prompt 作为用户消息发送到本地 vLLM 服务;
  • 默认连接 localhost:8000/v1(如服务在其他地址,可通过 --url 指定);
  • 在终端打印模型回复。

你可以多次运行 vllm chat,快速试验不同提示词。

此外,也可以直接使用 curl 调用 OpenAI 兼容接口,例如:

curl http://localhost:8000/v1/completions \
     -H "Content-Type: application/json" \
     -d '{"model": "deepseek-ai/DeepSeek-V3.2-Exp", "prompt": "DeepSeek, explain sparse attention in one sentence.", "max_tokens": 50}'

该请求会返回一个 JSON,其中包含 "text" 字段作为模型补全结果。若要进行对话式交互,可向 /v1/chat/completions 发送:

  • messages: [{"role": "user", "content": "..."}]

vllm chat 本质上就是帮你封装了这类请求。

3. 停止服务

完成测试后,在运行 vllm serve 的终端按 Ctrl + C 即可停止服务并释放 GPU 显存。

CLI 模式适合:

  • 验证环境与模型是否正常;
  • 快速体验模型行为;
  • 临时交互式测试。

若你需要更灵活的批量推理或与 Python 应用深度集成,可以使用下一节的 Python API 模式。

六、部署模式二:使用 Python 脚本进行本地推理

对于批量任务或需要在 Python 程序中集成推理逻辑的场景(如对数据集批量生成答案、在后端服务中调用等),可以直接使用 vLLM 的 Python API。

vLLM 提供了一个高层封装类 vllm.LLM,用于:

  • 加载模型;
  • 在代码中直接调用生成接口;
  • 享受与服务模式相同的高性能推理能力,但无需 HTTP 开销。

示例:使用 vLLM 在脚本中调用 DeepSeek V3.2‑Exp

from vllm import LLM, SamplingParams

# 1. 初始化 LLM 引擎并加载 DeepSeek 模型
llm = LLM(model="deepseek-ai/DeepSeek-V3.2-Exp", tensor_parallel_size=1)
print("Loaded DeepSeek-V3.2-Exp model into vLLM.")

# 2. 定义输入提示
prompts = [
    "Q: What are the advantages of sparse attention in transformers?\nA:",
    "Q: Explain the significance of DeepSeek V3.2-Exp in simple terms.\nA:"
]

# 3. 设置采样参数
sampling_params = SamplingParams(
    temperature=0.7,
    top_p=0.9,
    max_tokens=100
)
print("Sampling parameters configured.")

# 4. 执行推理
outputs = llm.generate(prompts, sampling_params)
print("Generation complete.")

# 5. 打印结果
for i, output in enumerate(outputs):
    result_text = output.outputs[0].text
    print(f"Prompt {i+1}: {prompts[i]}\nModel answer: {result_text}\n{'-'*40}")

要点说明:

  • LLM(model="deepseek-ai/DeepSeek-V3.2-Exp") 会自动:
    • 从 Hugging Face 下载并缓存模型(如本地尚未缓存);
    • 初始化 vLLM 引擎与 PagedAttention;
  • 多卡场景可通过 tensor_parallel_size 指定张量并行数,例如 4 卡设为 4
  • prompts 是一个字符串列表,vLLM 会自动进行批处理,一次性送入模型,提高吞吐;
  • SamplingParams 控制生成策略:
    • temperature:随机性;
    • top_p:核采样;
    • max_tokens:最大生成长度;
    • 还可以设置 top_kstop 等;
  • llm.generate(prompts, sampling_params) 返回一个 RequestOutput 列表:
    • 每个元素对应一个 prompt;
    • output.outputs[0].text 即该 prompt 的第一条生成结果;
    • 如需多样性,可在 SamplingParams 中设置 n>1,获取多条候选。

脚本模式适合:

  • 离线批量生成任务;
  • 与数据处理 / 评估脚本集成;
  • 在后端服务中嵌入推理逻辑(无需额外 HTTP 服务层)。

当脚本结束或 llm 对象被释放时,GPU 显存也会自动释放。

七、部署模式三:本地 vLLM 服务(OpenAI 兼容 REST API)

在实际应用部署中,更常见的需求是:

  • 将模型作为一个 独立服务 暴露给其他系统;
  • 通过 HTTP / REST API 调用;
  • 复用现有的 OpenAI 客户端与生态。

vLLM 在这方面非常强大:其内置服务完全兼容 OpenAI API 协议,你只需将客户端的 base URL 指向本地 vLLM 服务,即可把 DeepSeek V3.2‑Exp 当作“自建版 ChatGPT”来用。

1. 启动本地 vLLM 服务

使用如下命令:

vllm serve deepseek-ai/DeepSeek-V3.2-Exp \
    --host 0.0.0.0 --port 8000 \
    --tensor-parallel-size 2 \
    --threads 8

含义说明:

  • --host 0.0.0.0:监听所有网卡,方便其他机器访问;
  • --port 8000:服务端口;
  • --tensor-parallel-size 2:使用 2 块 GPU 进行张量并行;
  • --threads 8:设置请求处理线程数。

如需简单鉴权,可通过 --api-key 设置访问密钥。

2. OpenAI 兼容接口调用示例

服务启动后,将暴露以下典型接口:

  • /v1/completions
  • /v1/chat/completions
  • /v1/models

DeepSeek V3.2‑Exp 是对话式模型,推荐使用 /v1/chat/completions

请求示例(JSON):

POST /v1/chat/completions
{
  "model": "deepseek-ai/DeepSeek-V3.2-Exp",
  "messages": [
    {"role": "system", "content": "You are a helpful AI assistant."},
    {"role": "user", "content": "Hello, what is DeepSeek V3.2-Exp?"}
  ],
  "max_tokens": 200,
  "temperature": 0.5,
  "top_p": 1.0
}

返回结果会包含:

  • idobjectcreated 等元信息;
  • choices 列表,其中 message 字段即模型回复(role: assistant, content: ...)。

由于协议兼容 OpenAI,你可以直接使用 OpenAI 官方或第三方 SDK,只需修改 base URL。例如使用 Python 客户端:

import openai

openai.api_key = "EMPTY"  # vLLM 默认不校验,但库需要一个值
openai.api_base = "http://localhost:8000/v1"

response = openai.ChatCompletion.create(
    model="deepseek-ai/DeepSeek-V3.2-Exp",
    messages=[{"role": "user", "content": "Hello, what is DeepSeek V3.2-Exp?"}]
)

print(response["choices"][0]["message"]["content"])

同理,任何支持配置 OpenAI API 端点的框架(如 LangChain、Gradio、各类插件系统等),都可以将 base URL 指向 http://:8000/v1,即可无缝切换到本地 DeepSeek V3.2‑Exp。

3. 监控与扩展

在服务模式下,vLLM 还可以:

  • 暴露 /metrics 接口供 Prometheus 抓取,用于监控吞吐、延迟、显存使用等;
  • 通过 llm-d 等工具在 Kubernetes 等环境中进行分布式部署,实现多机多卡扩展(超出本文范围)。

对单机部署而言:

  • 确保 GPU 显存与系统内存足以容纳模型与缓存;
  • Hopper / Blackwell 代 GPU(H100/H200/B200/GB200)是理想选择,vLLM 的 Day‑0 支持也主要针对这些硬件优化;
  • 若仅有中小型 GPU,可考虑使用 DeepSeek 的蒸馏版或量化版模型,以避免显存压力过大。

八、总结

DeepSeek V3.2‑Exp 将前沿的稀疏注意力技术引入大模型推理,在长上下文场景下显著提升效率。借助 vLLM 的 Day‑0 集成支持,只要你拥有高端 GPU,就可以在本地运行这款 685B 级别的模型,而无需依赖云端服务。

本文从零开始介绍了:

  • vLLM 的核心机制(PagedAttention)及其如何让大模型推理变得可行;
  • 运行 DeepSeek V3.2‑Exp 所需的硬件与环境准备;
  • 如何安装 vLLM 并加载 DeepSeek V3.2‑Exp;
  • 三种典型部署方式:
    • CLI 快速体验;
    • Python 脚本批量推理;
    • 本地 OpenAI 兼容 REST API 服务。

通过专注于 推理而非训练,我们可以充分利用 vLLM 的优化内核与批处理能力,在 NVIDIA(以及部分 AMD / CPU)硬件上高效地服务这一超大模型。无论是本地交互式对话、脚本化批量生成,还是为应用提供 API 接口,DeepSeek V3.2‑Exp + vLLM 的组合都能在 Day‑0 就为你提供强大的本地大模型能力。

随着硬件与软件生态的持续演进(更广泛的 GPU 支持、更成熟的分布式服务方案),在本地运行超大模型将会越来越简单。希望本指南能帮助你顺利在自己的机器上启动并体验 DeepSeek V3.2‑Exp,充分发挥 vLLM 的性能优势。