Qwen3.5 多模态模型部署 OOM 排查:enforce-eager 参数配置详解
引言:一次典型的部署'翻车'现场
上周在部署 Qwen3.5-35B-A3B-AWQ-4bit 多模态模型时,遇到了一个棘手的问题:服务启动后,一旦上传图片进行推理,GPU 内存瞬间爆满,直接报 OOM(Out Of Memory)错误。
按理说,Qwen3.5-35B-A3B-AWQ-4bit 是经过 4 位量化的多模态模型,在双卡 24GB 环境下应该能稳定运行。实际情况却是,模型加载正常,Web 界面也能打开,可一进入推理阶段,显存使用量就像坐火箭一样飙升,几秒钟内就把两张卡的显存全部吃光。
经过几个小时的排查,最终发现问题的根源竟然是一个看似不起眼的参数:enforce-eager。下面就来复盘这次 OOM 问题的定位和修复过程。
问题现象:从正常启动到突然崩溃
1. 部署环境与配置
先简单介绍一下当时的部署环境:
- 硬件:双卡 GPU,每卡 24GB 显存
- 模型:Qwen3.5-35B-A3B-AWQ-4bit(4 位量化多模态版本)
- 部署框架:vLLM + compressed-tensors
- 前端界面:基于 Gradio 的图文对话页面
按照标准的部署流程启动服务:
# 启动后端服务
cd /root/workspace
python -m vllm.entrypoints.openai.api_server \
--model /root/models/Qwen3.5-35B-A3B-AWQ-4bit \
--tensor-parallel-size 2 \
--max-model-len 4096 \
--port 8000
# 启动前端 Web 服务
cd /root/workspace/web
python app.py --port 7860
两个服务都正常启动,日志显示模型加载成功:
INFO 07-15 14:30:22 vllm.engine.llm_engine: Loading model weights...
INFO 07-15 14:32:15 vllm.engine.llm_engine: Model loaded in 113.93 seconds
INFO 07-15 14:32:15 vllm.engine.llm_engine: KV cache pool created with 4096 blocks
2. OOM 错误的具体表现
问题出现在第一次实际使用的时候。当我通过 Web 界面上传一张图片并提问时,后端日志开始出现异常:
ERROR 07 :: vllm.engine.llm_engine: CUDA memory. Tried GiB (GPU ; GiB total capacity; GiB already allocated; GiB ; GiB reserved total PyTorch)

