vLLM 部署 DeepSeek

需要多人同時調用、追求吞吐量時的選擇。單人試用不需要它。

vLLM 解決什麼問題

傳統推理框架把每個請求的 KV cache 連續存放,造成大量記憶體碎片,導致同時能跑的請求數受限。 vLLM 用 PagedAttention 把 KV cache 切成分頁管理,記憶體利用率大幅提升,同樣顯存能服務更多併發請求。

比較llama.cppvLLM
單請求速度好好
多併發吞吐一般明顯更好
顯存效率一般高(PagedAttention)
安裝難度中較高(依賴多)
量化支援GGUF 生態最全支援 AWQ / GPTQ / FP8

安裝

# 建議在 Linux + NVIDIA GPU 環境
pip install vllm

# 確認 CUDA 版本匹配
python -c "import torch; print(torch.version.cuda)"

啟動

# 基本啟動(Hugging Face 上的模型)
vllm serve  \
  --host 0.0.0.0 \
  --port 8000 \
  --max-model-len 32768 \
  --gpu-memory-utilization 0.90

關鍵參數

參數作用怎麼設
--max-model-len最大上下文依任務設,越長越吃顯存
--gpu-memory-utilization可用顯存比例0.85-0.95,留餘量避免 OOM
--max-num-seqs最大同時處理請求數依併發需求調
--tensor-parallel-size多卡切分數多張卡時設為卡數
--quantization量化方式awq / gptq / fp8

調優順序

  1. 先確認單請求能跑通(不設併發)
  2. 逐次提高 --max-num-seqs,觀察吞吐與延遲變化
  3. 找到吞吐不再提升或延遲明顯變差的點
  4. 用 nvidia-smi 確認顯存是否還有餘量

常見問題

什麼時候該用 vLLM

該用不該用
多人同時使用(內部工具、對外服務)單人試用、偶爾跑一次
追求每秒處理的 token 數顯存很小、只有一張消費級卡
需要精細控制批處理只會用 Windows

相關

llama.cpp(更簡單) · Ollama(最簡單) · 顯存計算器 · 本地部署總覽