5分钟在本地PC上使用VLLM快速启动DeepSeek-R1-Distill-Qwen-32B
- 前言
- 环境准备
- 所需工具
- 创建虚拟环境
- 安装VLLM及依赖库
- 模型下载
- 安装Hugging Face CLI
- 下载DeepSeek-R1-Distill-Qwen-32B
- 模型启动
- 启动命令
- 启动确认
- 模型验证
- 发送API请求
- 示例输出
- 注意事项
- 参考链接
前言
VLLM 是一个高效且轻量的大规模语言模型(LLM)服务器。本文将介绍如何在本地PC上使用VLLM快速启动 DeepSeek-R1-Distill-Qwen-32B 这一高性能语言模型。按照本文的步骤操作,您可以在5分钟内完成模型的启动。
环境准备
所需工具
请确保已安装以下工具:
- conda:用于管理Python虚拟环境。
- pip:用于安装Python包。
- VLLM:用于高效运行LLM的服务器。
- flash-attn:用于加速模型推理的库。
创建虚拟环境
首先,创建一个Python 3.11的虚拟环境并激活它。
conda create -n vllm_v0.7.1 python=3.11 -y
conda activate vllm_v0.7.1
安装VLLM及依赖库
运行以下命令安装VLLM和flash-attn
。
pip install vllm
pip install flash-attn --no-build-isolation
模型下载
安装Hugging Face CLI
为了下载模型,首先安装Hugging Face CLI。
pip install "huggingface_hub[hf_transfer]"
下载DeepSeek-R1-Distill-Qwen-32B
使用以下命令下载 DeepSeek-R1-Distill-Qwen-32B 模型。
HF_HUB_ENABLE_HF_TRANSFER=1 \
huggingface-cli download deepseek-ai/DeepSeek-R1-Distill-Qwen-32B
模型启动
启动命令
使用以下命令启动模型。
(通过CUDA_VISIBLE_DEVICES
指定使用的GPU,并通过--tensor-parallel-size
指定GPU数量。)
CUDA_VISIBLE_DEVICES=3,1,0,2 \
VLLM_USE_V1=1 \
VLLM_WORKER_MULTIPROC_METHOD=spawn \
vllm serve deepseek-ai/DeepSeek-R1-Distill-Qwen-32B \
--trust-remote-code --served-model-name gpt-4 \
--gpu-memory-utilization 0.98 --tensor-parallel-size 4 \
--port 8000 --max-model-len 65536
启动确认
成功启动后,您将看到以下消息:
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
模型验证
发送API请求
使用以下命令向启动的模型发送API请求,验证其是否正常运行。
invoke_url='http://localhost:8000/v1/chat/completions'
authorization_header='Authorization: Bearer sk-dummy'
accept_header='Accept: application/json'
content_type_header='Content-Type: application/json'
data=$'{
"messages": [
{
"role": "user",
"content": "Which number is larger, 9.11 or 9.8?"
}
],
"stream": false,
"model": "gpt-4",
"max_tokens": 4096,
"presence_penalty": 0,
"frequency_penalty": 0,
"top_p": 0.7,
"temperature": 0.6
}'
response=$(curl --silent -i -w "\n%{http_code}" --request POST \
--url "$invoke_url" \
--header "$authorization_header" \
--header "$accept_header" \
--header "$content_type_header" \
--data "$data"
)
echo "$response"
示例输出
您将收到类似以下的响应:
注意事项
- GPU内存设置:
--gpu-memory-utilization 0.98
用于设置GPU内存利用率,请根据您的环境调整。 - 张量并行处理:
--tensor-parallel-size 4
应根据使用的GPU数量进行调整。 - 端口号:
--port 8000
是API的端口号,如果与其他应用程序冲突,请更改。
参考链接
- VLLM官方文档
- DeepSeek-R1-Distill-Qwen-32B(Hugging Face)
按照以上步骤,您可以在本地PC上快速启动 DeepSeek-R1-Distill-Qwen-32B 模型。赶快试试吧!