深入剖析 Qwen2.5 - 32B 模型在 VLLM 上的单机三卡部署与运行

本文涉及的产品
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_高级版,每接口累计50万次
视觉智能开放平台,图像资源包5000点
简介: 本文深入探讨了Qwen2.5 - 32B模型在VLLM框架上的部署过程,从模型下载、启动命令、资源占用分析到GPU资源分配及CUDA图应用,详述了大模型运行的挑战与优化策略,强调了硬件资源规划与技术调优的重要性。

深入剖析 Qwen2.5 - 32B 模型在 VLLM 上的部署与运行

在当今人工智能的前沿探索中,模型的部署与优化是实现其价值的关键环节。最近,我深入研究了基于 VLLM 部署 Qwen2.5 - 32B 模型的过程,在此与大家分享这段充满挑战与发现的经历。

一、启动部署:命令与初步资源占用

基于魔搭社区下载Qwen2.5 - 32B- Instruct模型

#模型下载
from modelscope import snapshot_download
model_dir = snapshot_download('Qwen/Qwen2.5-32B-Instruct')

部署之旅起始于这样一条关键命令:

vllm serve /home/XXX/.cache/modelscope/hub/Qwen/Qwen2.5 - 32B - Instruct --served-model-name Qwen2.5 - 32B - Instruct --max-model-len=16384 --dtype bfloat16 --pipeline-parallel-size 3 --use-v2-block-manager --port 8000

这里面我们用了三块显卡来部署Qwen2.5-32B-Instruct。
这一命令犹如一把启动引擎的钥匙,开启了 Qwen2.5 - 32B 模型在特定配置下的运行之旅。从核心日志中,我们能窥探到模型加载权重阶段的资源占用情况。不同进程(如 VllmWorkerProcess)在加载模型权重时消耗了相当可观的内存,例如其中一个进程占用约 21.9831GB,另一个则达到了 22.8913GB。这表明即使在尚未开始大规模推理运算时,大模型对内存资源的需求就已不容小觑,也突显了拥有足够硬件资源(如大容量内存的 GPU)对于运行此类大型模型的重要性。 这也意味着我们在三卡4090上是可以运行Qwen2.5-32B-Instruct的这里需要注意精度参数为bfloat16。

二、GPU 资源分配与 CUDA 图的应用

随着部署的推进,我们看到了关于 GPU 资源分配的详细信息:# GPU blocks: 32544, # CPU blocks: 2978。这一数据为我们展示了模型在计算资源分配上的布局,有助于我们理解其运行时的底层架构逻辑。

特别值得关注的是关于 CUDA 图的相关日志信息。模型在运行过程中尝试捕获为 CUDA 图模式,这是一种旨在提升计算效率的技术手段。然而,日志也明确提示,如果模型并非静态的,可能会引发意想不到的后果。并且,启用 CUDA 图模式会在每个 GPU 上额外占用 1~3GiB 内存。这对于内存资源本就紧张的大模型运行环境来说,是一个需要权衡的因素。如果在运行过程中遭遇内存不足的情况,日志为我们提供了几种可能的解决方案:可以考虑降低 gpu_memory_utilization 参数,以减少每个 GPU 上的内存占用比例;或者切换到急切(eager)模式,即通过设置 enforce_eager=True 或者在命令行中使用 --enforce-eager 选项来实现;还可以根据实际需求适当减少 max_num_seqs 参数,从而降低内存的使用量。

三、总结与展望

通过这次对 Qwen2.5 - 32B 模型在 VLLM 上的部署实践与核心日志分析,我们对大模型的运行机制有了更深入的理解。一方面,大模型在加载权重和运行过程中对内存等资源有着极高的要求,这需要我们在硬件配置上精心规划,确保有足够的资源来支撑其运行。另一方面,像 CUDA 图这样的优化技术虽然能带来性能提升,但也伴随着潜在风险和额外的资源消耗,需要我们根据模型的特性和实际应用场景灵活抉择。

