使用Ray + vLLM,手把手教你如何集群部署DeepSeek-R1-Distill-Llama-70B大模型

Ray + vLLM集群部署DeepSeek-R1-Distill-Llama-70B大模型
部署运行你感兴趣的模型镜像

对于大参数模型(比如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     }'

 如何系统的去学习大模型LLM ?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

事实上,抢你饭碗的不是AI,而是会利用AI的人。

科大讯飞、阿里、华为等巨头公司发布AI产品后,很多中小企业也陆续进场!超高年薪,挖掘AI大模型人才! 如今大厂老板们,也更倾向于会AI的人,普通程序员,还有应对的机会吗?

与其焦虑……

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高。

基于此,我用做产品的心态来打磨这份大模型教程,深挖痛点并持续修改了近70次后,终于把整个AI大模型的学习门槛,降到了最低!

在这个版本当中:

第一您不需要具备任何算法和数学的基础
第二不要求准备高配置的电脑
第三不必懂Python等任何编程语言

您只需要听我讲,跟着我做即可,为了让学习的道路变得更简单,这份大模型教程已经给大家整理并打包,现在将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

一、LLM大模型经典书籍

AI大模型已经成为了当今科技领域的一大热点,那以下这些大模型书籍就是非常不错的学习资源。

在这里插入图片描述

二、640套LLM大模型报告合集

这套包含640份报告的合集,涵盖了大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(几乎涵盖所有行业)
在这里插入图片描述

三、LLM大模型系列视频教程

在这里插入图片描述

四、LLM大模型开源教程(LLaLA/Meta/chatglm/chatgpt)

在这里插入图片描述

五、AI产品经理大模型教程

在这里插入图片描述

LLM大模型学习路线 

阶段1:AI大模型时代的基础理解

  • 目标:了解AI大模型的基本概念、发展历程和核心原理。

  • 内容

    • L1.1 人工智能简述与大模型起源
    • L1.2 大模型与通用人工智能
    • L1.3 GPT模型的发展历程
    • L1.4 模型工程
    • L1.4.1 知识大模型
    • L1.4.2 生产大模型
    • L1.4.3 模型工程方法论
    • L1.4.4 模型工程实践
    • L1.5 GPT应用案例

阶段2:AI大模型API应用开发工程

  • 目标:掌握AI大模型API的使用和开发,以及相关的编程技能。

  • 内容

    • L2.1 API接口
    • L2.1.1 OpenAI API接口
    • L2.1.2 Python接口接入
    • L2.1.3 BOT工具类框架
    • L2.1.4 代码示例
    • L2.2 Prompt框架
    • L2.3 流水线工程
    • L2.4 总结与展望

阶段3:AI大模型应用架构实践

  • 目标:深入理解AI大模型的应用架构,并能够进行私有化部署。

  • 内容

    • L3.1 Agent模型框架
    • L3.2 MetaGPT
    • L3.3 ChatGLM
    • L3.4 LLAMA
    • L3.5 其他大模型介绍

阶段4:AI大模型私有化部署

  • 目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。

  • 内容

    • L4.1 模型私有化部署概述
    • L4.2 模型私有化部署的关键技术
    • L4.3 模型私有化部署的实施步骤
    • L4.4 模型私有化部署的应用场景

这份 LLM大模型资料 包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

 

您可能感兴趣的与本文相关的镜像

Vllm-v0.11.0

Vllm-v0.11.0

Vllm

vLLM是伯克利大学LMSYS组织开源的大语言模型高速推理框架,旨在极大地提升实时场景下的语言模型服务的吞吐与内存使用效率。vLLM是一个快速且易于使用的库,用于 LLM 推理和服务,可以和HuggingFace 无缝集成。vLLM利用了全新的注意力算法「PagedAttention」,有效地管理注意力键和值

