vLLM-DeepSeek 本地部署大模型終極解決方案,細到超乎想象!
自從 DeepSeek 火遍大江南北,人人都在使用大模型,也有很多同志在像曉智同學一樣,開始私有化部署。
當然選擇私有化部署使用最多的是 ollama 部署,但是對於併發相對高的場景,vllm 是非常不錯的選擇。現就將曉智同學一步步部署併成功上線實施的方案分享如下:
一、環境構建
1、安裝 ubuntu24.04 操作系統,並安裝對應的基礎軟件,比如輸入法等(可以不安裝)。
2、安裝顯卡驅動
- 檢查顯卡驅動是否已經識別,如果已經識別,則不需要安裝:以下表示已經識別
root@admin-Legion-Y9000P-IRX9:/home/admin/下載# lspci | grep -i nvidia
01:00.0 VGA compatible controller: NVIDIA Corporation AD107M [GeForce RTX 4060 Max-Q / Mobile] (rev a1)
01:00.1 Audio device: NVIDIA Corporation Device 22be (rev a1)
- buntu 24.04 可能默認使用開源驅動(
nouveau
),需手動安裝閉源驅動:
sudo apt update
sudo ubuntu-drivers autoinstall # 自動安裝推薦驅動
- 禁用開源驅動(nouveau)
sudo nano /etc/modprobe.d/blacklist-nouveau.conf
添加以下內容
blacklist nouveau
options nouveau modeset=0
- 更新 initramfs 並重啓:
sudo update-initramfs -u
sudo reboot
- 驗證 GPU 工作狀態(已正常工作)
admin@admin-Legion-Y9000P-IRX9:~/桌面$ nvidia-smi
Tue Apr 1 13:31:53 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.120 Driver Version: 550.120 CUDA Version: 12.4 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 4060 ... Off | 00000000:01:00.0 Off | N/A |
| N/A 37C P0 588W / 55W | 9MiB / 8188MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| 0 N/A N/A 2471 G /usr/lib/xorg/Xorg 4MiB |
+-----------------------------------------------------------------------------------------+
二、安裝 vLLM 和相關依賴
- 使用 conda 環境隔離安裝部署
1、下載並安裝 conda 環境
- 下載 Miniconda 安裝腳本:
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
admin@admin-Legion-Y9000P-IRX9:~/桌面$ wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
--2025-05-01 13:47:13-- https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
正在解析主機 repo.anaconda.com (repo.anaconda.com)... 104.16.191.158, 104.16.32.241, 2606:4700::6810:20f1, ...
正在連接 repo.anaconda.com (repo.anaconda.com)|104.16.191.158|:443... 已連接。
已發出 HTTP 請求,正在等待迴應... 200 OK
長度: 154615621 (147M) [application/octet-stream]
正在保存至: ‘Miniconda3-latest-Linux-x86_64.sh’
- 運行安裝腳本:
bash Miniconda3-latest-Linux-x86_64.sh
- 按照提示完成安裝,然後重新打開終端,Conda 就可以正常使用了
2、創建一個新的 conda 環境
以後所有的模型相關操作都將在該 conda(myenv)
環境中運行。
conda create -n myenv python=3.10 -y
- 根據提示,進行 conda 升級(可選)
(base) admin@admin-Legion-Y9000P-IRX9:~$ conda update -n base -c defaults conda
Channels:
- defaults
Platform: linux-64
Collecting package metadata (repodata.json): done
Solving environment: done
- 激活虛擬環境
conda activate myenv
- 安裝帶有 CUDA 12.1 的 vLLM
pip install vllm
三、模型部署
1、模型下載
下載 DeepSeek 模型,此處下載deepseek-ai/DeepSeek-R1-Distill-Qwen-7B
模型
- 模型地址: https://modelscope.cn/models/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B
- 安裝 ModelScope 包: ModelScope 是一個模型中心,我們使用它來下載模型。在終端或命令提示符中執行以下命令安裝 ModelScope Python 包:
pip install modelscope
- 下載模型: 使用
modelscope download
命令下載模型。
modelscope download --model deepseek-ai/DeepSeek-R1-Distill-Qwen-7B --local_dir /home/xhq/deepseek-7b
- --model deepseek-ai/DeepSeek-R1-Distill-Qwen-7B: 指定要下載的模型爲 deepseek-ai/DeepSeek-R1-Distill-Qwen-7B。
- --local_dir your_local_path: 指定模型下載後保存的本地路徑。請將 your_local_path 替換爲您電腦上實際想要保存模型的路徑。 例如,如果您想將模型保存在 /home/user/models/deepseek-7b 目錄下,則命令應爲:
- 關於 ModelScope: ModelScope 是一個模型即服務的開源社區,您可以在上面找到各種預訓練模型。您可能需要註冊 ModelScope 賬號才能下載某些模型,但 deepseek-ai/DeepSeek-R1-Distill-Qwen-7B 模型目前是公開的,可以直接下載。
2、模型運行
在conda環境
(myenv) admin@admin-Legion-Y9000P-IRX9:~中,進入模型所在的目錄,運行以下命令
vllm serve DeepSeek-R1-Distill-Qwen-1.5B \
--max-model-len 4096 \
--gpu-memory-utilization 0.7 \
--max-num-batched-tokens 1024 \
--max-num-seqs 4 \
--port 8000 \
--tensor-parallel-size 1 \
--trust-remote-code
- /path/to/De
- epSeek-R1-Distill-Qwen-7B:替換爲實際的模型路徑。
- --max-model-len:設置
- 模型的最大輸入長度。
- --port:設置 API 的端口號。
- --tensor-parallel-size:設置張量並行的 GPU 數量。
- --trust-remote-code:信任遠程代碼,用於加載模型。
3、調用 vLLM 推理服務
- 以下是 postman 調用示 vllm 推理服務示例:
url:http://localhost:8000/v/completions
headers: Content-Type:application/json
body:{
"model": "DeepSeek-R1-Distill-Qwen-1.5B",
"prompt": "你是誰",
"max_tokens": 1024,
"temperature": 0.7,
"stream":true
}
到這裏整個過程就完成了,可以通過 dify 等應用構建平臺對接本地大模型並編排應用,後續將持續更新 dify 編排應用相關操作和大模型其他信息!
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/iSmbo0gSfSx1oEz28hHnEQ