如何本地運行 DeepSeek-V4:Pro 與 Flash 安裝指南
如何本地運行 DeepSeek-V4:Pro 與 Flash 安裝指南
DeepSeek-V4 是 DeepSeek 迄今為止最具野心的開放權重模型發佈之一。該系列包含 DeepSeek-V4-Pro,一個擁有 1.6T 參數的 Mixture-of-Experts 模型,啟用參數達 49B,以及較小的 DeepSeek-V4-Flash,一個擁有 284B 參數的 MoE 模型,啟用參數為 13B。兩款模型均支援最高 一百萬個 token 的上下文長度。
這樣的組合聽起來令人興奮,但也帶來一個實際問題:你真的能在本地運行 DeepSeek-V4 嗎?
答案是肯定的,但有一個重要的前提。DeepSeek-V4 並非筆電級模型。即使是 Flash 版本,也需要多 GPU 部署。本文將引導你使用 Hugging Face 上官方 DeepSeek 模型倉庫進行本地設置,說明你應該規劃的硬體,並展示如何正確使用官方推理與編碼文件。
參考模型頁面:
DeepSeek-V4-Pro 與 DeepSeek-V4-Flash 比較
下載前,請選擇合適的模型版本。
| 模型 | 總參數量 | 啟用參數量 | 上下文長度 | 精度 | 適用場景 |
|---|---|---|---|---|---|
| DeepSeek-V4-Flash | 284B | 13B | 1M | FP4 + FP8 混合 | 較快的本地實驗、低成本服務、程式助理、長上下文測試 |
| DeepSeek-V4-Pro | 1.6T | 49B | 1M | FP4 + FP8 混合 | 最高品質、研究實驗室、大型 GPU 叢集、嚴肅推理與代理任務 |
最重要的細節是 DeepSeek-V4 採用 Mixture-of-Experts (MoE) 架構。每個 token 只會啟用部分模型,降低計算成本。但你仍需儲存與載入完整模型權重,這意味著 GPU 記憶體與儲存需求依然非常高。
對大多數開發者而言,DeepSeek-V4-Flash 是現實可行的起點。DeepSeek-V4-Pro 更適合叢集級部署。
DeepSeek-V4 有何不同?
根據 DeepSeek 的模型卡,V4 系列引入了多項重大升級:
- 混合注意力架構:DeepSeek 結合了 Compressed Sparse Attention (CSA) 與 Heavily Compressed Attention (HCA),提升長上下文效率。在一百萬 token 設定下,DeepSeek-V4-Pro 使用的 KV 快取遠低於 DeepSeek-V3.2。
- 流形約束超連接 (mHC):提升非常深層網路的穩定性,同時保留模型容量。
- Muon 優化器:DeepSeek 在訓練時使用 Muon 以獲得更佳收斂與穩定性。
- 長上下文:Pro 與 Flash 均支援最高 1M token,DeepSeek 建議 Think Max 模式至少使用 384K 上下文。
- 多種推理模式:DeepSeek-V4 支援 Non-think、Think High 與 Think Max 三種使用風格。
對本地部署而言,兩個最重要的實務改變是 混合 FP4/FP8 精度 與 自訂聊天編碼格式。
硬體需求
DeepSeek-V4 不適合消費級 GPU(如 RTX 4090),除非你未來只做大量修改的社群量化實驗。對官方權重,請規劃伺服器級 GPU。
實務硬體規劃
| 使用場景 | 建議硬體 | 備註 |
|---|---|---|
| DeepSeek-V4-Flash 測試部署 | 4-8 張大記憶體 NVIDIA GPU | H100/H200/A100 級 GPU 是實務目標 |
| DeepSeek-V4-Flash 生產服務 | 8 張以上大記憶體 GPU | 更多 GPU 有助於吞吐與長上下文工作負載 |
| DeepSeek-V4-Pro 研究部署 | 大型多節點 GPU 叢集 | 視為叢集基礎設施,不是單機工作站模型 |
| Think Max 長上下文 | 額外 GPU 記憶體與 KV 快取預算 | DeepSeek 建議 Think Max 至少 384K 上下文 |
儲存需求
下載前請規劃足夠本地儲存空間:
- 優先使用 NVMe SSD 儲存。
- 保留額外空間存放轉換後權重。
- 避免直接下載到系統小容量磁碟。
- 預期 Pro 模型所需儲存遠大於 Flash。
建議目錄結構:
/data/models/deepseek-v4-flash-hf # 原始 Hugging Face 檔案
/data/models/deepseek-v4-flash-infer # 轉換後推理權重
/data/cache/huggingface # HF 快取若租用雲端 GPU 伺服器,請選擇具備本地 NVMe 或掛載大容量高吞吐量磁碟的實例。VPS 類型部署可透過 LightNode 等供應商比較 GPU 或大記憶體伺服器,但務必確認實例擁有此類模型所需的 GPU 記憶體。
軟體需求
你需要 Linux 環境,搭配近期 NVIDIA 驅動與 CUDA。
推薦基線:
| 元件 | 建議版本 |
|---|---|
| 作業系統 | Ubuntu 22.04 或更新版本 |
| Python | 3.10+ |
| GPU 驅動 | 最新 NVIDIA 資料中心驅動 |
| CUDA | CUDA 12.x 優先 |
| PyTorch | CUDA 支援版本 |
| Git LFS | 模型檔案必需 |
| Hugging Face CLI | 可靠下載必需 |
安裝基本工具:
sudo apt update
sudo apt install -y git git-lfs python3 python3-venv python3-pip
git lfs install
pip install -U huggingface_hub若使用 Python 虛擬環境:
python3 -m venv dsv4-env
source dsv4-env/bin/activate
pip install -U pip wheel setuptools
pip install -U huggingface_hub torch transformers safetensors步驟 1:下載 DeepSeek-V4-Flash
大多數用戶從 Flash 開始:
mkdir -p /data/models
cd /data/models
huggingface-cli download deepseek-ai/DeepSeek-V4-Flash \
--local-dir DeepSeek-V4-Flash \
--local-dir-use-symlinks False若想下載 Pro 版本:
huggingface-cli download deepseek-ai/DeepSeek-V4-Pro \
--local-dir DeepSeek-V4-Pro \
--local-dir-use-symlinks False若下載中斷,重新執行相同指令即可續傳。
步驟 2:檢查官方倉庫結構
下載完成後,查看模型資料夾:
cd /data/models/DeepSeek-V4-Flash
ls模型卡指出兩個重要資料夾:
inference/- 官方本地推理代碼,包含權重轉換與生成腳本encoding/- DeepSeek-V4 的提示編碼與輸出解析工具
這很重要,因為 DeepSeek-V4 不附帶一般 Jinja 格式的聊天模板。你不應假設每個通用 OpenAI 相容聊天包裝器都能直接正確格式化提示。
步驟 3:轉換權重以供官方推理使用
官方推理 README 指出生成前需先轉換權重。
於模型倉庫中執行:
cd /data/models/DeepSeek-V4-Flash/inference
export HF_CKPT_PATH=/data/models/DeepSeek-V4-Flash
export SAVE_PATH=/data/models/DeepSeek-V4-Flash-infer
export EXPERTS=256
export MP=4
export CONFIG=config.json
python convert.py \
--hf-ckpt-path ${HF_CKPT_PATH} \
--save-path ${SAVE_PATH} \
--n-experts ${EXPERTS} \
--model-parallel ${MP}參數說明:
| 變數 | 含義 |
|---|---|
HF_CKPT_PATH | 原始 Hugging Face 模型檔案路徑 |
SAVE_PATH | 轉換後推理權重輸出路徑 |
EXPERTS=256 | DeepSeek-V4 推理轉換使用的專家數量 |
MP=4 | 模型並行大小;通常與執行時 GPU 數量相符 |
CONFIG | 生成腳本使用的模型配置檔 |
若使用更多 GPU,請相應調整 MP。例如 8 GPU 節點:
export MP=8FP8 專家選項
官方推理 README 提到,若想使用 FP8 專家而非 FP4,請從 config.json 移除:
"expert_dtype": "fp4"並在轉換時加入 --expert-dtype fp8:
python convert.py \
--hf-ckpt-path ${HF_CKPT_PATH} \
--save-path ${SAVE_PATH} \
--n-experts ${EXPERTS} \
--model-parallel ${MP} \
--expert-dtype fp8大多數用戶建議先使用預設混合 FP4/FP8 配置,確保基線正常後再調整精度。
步驟 4:啟動互動聊天
轉換完成後,執行官方生成腳本:
cd /data/models/DeepSeek-V4-Flash/inference
export MP=4
export SAVE_PATH=/data/models/DeepSeek-V4-Flash-infer
export CONFIG=config.json
torchrun --nproc-per-node ${MP} generate.py \
--ckpt-path ${SAVE_PATH} \
--config ${CONFIG} \
--interactive批次輸入檔案:
torchrun --nproc-per-node ${MP} generate.py \
--ckpt-path ${SAVE_PATH} \
--config ${CONFIG} \
--input-file prompts.txt多節點執行:
torchrun \
--nnodes ${NODES} \
--nproc-per-node $((MP / NODES)) \
--node-rank $RANK \
--master-addr $ADDR \
generate.py \
--ckpt-path ${SAVE_PATH} \
--config ${CONFIG} \
--input-file prompts.txt確保每個節點都能存取轉換後的檢查點路徑,或將轉換檔案複製到每台機器相同路徑。
步驟 5:使用正確的採樣設定
DeepSeek 建議本地部署採用以下採樣參數:
temperature = 1.0
top_p = 1.0若生成腳本支援 CLI 參數,直接使用。否則在腳本或配置中設定。
Think Max 模式建議至少使用:
384K tokens首次測試時不要一開始就用超大上下文,先從小上下文開始,確認模型能正常載入與生成,再逐步增加上下文長度並監控 GPU 記憶體。
步驟 6:理解 DeepSeek-V4 聊天編碼
DeepSeek-V4 不包含標準 Jinja 聊天模板。取而代之的是倉庫中提供的 encoding/ 資料夾,內含 Python 工具。
基本用法如下:
from encoding_dsv4 import encode_messages, parse_message_from_completion_text
messages = [
{"role": "system", "content": "你是一個樂於助人的助理。"},
{"role": "user", "content": "2+2 等於多少?"},
]
prompt = encode_messages(messages, thinking_mode="thinking")
print(prompt)非思考聊天使用 chat 模式:
prompt = encode_messages(messages, thinking_mode="chat")思考模式下,模型使用明確的推理分隔符:
<think> ... </think>解析器可將生成文本轉回結構化助理訊息:
completion = "簡單算術。</think>2 + 2 = 4.<|end▁of▁sentence|>"
parsed = parse_message_from_completion_text(completion, thinking_mode="thinking")
print(parsed)若想自行構建本地 API 包裝器,這點尤其重要。
推理模式說明
DeepSeek-V4 支援三種實用推理風格:
| 模式 | 行為 | 適用場景 |
|---|---|---|
| Non-think | 快速直接回答 | 簡單問答、摘要、例行程式協助 |
| Think High | 有條理的分析回答 | 除錯、規劃、數學、架構決策 |
| Think Max | 最大推理努力 | 困難程式任務、代理工作流程、研究級問題解決 |
本地伺服器可將這些模式作為不同模型名稱暴露,例如:
deepseek-v4-flash-chat
deepseek-v4-flash-thinking
deepseek-v4-flash-max內部可使用不同提示編碼、上下文限制與生成參數。
可以用 vLLM 或 SGLang 運行 DeepSeek-V4 嗎?
目前最安全的路徑是使用模型倉庫中的 官方 DeepSeek 推理代碼。通用服務框架可能需要更新,才能完全支援 DeepSeek-V4 的架構、混合精度、長上下文行為與自訂編碼。
實務做法:
- 先成功執行官方
inference/generate.py。 - 使用官方
encoding/工具確認輸出品質與提示格式。 - 再檢查你偏好的框架是否已明確支援 DeepSeek-V4。
- 確認支援後,再遷移至 vLLM、SGLang、TensorRT-LLM 或其他服務框架。
這樣可避免常見失敗:模型載入成功,但因提示模板錯誤導致聊天品質不佳。
建立簡易本地 API 包裝器
若想要 OpenAI 風格的本地端點,可用 FastAPI 包裝官方生成路徑。具體實作依你如何整合 generate.py 而定,高階流程如下:
- 接收 OpenAI 相容的
messages。 - 使用
encoding_dsv4.encode_messages()轉換。 - 將編碼後提示送入 DeepSeek-V4 推理引擎。
- 使用
parse_message_from_completion_text()解析輸出。 - 回傳 OpenAI 相容的 JSON 回應。
示意碼:
from encoding_dsv4 import encode_messages, parse_message_from_completion_text
messages = [
{"role": "system", "content": "你是一個樂於助人的助理。"},
{"role": "user", "content": "用簡單語言解釋 KV 快取。"},
]
prompt = encode_messages(messages, thinking_mode="thinking")
# 將 prompt 傳給本地 DeepSeek-V4 推理工作者
raw_completion = run_deepseek_v4(prompt)
assistant_message = parse_message_from_completion_text(
raw_completion,
thinking_mode="thinking",
)
print(assistant_message["content"])生產環境還需加入:
- 請求排隊
- 流式輸出
- 超時處理
- GPU 健康檢查
- 最大上下文限制
- 結構化日誌
- 認證機制
故障排除
1. CUDA 記憶體不足
減少記憶體壓力方法:
- 降低上下文長度
- 減少批次大小
- 增加張量/模型並行度
- 使用更多 GPU
- 先從 DeepSeek-V4-Flash 開始,不用 Pro
除錯時通常先減少長上下文。
2. 下載失敗或卡住
使用 huggingface-cli download 代替瀏覽器下載。重複執行同指令可續傳。
也可設定專用快取目錄:
export HF_HOME=/data/cache/huggingface
export HUGGINGFACE_HUB_CACHE=/data/cache/huggingface/hub3. 模型生成奇怪聊天輸出
檢查提示格式。DeepSeek-V4 不用標準 Jinja 聊天模板,請使用官方 encoding/ 實作。
4. 多 GPU 執行失敗
確認 PyTorch 可見所有 GPU:
python - <<'PY'
import torch
print(torch.cuda.device_count())
for i in range(torch.cuda.device_count()):
print(i, torch.cuda.get_device_name(i))
PY多節點執行時檢查 NCCL 網路:
export NCCL_DEBUG=INFO5. Think Max 太慢
Think Max 設計用於花更多計算力於困難推理。僅在任務值得時使用。一般助理使用 Non-think 或 Think High 較實用。
推薦部署策略
首次本地部署 DeepSeek-V4,建議依序:
- 從 DeepSeek-V4-Flash 開始。
- 使用官方推理代碼。
- 先用小上下文測試。
- 確認官方編碼正常。
- 逐步增加上下文長度。
- 本地生成穩定後再加 API 包裝器。
- 只有在擁有叢集級 GPU 資源時考慮 Pro。
結語
DeepSeek-V4 功能強大,但並非輕量本地模型。Flash 版本是實務入門,Pro 適合嚴肅多 GPU 或多節點環境。成功設置關鍵在於遵循官方流程:下載 Hugging Face 倉庫,使用提供的推理工具轉換權重,透過 torchrun 執行生成,並使用專屬 DeepSeek-V4 編碼工具,而非假設通用聊天模板。
若只需試驗提示,DeepSeek 託管聊天服務或 API 路徑可能更簡單。但若你需要資料隱私、完全控制、無逐 token 計費或自訂基礎設施,本地運行 DeepSeek-V4 是打造私有長上下文 AI 系統的堅實基礎。