vllm运行过程中出现cuda out of memory

VIPvllm运行过程中出现cuda out of memory
将长序列分解为多个小块,每个块分别处理。这样可以减少单次 Prefill 的计算量和显存占用,从而优化 TTFT 和显存使用效率。考虑使用 CPU 卸载(如 --cpu-offload-gb),将部分缓存卸载到 CPU 内存中,扩展 GPU 的虚拟内存。在大语言模型中,当输入序列很长(例如超过 1024 个 Token)时,Prefill 阶段的计算量会非常大。最后增加了enable-chunked-prefill参数和max_num_batched_tokens解决了问题。参数来进一步优化性能。
开通可读全文 ·3.5k 人阅读
最低0.47元/天 解锁文章

8张3090部署的大模型,使用vllm,使用一段时间出现cuda out of memory。

最后增加了enable-chunked-prefill参数和max_num_batched_tokens解决了问题。

--tensor-parallel-size 8 --gpu_memory_utilization 0.8 --enable-chunked-prefill --max-num-batched-tokens 1024

1、enable-chunked-prefill参数说明:

在大语言模型中,当输入序列很长(例如超过 1024 个 Token)时,Prefill 阶段的计算量会非常大。这会导致:

  • 首次 Token 生成时间(TTFT) 增加,即模型生成第一个 Token 的时间变长。
  • 显存占用过高,可能导致显存不足或推理效率下降。

enable-chunked-prefill 将长序列分解为多个小块,每个块分别处理。这样可以减少单次 Prefill 的计算量和显存占用,从而优化 TTFT 和显存使用效率。

2、max_num_batched_tokens参数说明:

可以通过设置 max_num_batched_tokens 参数来进一步优化性能。

max_num_batched_tokens用于控制每次批处理中的最大 Token 数量。

