企业级AI部署实战:DeepSeek-R1 671B模型分布式集群推理,性能拉满!

一、前言

随着 DeepSeek AI 大模型的崛起,近期私有化部署逐渐成为行业趋势。常见的部署方式之一是使用 Ollama,这对于个人用户具非常友好无需复杂的配置就能够启动。然而,相比于专业的推理引擎,如 SGLangvLLMOllama 在性能上存在一定差距。

今天带大家部署的是企业级满血版的Deepseek-R1 671B,不量化,不蒸馏版。将结合 vLLM + Ray 技术来高效部署分布式 DeepSeek-r1 满血版推理集群。

**简介:**vLLM 是一个高效的大语言模型(LLM)推理和服务库,它通过 PagedAttention 等优化技术提高了吞吐量。Ray 是一个分布式计算框架,可以轻松扩展计算密集型应用程序。结合这两种技术,可以创建高效的分布式 LLM 部署解决方案。

二、环境准备

模型下载

在Linux环境下载后的完整DeepSeek-R1模型大小为640G左右,请确保你有1T的文件存储空间

1.使用魔搭SDK下载DeepSeek-R1模型
# 安装ModelScope
pip3 install modelscope 

# 下载模型
mkdir -p /models/deepseek-r1
nohup modelscope download --model deepseek-ai/DeepSeek-R1 --local_dir /models/deepseek-r1 &
2.查看模型使用磁盘空间
root@notebook-8c6b949f-6kgwn:~# du -sh --block-size=G /models/deepseek-r1/
642G	/models/deepseek-r1/

三、软硬件环境介绍

1.硬件配置

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

2.软件工具

软件版本备注
CUDA12.2
MLNX_OFED24.10-0.7.0.0IB驱动
NCCL2.21.5GPU多卡通信
vllm0.7.2LLM推理引擎
ray2.42.0分布式计算框架

四、检查机器互通

  • 请一定要保证这几台机器网络是互通的,并记录IP地址。

安装依赖

如果你使用的是vllm+RayDocker镜像,则不需要安装以下依赖,如果不是,就需要安装如下依赖:

pip install vllm ray[default] openai transformers tqdm

五、基本部署流程

1. 启动Ray集群

首先,选择一台机器作为主节点,在主节点上启动Ray集群的head节点:

# 在主节点上执行
nohup ray start --block --head --port=6379 > ray.log &

其他都是worker,在其他工作节点上执行以下命令加入集群:

# 在每个工作节点上执行(替换<master IP>为主节点IP地址)
nohup ray start --block --address='<master IP>:6379' > ray.log &

2. 使用vLLM的分布式推理服务

vLLM提供了vllm命令行工具,可直接启动分布式推理服务。以下是启动服务命令:

# 在集群head节点上执行
nohup bash -c 'NCCL_NVLS_ENABLE=0 vllm serve /models/deepseek-r1/DeepSeek-R1/ --enable-reasoning --reasoning-parser deepseek_r1 --trust-remote-code --tensor-parallel-size 16 --host 0.0.0.0 --port=9001 --served-model-name DeepSeek-R1 --gpu-memory-utilization 0.8 --max-model-len 32768 --max-num-batched-tokens 32768 --quantization fp8' > vllm_deepseek_r1.log 2>&1 &