展望未来,在大模型的部署与优化之路上,还有许多未知等待我们去探索。例如,如何进一步精细化地调整参数,以在有限的资源下实现模型性能的最大化?如何针对不同类型的模型(动态或静态)更好地利用 CUDA 图等技术?这些问题将激励着我们不断深入研究,为推动大模型在实际应用中的广泛落地而努力。希望我的这次分享能为同样在大模型部署领域探索的朋友们提供一些参考和启发,让我们共同在人工智能的浪潮中砥砺前行。

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
8月前
|
缓存 Kubernetes 异构计算
使用TensorRT-LLM进行生产环境的部署指南
TensorRT-LLM是一个由Nvidia设计的开源框架,用于在生产环境中提高大型语言模型的性能。该框架是基于 TensorRT 深度学习编译框架来构建、编译并执行计算图,并借鉴了许多 FastTransformer 中高效的 Kernels 实现,并且可以利用 NCCL 完成设备之间的通讯。
401 12
|
2月前
|
Linux iOS开发 异构计算
Ollama完成本地模型的运行
# Ollama完成本地模型的运行
336 5
Ollama完成本地模型的运行
|
2月前
|
人工智能 自然语言处理 并行计算
探索大模型部署:基于 VLLM 和 ModelScope 与 Qwen2.5 在双 32G VGPU 上的实践之旅
本文介绍了使用 `VLLM` 和 `ModelScope` 部署 `Qwen2.5` 大模型的实践过程,包括环境搭建、模型下载和在双 32G VGPU 上的成功部署,展现了高性能计算与大模型结合的强大力量。
173 3
|
4月前
|
文字识别 自然语言处理 数据可视化
Qwen2.5 全链路模型体验、下载、推理、微调、部署实战!
在 Qwen2 发布后的过去三个月里,许多开发者基于 Qwen2 语言模型构建了新的模型,并提供了宝贵的反馈。在这段时间里,通义千问团队专注于创建更智能、更博学的语言模型。今天,Qwen 家族的最新成员:Qwen2.5系列正式开源
Qwen2.5 全链路模型体验、下载、推理、微调、部署实战!
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
NVIDIA Triton系列13-用 FasterTransformer 和 Triton 加速大型 Transformer 模型的推理
本文介绍了 NVIDIA FasterTransformer 库及其在加速大型 Transformer 模型推理中的应用。FasterTransformer 是一个高效、可扩展的库,支持分布式多 GPU 推理,特别适合处理具有数万亿参数的模型。文章还详细讲解了如何使用 FasterTransformer 和 NVIDIA Triton 推理服务器优化 GPT-J 和 T5 模型的推理性能,包括张量并行、流水线并行等技术。
90 0
NVIDIA Triton系列13-用 FasterTransformer 和 Triton 加速大型 Transformer 模型的推理
|
3月前
|
Shell Docker Python
LLM-02 大模型 本地部署运行 ChatGLM3-6B(13GB) 双卡2070Super8GB 环境配置 单机多卡 基于LLM-01章节 继续乘风破浪 为大模型微调做准备
LLM-02 大模型 本地部署运行 ChatGLM3-6B(13GB) 双卡2070Super8GB 环境配置 单机多卡 基于LLM-01章节 继续乘风破浪 为大模型微调做准备
81 1
|
3月前
|
并行计算 算法 Shell
LLM-01 大模型 本地部署运行 ChatGLM2-6B-INT4(6GB) 简单上手 环境配置 单机单卡多卡 2070Super8GBx2 打怪升级!
LLM-01 大模型 本地部署运行 ChatGLM2-6B-INT4(6GB) 简单上手 环境配置 单机单卡多卡 2070Super8GBx2 打怪升级!
72 1
|
6月前
|
自然语言处理
Ollama部署本地模型
Ollama 是一个用于本地部署大型语言模型的平台。首先关闭 ollama 服务,在环境变量中设置 `OLLAMA_MODELS` 为目标模型路径,`OLLAMA_ORIGINS` 为 `"*"`,重启服务和 VSCode。启动服务 `ollama serve`,运行 `ollama run codegeex4`。配置插件接口地址为 `http://localhost:11434/v1/chat/completions`,并在模型名称处填入 `codegeex4` 启用高级模式。可能需优化下载速度并解决其他问题。
457 4
|
6月前
|
并行计算 PyTorch 算法框架/工具
LLM推理引擎怎么选?TensorRT vs vLLM vs LMDeploy vs MLC-LLM
有很多个框架和包可以优化LLM推理和服务,所以在本文中我将整理一些常用的推理引擎并进行比较。
635 2
|
8月前
|
机器学习/深度学习 人工智能 API
如何在 TensorRT-LLM 中支持 Qwen 模型
大型语言模型正以其惊人的新能力推动人工智能的发展,扩大其应用范围。然而,由于这类模型具有庞大的参数规模,部署和推理的难度和成本极高,这一挑战一直困扰着 AI 领域。此外,当前存在大量支持模型部署和推理的框架和工具,如  ModelScope 的 Model Pipelines API,和 HuggingFace 的 Text Generation Inference 等,各自都有其独特的特点和优势。然而,这些工具往往未能充分发挥  GPU 的性能。
71733 0
如何在 TensorRT-LLM 中支持 Qwen 模型