支持私有化部署
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


手把手教你如何集群部署大模型

发布日期:2025-04-22 08:20:06 浏览次数: 1539 作者:阿铭linux
推荐语

掌握大模型集群部署的实用指南,提升你的AI工程能力。

核心内容:
1. 大参数模型部署的硬件与软件环境配置
2. 详细步骤:从环境准备到模型下载与安装
3. Ray集群的启动与状态检查

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家
↑ 点击关注,分享IT技术|职场晋升技巧|AI工具

对于大参数模型(比如70B+)的部署,要么使用多卡单机,要么使用集群。对于集群部署业界常用的方案是借用分布式计算框架Ray实现。本文我们就是用Ray + vLLM来部署一个DeepSeek-R1-Distill-Llama-70B大模型。

1、环境介绍

1)硬件

服务器 卡数 数量(台) CPU(核) 内存 系统版本
NVIDIA H100 80GB 
2卡
2
16/台
256G/台
Ubuntu 22.04.5 LTS


2)软件

软件 版本 备注
CUDA
12.2

MLNX_OFED
24.10-0.7.0.0
IB驱动
NCCL
2.21.5
GPU多卡通信
vllm
0.7.2
LLM推理引擎
ray
2.42.0
分布式计算框架


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.runsudo sh cuda_12.2.0_535.54.03_linux.run

3、模型下载(魔塔社区)

# 安装ModelScopesudo 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     }'
欢迎大家关注和点赞,为你分享更多技术、职场以及AI相关的“小作文”!

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询