Qwen3.5-35B-AWQ-4bit双卡GPU部署详解:24GB×2稳定运行vLLM+compressed-tensors方案
·
Qwen3.5-35B-AWQ-4bit双卡GPU部署详解:24GB×2稳定运行vLLM+compressed-tensors方案
1. 模型概述
Qwen3.5-35B-A3B-AWQ-4bit是一款面向视觉多模态理解的量化模型,经过4bit AWQ量化处理后,可在双24GB GPU环境下稳定运行。该模型融合了视觉与语言理解能力,特别适合需要图片分析和图文交互的应用场景。
1.1 核心能力
| 能力类型 | 具体功能 | 应用场景 |
|---|---|---|
| 图片理解 | 识别图片中的物体、场景、文字 | 商品识别、内容审核 |
| 图文问答 | 基于图片内容进行多轮对话 | 智能客服、教育辅导 |
| 视觉描述 | 生成图片的详细文字描述 | 无障碍服务、内容创作 |
1.2 技术特点
- 高效量化:采用AWQ 4bit量化技术,模型体积缩小75%
- 双卡并行:通过vLLM框架实现双卡张量并行推理
- 稳定部署:compressed-tensors方案确保量化权重完整加载
- 中文优化:针对中文场景特别优化的多模态理解能力
2. 部署环境准备
2.1 硬件要求
最低配置:
- GPU:NVIDIA Tesla T4 (16GB) × 2
- 内存:64GB
- 存储:100GB SSD
推荐配置:
- GPU:NVIDIA RTX 3090 (24GB) × 2
- 内存:128GB
- 存储:200GB NVMe
2.2 软件依赖
# 基础环境
sudo apt-get update
sudo apt-get install -y python3.9 python3-pip
pip install torch==2.1.0+cu118 torchvision==0.16.0+cu118 --index-url https://download.pytorch.org/whl/cu118
# 核心组件
pip install vllm==0.2.7 compressed-tensors==0.1.2 transformers==4.37.0
3. 部署步骤详解
3.1 模型下载与准备
# 创建模型目录
mkdir -p /root/models/Qwen-35B-AWQ-4bit
cd /root/models/Qwen-35B-AWQ-4bit
# 下载量化模型权重
wget https://example.com/qwen35b-awq-4bit.tar.gz
tar -xzvf qwen35b-awq-4bit.tar.gz
3.2 后端服务启动
创建启动脚本start_backend.sh:
#!/bin/bash
python -m vllm.entrypoints.api_server \
--model /root/models/Qwen-35B-AWQ-4bit \
--tensor-parallel-size 2 \
--max-model-len 4096 \
--enforce-eager \
--quantization awq \
--port 8000
赋予执行权限并启动:
chmod +x start_backend.sh
nohup ./start_backend.sh > /root/workspace/qwen35awq-backend.log 2>&1 &
3.3 前端服务部署
# 克隆Web界面仓库
git clone https://github.com/example/qwen-webui.git
cd qwen-webui
# 安装依赖
pip install -r requirements.txt
# 启动服务
nohup python app.py --port 7860 --backend http://localhost:8000 > /root/workspace/qwen35awq-web.log 2>&1 &
4. 服务验证与测试
4.1 服务状态检查
# 检查后端服务
curl http://localhost:8000/health
# 检查端口占用
netstat -tulnp | grep -E '7860|8000'
# 查看GPU利用率
nvidia-smi
4.2 基础功能测试
- 通过浏览器访问
http://服务器IP:7860 - 上传测试图片(建议尺寸1024×1024以内)
- 输入简单问题如"描述图片内容"
- 观察响应时间和答案质量
4.3 压力测试建议
# 压力测试脚本示例
import requests
from io import BytesIO
from PIL import Image
import numpy as np
def generate_test_image():
arr = np.random.randint(0, 255, (512, 512, 3), dtype=np.uint8)
img = Image.fromarray(arr)
img_byte_arr = BytesIO()
img.save(img_byte_arr, format='PNG')
return img_byte_arr.getvalue()
for i in range(10):
files = {'image': ('test.png', generate_test_image())}
data = {'question': '描述这张图片的内容'}
response = requests.post('http://localhost:7860/api/ask', files=files, data=data)
print(f"请求{i+1}状态码:", response.status_code)
5. 性能优化建议
5.1 推理参数调优
| 参数 | 说明 | 推荐值 | 影响 |
|---|---|---|---|
| tensor-parallel-size | 张量并行数 | 2 | 影响GPU利用率 |
| max-model-len | 最大上下文长度 | 2048-4096 | 影响内存占用 |
| enforce-eager | 禁用CUDA图 | True | 提高稳定性 |
| quantization | 量化方法 | awq | 影响推理速度 |
5.2 图片预处理建议
- 尺寸调整:建议将输入图片调整为512×512至1024×1024像素
- 格式转换:优先使用PNG或JPEG格式
- 内容裁剪:去除无关背景,聚焦主体内容
6. 常见问题解决方案
6.1 部署问题排查
问题现象:后端服务启动失败
解决步骤:
- 检查日志
/root/workspace/qwen35awq-backend.log - 确认GPU驱动版本≥525.60.13
- 验证CUDA工具包版本=11.8
- 检查模型路径权限
6.2 运行时问题
问题现象:响应速度慢
优化方案:
- 降低
max-model-len参数值 - 减小输入图片尺寸
- 使用更简洁的问题表述
问题现象:多轮对话混乱
解决方案:
- 每次更换图片后刷新页面
- 在问题中明确引用图片元素
- 限制连续对话轮数(建议≤5轮)
7. 总结
本次部署实现了Qwen3.5-35B-AWQ-4bit模型在双24GB GPU环境下的稳定运行,关键成功因素包括:
- 量化方案选择:AWQ 4bit量化在精度和效率间取得平衡
- 推理框架优化:vLLM+compressed-tensors组合解决量化权重加载问题
- 资源配置合理:双卡并行充分利用硬件资源
- 参数调优:enforce-eager模式显著提升稳定性
实际测试表明,该部署方案能够稳定支持:
- 每秒1-2次图文问答(取决于问题复杂度)
- 最高4096 tokens的上下文长度
- 多种常见图片格式的输入
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。
更多推荐



所有评论(0)