没有高端GPU也能跑多模态:Qwen3.5-9B-AWQ-BF16-INT8 的 KTransformers CPU-GPU 混合推理实践

原创2026-11-12 20:52:201,645 阅读
文章标签:大模型多模态模型量化人工智能本地部署

没有高端GPU也能跑多模态:Qwen3.5-9B-AWQ-BF16-INT8 的 KTransformers CPU-GPU 混合推理实践

Qwen3.5-9B-AWQ-BF16-INT8 是 Qwen3.5-9B 多模态大模型的 AWQ 混合量化版本。结合 KTransformers 的 CPU-GPU 混合推理框架,你无需高端显卡,在普通电脑 + 一张消费级 GPU 上就能流畅运行支持图片、视频理解的多模态大模型。本文将带你从零理解它「为什么能跑」、量化是如何做到的,并给出 KTransformers 部署实操步骤。


一、为什么需要 CPU-GPU 混合推理

想让大模型「看得懂图、看得懂视频」,多模态模型是必选项。但传统部署方式有个硬门槛:

  • 显存吃紧:9B 参数的模型即便用 BF16,加上视觉编码器与 KV 缓存,往往也要吃满一张中高端显卡;
  • 纯 CPU 太慢:把整个模型塞进 CPU 内存,精度够了,速度却让人难以忍受。

KTransformers 的 CPU-GPU 混合推理 恰好化解了这两个矛盾:

把占大头的线性层权重放在 CPU 内存里,用高度优化的 CPU 算子(如 IPEx / OneDNN 后端)完成计算;把对延迟敏感的 KV 缓存、采样、部分注意力算子交给 GPU。

这样一来,你只需要显存不大的一张显卡就能把「主体」跑起来,多模态大模型不再是「高端机器专属」。而 Qwen3.5-9B-AWQ-BF16-INT8 正是为这类场景量身打造的量化权重。


二、认识 Qwen3.5-9B-AWQ-BF16-INT8 模型

这个仓库是 Hugging Face Transformers 格式的预训练 + 后训练权重,官方声明兼容 Transformers、vLLM、SGLang、KTransformers 等主流框架(见 README.md)。

维度 说明
基础模型 Qwen/Qwen3.5-9B(多模态,image-text-to-text)
参数量 9B,32 层,隐藏维度 4096
架构 Gated DeltaNet(线性注意力)+ Gated Attention 混合,高效低延迟
视觉能力 内置视觉编码器,支持图片与视频输入
上下文 原生 262,144 tokens,可借助 YaRN 扩展到约 1,010,000
量化形态 AWQ INT8 权重 + BF16 敏感层(compressed-tensors / pack-quantized)
模型体积 约 14.14 GB,拆分为 3 个分片

📌 核心文件速览:


三、AWQ 混合量化:INT8 与 BF16 如何分工

「AWQ-BF16-INT8」这个名字,其实就把量化策略讲清楚了:大部分权重用 INT8,少数敏感层保留 BF16。

AWQ(Activation-aware Weight Quantization,激活感知权重量化)的核心思想是:不是所有权重都同等重要。它借助校准数据,找出对输出影响大的「显著通道」,在量化时给予额外保护,从而用更低的位宽逼近原始精度。

从 recipe.yaml 可以看到这份配方的细节:

  • 量化目标:所有 Linear 层 → 8 bit、对称(symmetric)、group_size=32、group 策略,observer: mse;
  • 豁免(保留 BF16)的敏感层:
    • 整个视觉编码器 model.visual.*(保证图文对齐质量)
    • 线性注意力相关 linear_attn.*、conv1d
    • 词嵌入 embed_tokens、输出头 lm_head、多 token 预测模块 mtp
  • 平滑与缩放:通过 mappings 对 layernorm / 投影层做 activation smoothing,并启用 duo_scaling,进一步降低量化误差。

这份配置最终写入 config.json 的 quantization_config 字段(quant_method: compressed-tensors,format: pack-quantized),供推理框架自动识别加载。

效果:精度几乎无损(README 基准显示 MMLU-Pro 82.5、GPQA Diamond 81.7、OCR 类任务领先同级),而体积与显存占用显著下降,是「性价比」与「能力」的平衡点。


四、KTransformers 部署:CPU-GPU 混合推理实操