(1)对实时性要求较高,建议将  max_num_batched_tokens 设置为较小的值(如 256 或 512)
(2)需要处理大量请求,设置为较大的值(可以尝试  1024 ~ 4096
VIP vLLM 推理引擎性能分析基准测试 本文为 vLLM 推理引擎根据官方提供的数据集进行的性能基准测试,主要测试分析 --enable-chunked-prefill 的启用/禁用以及 --max-num-batched-tokens 参数的调整对性能的影响情况... 开通可读全文·1.6w 阅读·45 点赞·38 收藏 阅读全文

相关推荐

开源大语言模型部署(GLM-4、Qwen2)

在本地运行大模型,需要先保证自己有足够的资源。大模型一般运行在GPU上,这里以GLM-4-9B和Qwen2-7B为例来说明其硬件要求情况。

a_dreaming的博客 9110

vLLM显存OOM排查全攻略:从CUDA out of memory到参数调优实战

在大模型推理服务中,显存管理是决定稳定性与吞吐量的核心环节。CUDA out of memory(OOM)是GPU推理最常见的故障之一,而PagedAttention等显存优化技术虽能提升KV cache利用率,却因预分配策略带来新的资源规划挑战。理解显存的构成原理,包括模型权重、KV cache、CUDA context与激活值的占用机制,是定位OOM的关键。针对不同故障类型,通过gpu_memory_utilization、max_model_len、max_num_seqs等核心参数的合理配置,结合量

weixin_31062533的博客 249

Hugging Face报错「RuntimeError: CUDA error: out of memory」:大模型推理的显存管理与模型蒸馏策略

在处理大模型推理任务时,Hugging Face用户常遇到RuntimeError: CUDA error: out of memory错误,尤其在显存资源有限的情况下。本文系统性解析了该错误的成因,并提供了从显存管理到模型蒸馏的完整解决方案。 错误成因分析 模型规模过大:模型参数、KV缓存或激活值占用显存超过GPU容量。 批量大小设置不当:输入序列长度或batch size超出显存承载能力。 显存未及时释放:框架内存管理失效或缓存未清理。 混合精度训练配置错误:半精度(FP16)与全精度(FP32)混合计

shejizuopin的博客 1340

【BUG已解决】vLLM 启动出现 RuntimeError: CUDA out of memory 报错的解决方案

先降低(0.9→0.8) → 最快见效降低→ 如果不需要超长上下文使用量化模型(AWQ/GPTQ)→ 一步到位省一半以上显存多卡张量并行→ 模型太大单卡放不下时设置→ 解决幽灵OOMvLLM 的显存管理本质上是在"吞吐量"和"稳定性"之间做权衡。设置越高,理论吞吐量越大,但越容易在高峰期触发OOM;设置越低,越稳定但资源利用率打折扣。建议先在测试环境用压测工具(如 locust)模拟高峰流量,找到适合业务场景的最优参数组合,再上线生产环境。建议部署前先用nvidia-smi。

一键难忘的博客 1万+

成功解决 RuntimeError: Out of memory: CUDA out of memory 报错

本文针对vLLM 0.5.0在超长上下文(≥8k)推理时出现的"CUDA out of memory"错误进行深入分析。该问题源于KV Cache分配逻辑漏洞,导致显存计算错误。解决方案包括:升级vLLM至0.5.1+版本、拆分超长上下文、使用FP16混合精度、优化KV Cache管理、调整批量大小等。通过综合运用这些方法,开发者可在有限显存条件下稳定运行大模型长文本推理任务。文章还提供了显存监控和上下文分块处理的具体实践建议。

博客 878

HarmonyOS开发第一步:Dev Eco Studio4.0保姆级安装配置指南(含Node.js环境)

本文提供HarmonyOS开发环境搭建的保姆级教程,重点详解Dev Eco Studio 4.0的安装与配置,并攻克Node.js环境与Ohpm包管理器的关键设置难点。通过清晰的步骤指引,帮助开发者从零开始,高效完成开发环境部署,顺利迈出鸿蒙应用开发的第一步。

lake5的博客 563

DataWorks PyODPS第三方包全攻略:从打包到加载的完整流程

本文详细介绍了在DataWorks的PyODPS节点中使用第三方Python包的完整流程,包括环境限制、打包工具pyodps-pack的使用、资源上传与加载实战,以及特殊场景处理技巧。通过本文,开发者可以掌握在MaxCompute受限环境中灵活使用自定义依赖的方法,提升数据处理效率。

dd012的博客 980

NX二次开发入门必看:手把手教你搭建开发环境

想顺利开展nx二次开发,第一步就是配置好开发环境。本文详细讲解从安装准备到环境调试的完整流程,结合实际操作细节,帮你避开常见坑点,快速进入nx二次开发的实战阶段。

weixin_31569663的博客 1450

手把手教你用Siemens EDA破解工具搞定PADs VX2.7安装与卡死问题

本文详细介绍了如何使用Siemens EDA工具解决PADs VX2.7的安装与卡死问题。从License配置到性能调优,提供全面的解决方案,帮助工程师高效完成电子设计自动化任务。特别针对常见的卡顿现象,给出了输入法兼容性调整、图形性能优化等实用技巧。

k8l9m0n的博客 530

ch32v103xx 烧写

烧写方式 串口uart, usb,swd(wch link)但不建议按此使用,参官方说明。

qq_39239990的博客 631

【GAN实战】基于pytorch-CycleGAN与pix2pix的自定义数据集训练全攻略

本文详细解析了基于PyTorch的CycleGAN与pix2pix模型在自定义数据集上的完整训练流程。核心在于根据数据是否成对来正确选择模型:pix2pix适用于严格配对的“孪生”数据,而CycleGAN则擅长处理非配对的“散装”数据集。文章从数据准备、配置训练到测试应用,提供了全链路实战指南与关键参数调优心得,帮助开发者高效实现图像到图像的风格转换。

x2y3z4a5b的博客 700

第1.2章 机器人SLAM计算机基础总结(二):VSCode教程及 AI等效率插件推荐

如何高效编写代码?怎样快速调试程序?**别担心,今天就给大家带来一款超强大的编程神器 ——VSCode,以及能让编程之路 “一马平川” 的实用插件推荐,无论你是新手小白还是资深大神,都能从中受益!

行知SLAM 1852

向华为学习——解读158页 华为敏捷园区网技术解决方案【附全文阅读】

华为敏捷园区网解决方案通过策略随行和体验随身技术,满足移动办公场景下的网络需求。该方案采用敏捷交换机和防火墙自动执行策略配置,实现用户身份认证与业务策略的无缝衔接,且策略配置与IP地址解耦,简化了管理流程。相比传统技术,该方案有效解决了用户分级、QoS保障、无线接入等关键问题,确保用户在移动过程中获得一致的网络体验。

cdfunlove的博客 373

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

上一篇: prisma创建新表,添加数据时找不到对象
下一篇: mmpretrain自定义评估指标

双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —
盛世芳华
博客等级 码龄16年 6313粉丝 95原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值