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 基础功能测试

  1. 通过浏览器访问http://服务器IP:7860
  2. 上传测试图片(建议尺寸1024×1024以内)
  3. 输入简单问题如"描述图片内容"
  4. 观察响应时间和答案质量

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 图片预处理建议

  1. 尺寸调整:建议将输入图片调整为512×512至1024×1024像素
  2. 格式转换:优先使用PNG或JPEG格式
  3. 内容裁剪:去除无关背景,聚焦主体内容

6. 常见问题解决方案

6.1 部署问题排查

问题现象:后端服务启动失败
解决步骤

  1. 检查日志/root/workspace/qwen35awq-backend.log
  2. 确认GPU驱动版本≥525.60.13
  3. 验证CUDA工具包版本=11.8
  4. 检查模型路径权限

6.2 运行时问题

问题现象:响应速度慢
优化方案

  1. 降低max-model-len参数值
  2. 减小输入图片尺寸
  3. 使用更简洁的问题表述

问题现象:多轮对话混乱
解决方案

  1. 每次更换图片后刷新页面
  2. 在问题中明确引用图片元素
  3. 限制连续对话轮数(建议≤5轮)

7. 总结

本次部署实现了Qwen3.5-35B-AWQ-4bit模型在双24GB GPU环境下的稳定运行,关键成功因素包括:

  1. 量化方案选择:AWQ 4bit量化在精度和效率间取得平衡
  2. 推理框架优化:vLLM+compressed-tensors组合解决量化权重加载问题
  3. 资源配置合理:双卡并行充分利用硬件资源
  4. 参数调优:enforce-eager模式显著提升稳定性

实际测试表明,该部署方案能够稳定支持:

  • 每秒1-2次图文问答(取决于问题复杂度)
  • 最高4096 tokens的上下文长度
  • 多种常见图片格式的输入

获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