一、先准备机器

示例建议:

  • 优先使用阿里云。
  • GPU 选 A10 或更高等级。
  • 不建议选 T4,这类卡在大模型集群场景下通常偏弱。

Day003-大模型私有化部署-图13

Day003-大模型私有化部署-图14

Day003-大模型私有化部署-图15

Day003-大模型私有化部署-图16

二、部署前准备

2.1 安装驱动和 CUDA

所有机器都要完成这一步。示例里提到阿里云通常会自动装好,如果没有,则需要去 NVIDIA 官网或云厂商文档安装对应版本。

可参考:

https://help.aliyun.com/zh/egs/user-guide/install-a-gpu-driver-on-a-gpu-accelerated-compute-optimized-linux-instance

2.2 下载模型

模型只需要在一个节点上下载即可。示例里选的是:

deepseek-ai/DeepSeek-R1-Distill-Qwen-14B

先安装 modelscope

pip3 install modelscope

下载模型:

mkdir -p /models/
modelscope download \
  --model deepseek-ai/DeepSeek-R1-Distill-Qwen-14B \
  --local_dir /models/DeepSeek-R1-14B

2.3 安装 Ray、vLLM 和依赖

所有机器都执行:

pip3 install vllm==0.7.2 ray[default]==2.42.0 openai transformers tqdm pyarrow pandas

三、启动 Ray 集群

3.1 主节点启动

nohup ray start --block --head --port 6379 &> /var/log/ray.log &

3.2 从节点加入集群

nohup ray start --block --address='<master-ip>:6379' &> /var/log/ray.log &

3.3 查看集群状态

ray status

四、在主节点启动 vLLM 服务

export NCCL_NVLS_ENABLE=0

nohup vllm serve /models/DeepSeek-R1-14B/ \
  --enable-reasoning \
  --reasoning-parser deepseek_r1 \
  --trust-remote-code \
  --tensor-parallel-size 2 \
  --port 8080 \
  --served-model-name DeepSeek-R1 \
  --gpu-memory-utilization 0.8 \
  --max-model-len 10240 \
  --max-num-batched-tokens 10240 \
  --quantization fp8 \
  &> /var/log/vllm_deepseek_r1.log &

五、关键参数说明

  • NCCL_NVLS_ENABLE=0:禁用 NCCL 的 NVLS 功能,避免部分集群环境里的通信问题。
  • --enable-reasoning:开启推理能力,适合需要分步骤推理的模型。
  • --reasoning-parser deepseek_r1:使用 DeepSeek-R1 对应的推理结果解析器。
  • --trust-remote-code:允许执行模型里自定义的远程代码,前提是模型来源可信。
  • --tensor-parallel-size 2:把模型切分到 2 张 GPU 上运行。
  • --gpu-memory-utilization 0.8:将显存上限设置为 80%,预留空间避免 OOM。
  • --max-model-len 10240:设置最大上下文长度。
  • --max-num-batched-tokens 10240:设置单批次最大 token 数量,影响并发处理能力。
  • --quantization fp8:用 FP8 量化减少显存占用。

六、在主节点测试接口

curl http://localhost:8080/v1/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "DeepSeek-R1",
    "prompt": "你好",
    "temperature": 0.7,
    "max_tokens": 50
  }'

七、如果要远程访问

还需要在云厂商的安全组策略里放开对应端口。

Day003-大模型私有化部署-图18

Day003-大模型私有化部署-图17

八、什么情况下该上集群

当你遇到以下情况时,就可以认真考虑集群模式:

  • 单卡显存放不下模型;
  • 并发量明显上来了;
  • 推理吞吐已经成为瓶颈;
  • 需要更稳定的生产级服务能力。

这时候,集群模式的价值就不只是“能部署更大的模型”,而是让服务具备继续扩展的空间。