参数说明

  • NCCL_NVLS_ENABLE=0: 禁用NVIDIA集合通信库(NCCL)的NVLS功能。NVLS是NVIDIA Library Services的缩写,禁用它可以解决某些集群环境中的通信问题。

  • vllm serve: 启动vLLM的服务模式,使模型作为API服务持续运行,而非一次性推理。

  • /models/deepseek-r1/DeepSeek-R1/: 模型的本地路径,指向存储DeepSeek-R1模型权重和配置文件的目录。

  • --enable-reasoning: 启用vLLM的推理功能,允许模型执行更复杂的推理任务,如分步骤解决问题。

  • --reasoning-parser deepseek_r1: 指定使用DeepSeek-R1模型特定的推理结果解析器。该解析器负责处理模型输出中的推理步骤和中间结果。

  • --trust-remote-code: 允许加载和执行模型中包含的自定义代码。这对于使用自定义模块的模型(如DeepSeek)很重要,但需要确保模型来源可信。

  • --tensor-parallel-size 16: 设置张量并行度为16,意味着模型将被分割到16个GPU上运行。这种拆分方式使得超大模型能够在多个GPU上高效运行,每个GPU仅存储并计算模型的一部分。

  • --host 0.0.0.0: 服务绑定到所有网络接口,允许从外部网络访问服务。如果只想本地访问,可以设置为127.0.0.1

  • --port=9001: 设置服务监听的TCP端口为9001。客户端将通过此端口连接到vLLM服务。

  • --served-model-name DeepSeek-R1: 在API中暴露的模型名称,客户端可以通过这个名称请求模型服务。这在服务多个模型时特别有用,可以区分不同模型实例。

  • --gpu-memory-utilization 0.8: 设置GPU内存使用率上限为80%。这为系统操作和可能的波动留出了20%的缓冲空间,避免内存溢出错误。

  • --max-model-len 92768: 设置模型能处理的最大序列长度(token数)为92,768。这是一个非常大的上下文窗口,允许处理极长的输入文本。

  • --max-num-batched-tokens 92768: 设置单个批次中允许的最大token数量,这里也设置为92,768。这影响服务处理多个并发请求的能力,更大的值允许更多并发,但需要更多内存。

  • --quantization fp8: 使用FP8(8位浮点)量化技术来减少模型内存需求。FP8是NVIDIA近期支持的高效量化格式,可以在保持较好性能的同时显著减少内存占用(相比FP16或FP32)。

六、小结

好啦,今天的分享就到这里啦! 🎉

感谢大家陪伴我一起探索如何利用 vLLMRay 技术,高效部署企业级的 DeepSeek-R1 671B 模型,打造一个性能炸裂的分布式推理集群。这篇实战指南希望能为你的AI部署之旅带来一些灵感和帮助!💡

如果你觉得这篇文章对你有启发,麻烦动动小手 点赞、分享 给更多的小伙伴,让我们一起学习、一起进步!🚀 你的支持是我持续创作的最大动力!💪

再次感谢大家的阅读! 下期见,期待下次为大家带来更多干货和精彩内容!👋

七、参考文献

### 不同DeepSeek模型的核心功能、适用场景及优缺点 DeepSeek 是一系列基于 Transformer 的大型语言模型,旨在提供高性能的语言理解和生成能力。以下是几种主要的 DeepSeek 模型及其核心功能、适用场景以及各自的优缺点。 #### 1. **DeepSeek-Large** - **核心功能**: 这一版本提供了强大的基础性能,在多种自然语言处理任务上表现出色,例如文本分类、情感分析和问答系统[^1]。 - **适用场景**: 主要用于学术研究和技术开发环境下的通用 NLP 应用程序。适合需要高精度但计算资源有限的情况。 - **优点**: - 较低的成本运行复杂任务; - 能够快速适应新领域的小样本学习需求; - 更好的泛化能力和鲁棒性。 - **缺点**: - 对于极端复杂的多模态任务可能表现不足; - 需要进一步优化才能达到最佳效果。 #### 2. **DeepSeek-Max** - **核心功能**: 提供更高的参数量和支持更大的训练数据集,从而增强了其在大规模语料库上的理解力与创造力。 - **适用场景**: 广泛应用于创意写作、高级对话代理等领域,尤其适用于那些对响应质量有极高要求的应用场合。 - **优点**: - 极高的表达能力和灵活性; - 可以更好地捕捉细微差别并生成更高质量的内容; - 支持更多样化的输入形式(如表格、图片描述等)。 - **缺点**: - 计算开销较大,部署成本较高; - 存储空间占用较多。 #### 3. **DeepSeek-NL** - **核心功能**: 特别针对特定国家或地区的本地化需求设计而成,能够很好地支持当地语言特性及相关文化背景的知识检索和服务供给[^3]。 - **适用场景**: 常见于国际化企业内部沟通工具定制化解决方案或者跨国电商平台客户服务自动化流程构建当中。 - **优点**: - 出色的文化敏感度和区域适配水平; - 显著提升了跨文化交流效率的同时降低了误解风险; - 用户体验更加贴近实际生活情境。 - **缺点**: - 如果目标市场范围过广,则难以全面覆盖所有细节差异; - 更新维护频率需保持高位以免落后于最新趋势变化。 ```python import deepseek as ds # Example usage of a DeepSeek model for text generation. model = ds.Model('deepseek-max') output = model.generate("Write an essay about artificial intelligence.", max_length=500) print(output) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贾维斯Echo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值