<think> 嗯,用户想查找用vLLM部署DeepSeek-R1-Distill-Qwen-32B的方法。我需要从提供的引用中整理出清晰的步骤流程。 引用[1]提到V100-32GB*2硬件环境,引用[2]给出了模型下载命令,引用[3]列出了模型架构对应关系,引用[4]则包含具体的vLLM服务启动命令。这些信息需要有机整合。 注意到用户特别强调要"详细步骤",考虑将部署流程拆解成环境准备、模型获取、服务启动三个主要阶段。硬件要求部分需要明确标注最低显存配置,因为32B模型对显存要求较高。 在模型下载环节,引用[2]的modelscope命令行可以直接采用,但需要补充说明可选替代方案(HuggingFace)。启动命令部分,引用[4]的复杂参数需要解释每个关键参数的作用,比如--max-model-len和--tensor-parallel-size的配置逻辑。 考虑到用户可能遇到的实际问题,准备在验证环节增加curl测试示例和常见故障处理建议。突发奇想是否要补充性能调优技巧,但根据当前引用信息,决定保持核心步骤的简洁性。 最后设计相关问题要覆盖延伸场景:单卡部署可行性、量化方案选择、WebUI集成等,这些问题在引用中都有线索可循。特别是引用[3]提到不同规模模型,引用[2]涉及Open-WebUI,可以作为问题设计的依据。 </think> 以下是使用 **vLLM 部署 DeepSeek-R1-Distill-Qwen-32B** 的详细步骤,结合引用内容整理: --- ### **部署步骤** #### **1. 环境准备** - **硬件要求**: 至少需要 **2 张 V100-32GB 显卡**(或同级 A100/A800),显存需求约 60GB+ [^1][^3]。 - **软件依赖**: ```bash # 安装 Python 3.8+ sudo apt install python3.9 pip install vllm==0.4.1 transformers==4.39.0 ``` #### **2. 下载模型** - 通过 **ModelScope** 下载(推荐): ```bash modelscope download --model=deepseek-ai/DeepSeek-R1-Distill-Qwen-32B --local_dir ./DeepSeek-R1-Distill-Qwen-32B [^2] ``` - 或通过 **HuggingFace**: ```bash git lfs install git clone https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B ``` #### **3. 启动 vLLM 服务** ```bash vllm serve \ --model DeepSeek-R1-Distill-Qwen-32B \ # 模型路径 --quantization awq_marlin \ # 量化方案(可选优化) --max-model-len 18432 \ # 模型最大上下文长度 --max-num-batched-tokens 512 \ # 单次批处理最大 token 数 --tensor-parallel-size 2 \ # GPU 并行数(与显卡数量一致) --gpu-memory-utilization 0.98 \ # 显存利用率 --port 8000 \ # 服务端口 --enforce-eager # 避免内核兼容性问题 [^4] ``` #### **4. 验证服务** 发送测试请求: ```bash curl http://localhost:8000/generate \ -H "Content-Type: application/json" \ -d '{"prompt": "你好,DeepSeek", "max_tokens": 50}' ``` 若返回生成文本,则部署成功。 --- ### **关键参数说明** | **参数** | **作用** | **推荐值** | |---------------------------|----------------------------------------|------------------| | `--tensor-parallel-size` | 多卡并行推理 | `2`(双卡) | | `--max-model-len` | 支持的最大上下文长度 | `18432` | | `--quantization` | 量化优化(降低显存) | `awq_marlin` | | `--gpu-memory-utilization`| 显存利用率(接近1.0需确保显存充足) | `0.98` | --- ### **常见问题解决** 1. **显存不足**: - 增加 `--quantization awq`(需模型支持 AWQ 量化) - 降低 `--max-model-len` 或 `--max-num-batched-tokens` 2. **启动报错**: - 添加 `--enforce-eager` 禁用内核融合 [^4] - 检查 CUDA 版本(需 ≥ 12.1--- ### **性能优化建议** - **多卡负载均衡**:确保 `--tensor-parallel-size` 与 GPU 数量一致。 - **批处理调整**:根据请求量调整 `--max-num-seqs`(默认 1,可适当增加吞吐量)。 - **容器化部署**:使用 Docker 隔离环境(参考 [vLLM 官方文档](https://vllm.ai))[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值