vLLM 容器化部署大模型

1️⃣ 单机部署模型 🖥️

1
2
3
4
5
6
7
8
docker run --runtime nvidia \
--gpus all --name vllm \
-v /mnt/model:/root/model \
-p 8000:8000 \
--ipc=host \
vllm/vllm-openai:latest \
--model /root/model/DeepSeek-R1-Distill-Qwen-1.5B \
--served-model-name DeepSeek-R1-1.5B

需提前部署好docker的nvidia环境,可参考官方文档:https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html

┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈

2️⃣ 分布式部署模型 🌐

▌Master 节点 📦

1
2
3
4
5
6
7
8
9
10
docker run --entrypoint /bin/bash \
--network host \
--name master \
--shm-size 10.24g \
--gpus all \
--ipc=host \
-v /mnt:/root/model \
-e VLLM_HOST_IP=${MASTER_IP} \
vllm/vllm-openai:latest \
-c 'ray start --block --head --port=6379'

▌Worker 节点 ⚙️

1
2
3
4
5
6
7
8
9
10
11
docker run \
--entrypoint /bin/bash \
--network host \
--name node \
--shm-size 10.24g \
--gpus all \
--ipc=host \
-v /mnt:/root/model \
-e VLLM_HOST_IP=${WORKER_IP} \
vllm/vllm-openai:latest \
-c 'ray start --block --address=${MASTER_IP}:6379'

┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈

3️⃣ 服务启动流程 🚀

1
2
3
4
5
6
7
# 进入容器内
# docker exec -it master bash
# 启动命令
vllm serve /root/model/DeepSeek-R1-Distill-Qwen-32B \
--served-model-name DeepSeek-R1-32B \
--tensor-parallel-size 2 \
--pipeline-parallel-size 2

┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈

🌰 关键参数说明

tensor-parallel-size ➜ 显卡数量

pipeline-parallel-size ➜ 节点数量