具体参数请以 KTransformers 官方「Qwen3.5 部署指南」为准,以下为通用流程。

1. 准备硬件

  • CPU:多核 x86_64,内存 ≥ 32GB(建议 64GB,容纳量化后的 14.14GB 权重 + KV 缓存)
  • GPU:8GB 起即可(16GB 更从容),用于 KV 缓存与部分算子
  • 系统:Linux(KTransformers 主要支持环境)

2. 安装 KTransformers 并校验 CPU 算子

git clone https://github.com/kvcache-ai/ktransformers.git
cd ktransformers
bash ./build.sh
pip install -r requirements.txt
python setup.py develop

# 校验 CPU 加速算子是否可用(关键,直接影响速度)
kt-kernel --test

3. 下载模型

在 GitCode 上获取本仓库权重(模型文件较大,建议用下载工具或 git lfs):

git clone https://gitcode.com/hf_mirrors/cyankiwi/Qwen3.5-9B-AWQ-BF16-INT8

4. 启动 KTransformers 推理服务

python -m ktransformers \
  --model_path ./Qwen3.5-9B-AWQ-BF16-INT8 \
  --model_type qwen3_5 \
  --backend cuda:ipex \
  --chat
  • --backend cuda:ipex:GPU 用 CUDA,CPU 侧走 Intel IPEx 加速(按需可换 cuda:onednn);
  • 启动后可通过 OpenAI 兼容接口(/v1)发起对话,也可用 --chat 直接进入交互式聊天。

5. 用 OpenAI 兼容 API 发起请求

文本、图片、视频都走同一套 Chat Completions 接口:

  • 文本:普通 messages 列表;
  • 图片:type: image_url;
  • 视频:type: video_url(可经 mm_processor_kwargs 设置 fps)。

采样参数建议(来自 README.md 官方推荐):

模式 推荐参数
思考模式·通用任务 temperature=1.0, top_p=0.95, top_k=20, presence_penalty=1.5
思考模式·精准编码 temperature=0.6, top_p=0.95, top_k=20, presence_penalty=0.0
指令模式·通用 temperature=0.7, top_p=0.8, top_k=20, presence_penalty=1.5

💡 若只想快速得到答案、不做思考,可在 chat_template_kwargs 中设 enable_thinking: False 关闭思考内容。


五、硬件与内存配置建议

配置项 最低建议 舒适建议 说明
内存(CPU) 32GB 64GB 容纳 14.14GB 权重 + KV 缓存与算子开销
显存(GPU) 8GB 16GB 主要承载 KV 缓存与部分算子
上下文长度 32K 128K+ 遇到 OOM 时优先下调上下文
后端 cuda:onednn cuda:ipex 视 CPU / 依赖选择,先跑 kt-kernel --test

六、常见问题与优化建议

  • 遇到 OOM(显存不足):优先调小上下文窗口(官方建议至少保留 128K 以维持思考能力,但本地低显存可进一步压缩)。
  • 生成速度慢:先跑 kt-kernel --test 确认 CPU 加速算子可用;再确认选择了 ipex/onednn 后端而非纯 Torch 回退。
  • 输出重复 / 跑飞:适当调高 presence_penalty(0~2),过高可能导致语言混杂。
  • 长上下文(>262K):参考 README「Processing Ultra-Long Texts」一节,通过修改 rope_parameters 或启动参数启用 YaRN。
  • 多模态预处理:视频理解可按需调整 video_preprocessor_config.json 的 longest_edge,提升长视频采样帧率。

七、总结

Qwen3.5-9B-AWQ-BF16-INT8 用 AWQ INT8 + BF16 敏感层的混合量化,把多模态大模型的体积和显存需求打了下来;再配合 KTransformers 的 CPU-GPU 混合推理,让「没有高端 GPU 也能跑多模态」从口号变成现实。

对新手而言,这条路径的意义在于:用一台普通电脑 + 一张消费级显卡,就能私有化部署支持图片与视频理解的 9B 多模态模型,兼顾能力、成本与可控性。

📚 延伸阅读:模型能力与基准详见 README.md;量化规则见 recipe.yaml;结构配置见 config.json。

登录后查看全文
Qwen3.5-9B-AWQ-BF16-INT8