DeepSeek 本地部署指南(基于 vLLM)
本指南將詳細介紹如何使用 vLLM 在本地部署 DeepSeek 語言模型。我們將以 deepseek-ai/DeepSeek-R1-Distill-Qwen-7B 模型為例,逐步指導你完成環境配置、模型下載、vLLM 安裝及推理服務的啟動與調用。
1. 安裝 Python 環境
在開始之前,你需要確保已安裝 Python 環境。
圖片
- 訪問 Python 官網:https://www.python.org/
- 選擇安裝包:根據你的操作系統(Windows、macOS 或 Linux)下載并安裝 Python。
- 推薦版本:建議安裝 Python 3.8 或更高版本。
- 驗證安裝:安裝完成后,打開終端(macOS/Linux)或命令提示符(Windows),輸入以下命令以檢查 Python 和 pip 是否安裝成功:
python --version
pip --version
如果正確顯示版本號,則說明 Python 環境已配置完成。
2. 下載 DeepSeek 模型
接下來,我們需要下載 deepseek-ai/DeepSeek-R1-Distill-Qwen-7B 模型。
圖片
- 模型地址:https://modelscope.cn/models/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B
- 安裝 ModelScope:ModelScope 是一個模型中心,用于下載和管理模型。運行以下命令安裝 ModelScope:
pip install modelscope
- 下載模型:使用以下命令下載模型并保存到本地:
modelscope download --model deepseek-ai/DeepSeek-R1-Distill-Qwen-7B --local_dir /path/to/save/model
將 /path/to/save/model 替換為你希望保存模型的本地路徑。
- 磁盤空間:確保磁盤空間充足,該模型至少需要 15GB 的存儲空間。
- 關于 ModelScope:ModelScope 是一個開源社區,提供多種預訓練模型。雖然某些模型可能需要注冊賬號,但 DeepSeek-R1-Distill-Qwen-7B 是公開的,可直接下載。
圖片
3. 安裝 vLLM
vLLM 是一個高效的大型語言模型推理庫,支持快速部署。
圖片
- vLLM 簡介:vLLM GitHub[1]
- 官方文檔:vLLM 文檔[2]
推薦使用虛擬環境:為避免包沖突,建議在虛擬環境中安裝 vLLM。
- 創建虛擬環境:
python -m venv venv
- 激活虛擬環境
# macOS/Linux:
source venv/bin/activate
# Windows:
venv\Scripts\activate
- 安裝 vLLM:
pip install vllm
4. 啟動 vLLM 推理服務
模型下載完成后,可以使用 vLLM 啟動推理服務。
啟動命令:
CUDA_VISIBLE_DEVICES=0 vllm serve /path/to/save/model --port 8102 --max-model-len 16384
參數說明:
- CUDA_VISIBLE_DEVICES=0:指定使用的 GPU 設備 ID(0 表示第一塊 GPU)。
- /path/to/save/model:替換為模型的實際保存路徑。
- --port 8102:服務監聽的端口號(可自定義)。
- --max-model-len 16384:模型的最大上下文長度(可根據 GPU 顯存調整)。
檢查服務狀態:啟動后,終端會顯示類似 INFO: Started server process 的信息。你也可以通過訪問 http://localhost:8102/docs 查看 API 文檔,驗證服務是否正常運行。
GPU 顯存:確保 GPU 顯存充足。如果顯存不足,可嘗試減小 --max-model-len 的值。
5. 調用 vLLM 推理服務
服務啟動后,可以通過代碼調用 vLLM 提供的 API 進行推理。
Python 示例代碼:
from openai import OpenAI
# 配置 OpenAI API 密鑰和 Base URL 以連接 vLLM 服務
openai_api_key = "EMPTY"# vLLM 服務不需要 API 密鑰,可以使用任意字符串
openai_api_base = "http://localhost:8102/v1" # 確保端口號與啟動服務時一致
client = OpenAI(
api_key=openai_api_key,
base_url=openai_api_base,
)
prompt = "你好,介紹一下你自己吧" # 輸入問題
response = client.completions.create(
model="deepseek-ai/DeepSeek-R1-Distill-Qwen-7B", # 模型名稱
prompt=prompt,
stream=False, # 是否使用流式輸出
)
print(response.choices[0].text) # 輸出模型回答
運行代碼:將代碼保存為 inference_example.py,然后在虛擬環境中運行:
python inference_example.py
注意事項:
- 確保 openai_api_base 中的端口號與 vLLM 服務端口一致。
- 如果遇到錯誤,請檢查服務狀態、模型名稱及網絡連接。
- vLLM 服務是否已成功啟動并正在運行。
- openai_api_base 中的端口號是否與 vLLM 服務端口號一致。
- model 參數指定的模型名稱是否正確。
- 網絡連接是否正常。
- 查看 vLLM 服務端的日志輸出,可能會有更詳細的錯誤信息。
總結
通過以上步驟,你已成功在本地部署了 DeepSeek 模型,并能夠通過 vLLM 進行推理。如果在部署過程中遇到問題,請參考 vLLM 官方文檔或在相關社區尋求幫助。祝你使用愉快!
參考資料
[1]vLLM GitHub: https://github.com/vllm-project/vllm
[2]vLLM 文檔: https://docs.vllm.ai/en/latest/