DeepSeek-V3/R1 是一個(gè)專家混合(MoE)模型,擁有超過600B的參數(shù)量,模型參數(shù)的大小會(huì)影響計(jì)算資源的需求。量化優(yōu)化后的模型可以大大減小存儲(chǔ)需求。通過降低參數(shù)精度(如FP32到FP16或INT8),可以減小模型文件的大小。本文主要介紹在GPU實(shí)例上部署DeepSeek-R1-Distill模型推理服務(wù)。
一、預(yù)估DeepSeek模型所需配置
每個(gè)版本的DeepSeek-R1模型需要不同的硬件配置,選擇合適的配置有助于降低成本和提升部署效率。
模型名稱 |
模型版本 |
模型大小 |
vCPU |
內(nèi)存 |
GPU顯存 |
系統(tǒng)盤 |
推薦實(shí)例規(guī)格 |
DeepSeek-R1-Distill-Qwen-1.5B |
1.5B(15億參數(shù)) |
1.1 GB |
4核或6核處理器 |
30 GB RAM |
24 GB |
至少50 GB空閑空間 |
ecs.gn7i-c8g1.2xlarge |
DeepSeek-R1-Distill-Qwen-7B |
7B(70億參數(shù)) |
4.7 GB |
6核或8核處理器 |
32 GB RAM |
24 GB |
至少100 GB空閑空間 |
ecs.gn7i-c16g1.4xlarge |
DeepSeek-R1-Distill-Llama-8B |
8B(80億參數(shù)) |
4.9 GB |
6核或8核處理器 |
32 GB RAM |
24 GB |
至少100 GB空閑空間 |
ecs.gn7i-c16g1.4xlarge |
DeepSeek-R1-Distill-Qwen-14B |
14B(140億參數(shù)) |
9 GB |
8核以上處理器 |
64 GB RAM |
2*24 GB |
至少200 GB空閑空間 |
ecs.gn7i-2x.8xlarge |
DeepSeek-R1-Distill-Qwen-32B |
32B(320億參數(shù)) |
20 GB |
8核以上處理器 |
128 GB RAM |
4*24 GB |
至少500 GB空閑空間 |
ecs.gn7i-4x.8xlarge |
DeepSeek-R1-Distill-Llama-70B |
70B(700億參數(shù)) |
43 GB |
12核以上處理器 |
128 GB RAM |
8*24 GB |
至少1 TB空閑空間 |
ecs.gn7i-8x.16xlarge |
二、核心工具
1、NVIDIA GPU驅(qū)動(dòng):需要驅(qū)動(dòng)版本550.127.08或更高版本,以支持GPU加速。
2、vLLM:這是一個(gè)開源庫,能夠提高大語言模型推理的效率,推薦使用v0.6.4.post1版本。
3、Open WebUI:提供類似ChatGPT的用戶體驗(yàn),支持對(duì)話記錄管理、多模型切換和插件擴(kuò)展。
三、操作步驟
阿里云官網(wǎng)地址:點(diǎn)擊訪問
1、準(zhǔn)備環(huán)境:在阿里云上創(chuàng)建GPU實(shí)例,并確保安裝正確的GPU驅(qū)動(dòng)和配置。
2、實(shí)例規(guī)格:根據(jù)模型需求選擇合適的實(shí)例規(guī)格,確保能夠支持所選擇的DeepSeek-V3/R1版本。
3、操作系統(tǒng)與驅(qū)動(dòng):使用Alibaba Cloud Linux 3.2104 LTS 64位版本鏡像,并安裝適當(dāng)?shù)腉PU驅(qū)動(dòng)、CUDA和cuDNN庫。
4、安裝Docker與NVIDIA容器工具包:確保GPU驅(qū)動(dòng)和容器支持,以便容器化部署模型。
(1)Alibaba Cloud Linux/CentOS
#配置生產(chǎn)存儲(chǔ)庫 curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo | \ sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo #安裝 NVIDIA Container Toolkit 軟件包 sudo yum install -y nvidia-container-toolkit #重啟docker sudo systemctl restart docker
(2)Ubuntu/Debian
#配置生產(chǎn)存儲(chǔ)庫 curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo | \ sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo #安裝 NVIDIA Container Toolkit 軟件包 sudo yum install -y nvidia-container-toolkit #重啟docker sudo systemctl restart docker
5、數(shù)據(jù)盤掛載(可選):建議購(gòu)買數(shù)據(jù)盤(如1 TiB以上)來存儲(chǔ)下載的模型,確保系統(tǒng)盤容量足夠。
四、性能優(yōu)化
1、GPU驅(qū)動(dòng)與Docker支持:通過NVIDIA容器工具包和Docker的結(jié)合,可以顯著提升推理效率。
2、帶寬和網(wǎng)絡(luò)配置:為提升下載模型的速度,建議設(shè)置較高的公網(wǎng)帶寬峰值。
五、部署和運(yùn)行DeepSeek模型
1、執(zhí)行以下命令,拉取推理鏡像。
sudo docker pull egs-registry.cn-hangzhou.cr.aliyuncs.com/egs/vllm:0.6.4.post1-pytorch2.5.1-cuda12.4-ubuntu22.04
2、下載模型文件,可以訪問阿里云魔搭社區(qū)Modelscope選擇模型,在模型詳情頁獲取名稱。
# 定義要下載的模型名稱。MODEL_NAME需要訪問Modelscope選擇模型,在模型詳情頁獲取名稱,腳本以DeepSeek-R1-Distill-Qwen-7B為例 MODEL_NAME="DeepSeek-R1-Distill-Qwen-7B" # 設(shè)置本地存儲(chǔ)路徑。確保該路徑有足夠的空間來存放模型文件(建議預(yù)留模型大小的1.5倍空間),此處以/mnt/7B為例 LOCAL_SAVE_PATH="/mnt/7B" # 如果/mnt/7B目錄不存在,則創(chuàng)建它 sudo mkdir -p ${LOCAL_SAVE_PATH} # 確保當(dāng)前用戶對(duì)該目錄有寫權(quán)限,根據(jù)實(shí)際情況調(diào)整權(quán)限 sudo chmod ugo+rw ${LOCAL_SAVE_PATH} # 啟動(dòng)下載,下載完成后自動(dòng)銷毀 sudo docker run -d -t --network=host --rm --name download \ -v ${LOCAL_SAVE_PATH}:/data \ egs-registry.cn-hangzhou.cr.aliyuncs.com/egs/vllm:0.6.4.post1-pytorch2.5.1-cuda12.4-ubuntu22.04 \ /bin/bash -c "git-lfs clone https://www.modelscope.cn/models/deepseek-ai/${MODEL_NAME}.git /data"
3、執(zhí)行以下命令,實(shí)時(shí)監(jiān)控下載進(jìn)度,等待下載結(jié)束。 sudo docker logs -f download
當(dāng)下載任務(wù)完成后,會(huì)停止輸出新的日志,可以隨時(shí)按下Ctrl+C退出,這不會(huì)影響容器的運(yùn)行,即使退出終端也不會(huì)中斷下載。
4、啟動(dòng)模型推理服務(wù)。
# 定義要下載的模型名稱。MODEL_NAME需要訪問Modelscope選擇模型,在模型詳情頁獲取名稱,腳本以DeepSeek-R1-Distill-Qwen-7B為例 MODEL_NAME="DeepSeek-R1-Distill-Qwen-7B" # 設(shè)置本地存儲(chǔ)路徑。確保該路徑有足夠的空間來存放模型文件(建議預(yù)留模型大小的1.5倍空間),此處以/mnt/7B為例 LOCAL_SAVE_PATH="/mnt/7B" # 定義服務(wù)運(yùn)行時(shí)監(jiān)聽的端口號(hào)??梢愿鶕?jù)實(shí)際需求進(jìn)行調(diào)整,默認(rèn)使用30000端口 PORT="30000" # 定義使用的GPU數(shù)量。這取決于實(shí)例上可用的GPU數(shù)量,可以通過nvidia-smi -L命令查詢 # 這里假設(shè)使用4個(gè)GPU TENSOR_PARALLEL_SIZE="4" # 創(chuàng)建目錄并設(shè)置權(quán)限。如果目錄不存在,則創(chuàng)建它,并確保當(dāng)前用戶對(duì)該目錄有讀寫權(quán)限。 sudo mkdir -p ${LOCAL_SAVE_PATH} sudo chmod ugo+rw ${LOCAL_SAVE_PATH} # 啟動(dòng)Docker容器并運(yùn)行服務(wù) sudo docker run -d -t --network=host --gpus all \ --privileged \ --ipc=host \ --name ${MODEL_NAME} \ -v ${LOCAL_SAVE_PATH}:/data \ egs-registry.cn-hangzhou.cr.aliyuncs.com/egs/vllm:0.6.4.post1-pytorch2.5.1-cuda12.4-ubuntu22.04 \ /bin/bash -c "vllm serve /data \ --port ${PORT} \ --served-model-name ${MODEL_NAME} \ --tensor-parallel-size ${TENSOR_PARALLEL_SIZE} \ --max-model-len=16384 \ --enforce-eager \ --dtype=half"
5、運(yùn)行以下命令,檢查服務(wù)是否正常啟動(dòng)。
sudo docker logs ${MODEL_NAME}
在日志輸出中尋找類似以下的消息:
INFO: Uvicorn running on http://0.0.0.0:30000 (Press CTRL+C to quit)
這表示服務(wù)已經(jīng)成功啟動(dòng)并在端口30000上監(jiān)聽。
六、啟動(dòng)Open WebUI
1、拉取Open WebUI鏡像。
sudo docker pull alibaba-cloud-linux-3-registry.cn-hangzhou.cr.aliyuncs.com/alinux3/python:3.11.1
2、啟動(dòng)Open WebUI服務(wù)。
#設(shè)置模型服務(wù)地址 OPENAI_API_BASE_URL=http://127.0.0.1:30000/v1 # 創(chuàng)建數(shù)據(jù)目錄,確保數(shù)據(jù)目錄存在并位于/mnt下 sudo mkdir -p /mnt/open-webui-data #啟動(dòng)open-webui服務(wù) sudo docker run -d -t --network=host --name open-webui \ -e ENABLE_OLLAMA_API=False \ -e OPENAI_API_BASE_URL=${OPENAI_API_BASE_URL} \ -e DATA_DIR=/mnt/open-webui-data \ -e HF_HUB_OFFLINE=1 \ -v /mnt/open-webui-data:/mnt/open-webui-data \ alibaba-cloud-linux-3-registry.cn-hangzhou.cr.aliyuncs.com/alinux3/python:3.11.1 \ /bin/bash -c "pip config set global.index-url http://mirrors.cloud.aliyuncs.com/pypi/simple/ && \ pip config set install.trusted-host mirrors.cloud.aliyuncs.com && \ pip install --upgrade pip && \ pip install open-webui && \ mkdir -p /usr/local/lib/python3.11/site-packages/google/colab && \ open-webui serve"
3、執(zhí)行以下命令,實(shí)時(shí)監(jiān)控下載進(jìn)度,等待下載結(jié)束。
sudo docker logs -f open-webui
在日志輸出中尋找類似以下的消息:
INFO: Uvicorn running on http://0.0.0.0:8080 (Press CTRL+C to quit)
這表示服務(wù)已經(jīng)成功啟動(dòng)并在端口8080上監(jiān)聽。
4、在本地物理機(jī)上使用瀏覽器訪問http://<ECS公網(wǎng)IP地址>:8080,首次登錄時(shí),請(qǐng)根據(jù)提示創(chuàng)建管理員賬號(hào)。
在Open WebUI界面中進(jìn)行問答測(cè)試。
-
廣告合作
-
QQ群號(hào):4114653