微信扫码
添加专属顾问
我要投稿
掌握大模型集群部署的实用指南,提升你的AI工程能力。核心内容: 1. 大参数模型部署的硬件与软件环境配置 2. 详细步骤:从环境准备到模型下载与安装 3. Ray集群的启动与状态检查
对于大参数模型(比如70B+)的部署,要么使用多卡单机,要么使用集群。对于集群部署业界常用的方案是借用分布式计算框架Ray实现。本文我们就是用Ray + vLLM来部署一个DeepSeek-R1-Distill-Llama-70B大模型。
1、环境介绍
1)硬件
服务器 | 卡数 | 数量(台) | CPU(核) | 内存 | 系统版本 |
---|---|---|---|---|---|
2)软件
软件 | 版本 | 备注 |
---|---|---|
2、环境准备
1)安装显卡驱动
sudo apt install nvidia-driver-535
2)安装cuda12.2
wget https://developer.download.nvidia.com/compute/cuda/12.2.0/local_installers/cuda_12.2.0_535.54.03_linux.run
sudo sh cuda_12.2.0_535.54.03_linux.run
3、模型下载(魔塔社区)
# 安装ModelScope
sudo pip3 install modelscope
# 下载模型
sudo mkdir -p /data/models/
sudo modelscope download --model deepseek-ai/DeepSeek-R1-Distill-Llama-70B --local_dir /models/DeepSeek-R1-Distill-Llama-70B
4、安装vllm、Ray以及依赖库
sudo pip3 install vllm ray[default] openai transformers tqdm
5、启动Ray集群
1)其中一台机器作为主节点,执行:
nohup ray start --block --head --port 6379 &> /var/log/ray.log &
2)另外一台机器作为从节点,执行:
nohup ray start --block --address='<master IP>:6379' &> /var/log/ray.log &
3)查看集群状态
ray status
出现类似日志说明集群正常:
======== Autoscaler status: 2025-04-19 09:05:15.452837 ========
Node status
---------------------------------------------------------------
Active:
1 node_10a69f12ecacc9109f72036acbdc3e51731af85034af1f5169f20e60
1 node_9df61c9a75c08d76958a6aa4f0a7685e4cde76923f9e2309a4907f45
Pending:
(no pending nodes)
Recent failures:
(no failures)
6、使用vLLM启动模型
两台机器都执行:
# 在集群head节点上执行
nohup bash -c 'NCCL_NVLS_ENABLE=0 vllm serve /models/DeepSeek-R1-Distill-Llama-70B --enable-reasoning --reasoning-parser deepseek_r1 --trust-remote-code --tensor-parallel-size 4 --port=8080 --served-model-name DeepSeek-R1 --gpu-memory-utilization 0.95 --max-model-len 32768 --max-num-batched-tokens 32768 --quantization fp8' &> /var/log/vllm_deepseek_r1.log &
参数说明:
NCCL_NVLS_ENABLE=0: 禁用NVIDIA集合通信库(NCCL)的NVLS功能。NVLS是NVIDIA Library Services的缩写,禁用它可以解决某些集群环境中的通信问题。
--enable-reasoning: 启用vLLM的推理功能,允许模型执行更复杂的推理任务,如分步骤解决问题。
--reasoning-parser deepseek_r1: 指定使用DeepSeek-R1模型特定的推理结果解析器。该解析器负责处理模型输出中的推理步骤和中间结果。
--trust-remote-code: 允许加载和执行模型中包含的自定义代码。这对于使用自定义模块的模型(如DeepSeek)很重要,但需要确保模型来源可信。
--tensor-parallel-size 4: 设置张量并行度为4,意味着模型将被分割到4个GPU上运行。这种拆分方式使得超大模型能够在多个GPU上高效运行,每个GPU仅存储并计算模型的一部分。
--gpu-memory-utilization 0.95: 设置GPU内存使用率上限为95%。
--max-model-len 32768: 设置模型能处理的最大序列长度(token数)为32,768。这是一个非常大的上下文窗口,允许处理极长的输入文本。
--max-num-batched-tokens 32768: 设置单个批次中允许的最大token数量,这里也设置为32,768。这影响服务处理多个并发请求的能力,更大的值允许更多并发,但需要更多内存。
--quantization fp8: 使用FP8(8位浮点)量化技术来减少模型内存需求。FP8是NVIDIA近期支持的高效量化格式,可以在保持较好性能的同时显著减少内存占用(相比FP16或FP32)。
7、测试大模型是否正常访问
curl http://127.0.0.1:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "DeepSeek-R1",
"messages": [
{"role": "user", "content": "你是谁?"}
],
"max_tokens": 1024
}'
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-02-04
2025-02-04
2024-09-18
2024-07-11
2024-07-09
2024-07-11
2024-07-26
2025-02-05
2025-01-27
2025-02-01
2025-04-20
2025-04-01
2025-03-31
2025-03-20
2025-03-16
2025-03-16
2025-03-13
2025-03-13