Qwen 3.6 27B,多种优化方式,从 20 t/s 飙到 184 t/s

Local AI should be a default, not a privilege: private data, no per-token bill, no vendor lock-in. The hardware to run capable models already sits on desks. The software to run those chips well doesn’t.

Qwen 3.6 27B 推理速度优化技术文档

一、背景与目标

  • 模型:Qwen 3.6 27B(稠密模型,FP8 精度)
  • 硬件:单卡 RTX 4090(48GB 显存,无 P2P 通信);双卡 RTX 4090
  • 初始性能:单卡 RTX 4090 裸跑 FP8 精度,输出速度仅 20 tokens/s
  • 目标:通过多种优化手段,将单卡 RTX 4090 推理速度提升至 184 tokens/s(峰值),实现最少 5 倍、最多 10 倍的速度提升

二、量化优化(第一阶优化)

2.1 原理

  • 模型参数的位宽从 FP16 降至 4bit,体积缩小 4 倍
  • 显存带宽不变时,每次搬运的数据量减半,从而突破显存访问瓶颈,速度翻倍
  • 适用于显存受限的场景(如 RTX 4090 非高带宽显存)

2.2 量化方案对比

方案 框架 精度 速度(单卡 RTX 4090) 特点
GGUF Q4_K_M llama.cpp 4bit ~45 token/s 适合单人使用,可 offload 到内存
AWQ VLLM 4bit ~48 token/s 适合高并发场景

2.3 精度损失评估

  • 测试工具:ToolCall15 https://github.com/stevibe/ToolCall-15 + 数据提取 + 指令遵循(共 45 场景)
  • 结论:大部分场景损失可忽略,仅增加少量错误与纠错 token,但速度提升 2 倍以上,可接受。

三、投机解码 – MTP(Multi Token Prediction)

3.1 原理

  • 在模型主头之外增加多个预测头,一次并行预测后续 N 个 token
  • 大模型验证时一次通过,命中则跳过单步生成,利用 GPU 闲置算力
  • 参数 n 控制预测窗口大小(n = 1,3,5)

3.2 测试结果(单卡 RTX 4090)

配置 速度(tokens/s) 提升幅度
VLLM AWQ 无 MTP 48 基准
VLLM AWQ + MTP n = 1 71 +49%
VLLM AWQ + MTP n = 3 99 +106%
VLLM AWQ + MTP n = 5 108 +124%
FP8 无 MTP 20 基准
FP8 + MTP n = 1 38 +90%
FP8 + MTP n = 3 60 +200%
FP8 + MTP n = 5 72 +260%
  • 联合量化 + MTP 可达 5 倍提升:FP8 (20) → AWQ + MTP n = 5 (108)

3.3 llama.cpp 的投机解码

  • 采用 n-gram 方式,实测提升不明显(可能因实验场景为每次全新上下文,不适合连续多轮调用)

四、双卡并行方案

4.1 单并发性能

  • 双卡 FP8 + MTP n = 5:单并发 120 tokens/s(仅比单卡 108 tokens/s 提升 11%)
  • 瓶颈:两张 RTX 4090 间无 P2P 直连,通信需经过 CPU 内存,损耗大

4.2 多并发优势

  • 双卡在多请求场景下优势显著:10 并发时可提供更高总吞吐
  • 类比:单车道→四车道,单请求速度不变但总容量大幅提升

五、高级投机解码 – DFlash 与 DDTree

5.1 DFlash(扩散式投机解码)

  • 借鉴图像扩散模型思想:一次性生成整块模糊候选文本,再逐步去噪精炼
  • 本质是并行路径,但默认仍是单条路径验证,一错全废

5.2 DDTree(Diffusion Draft Tree)

  • 先用扩散模型生成多个备选路径(参数 22 条),同时探索
  • 任意一条路径通过即成功,大幅提升命中率
  • 实现项目:lucebox https://github.com/Luce-Org/lucebox-hub

5.3 性能表现(单卡 RTX 4090,Q4 + DFlash/DDTree)

配置 平均速度 峰值速度
本机 4090 141 tokens/s 184 token/s
参考:lucebox 3090 207 tokens/s(Qwen 3.5 27B) -

5.4 速度依赖因素

  • 任务类型:数学题(逻辑死板)→ 150 tokens/s;代码(变量灵活)→ 125 tokens/s;创意写作(自由度最高)→ 效果差
  • 适用场景:多 agent、Claude Code 等写代码场景最适合推测解码

六、KV Cache 量化 – TurboQuant

6.1 原理

  • 将 KV cache 从 FP16 压缩至 3~4 bit,压缩比约 4 倍
  • 非权重量化,为第首次实现几乎无精度损失的 KV cache 量化

6.2 效果

  • 24G 显存(如 RTX 3090)搭配 Q4 模型,可支持 200K 上下文长度
  • 已获 VLLM 0.20 及 lucebox 支持

七、生产环境推荐方案

需求 推荐配置 性能
最高精度 + 多并发 FP8 + VLLM + MTP n = 5 10 并发 ~500 tokens/s
极致单请求速度 Q4 + DFlash / DDTree(lucebox) 峰值 184 tokens/s(但暂不支持多并发、工具调用不稳定)

八、技术限制与展望

  • DFlash / DDTree 当前限制:不支持多并发、未合入 llama.cpp 主线、Claude Code 工具调用易断
  • 软件层潜力:CUDA 驱动能效比低于 Apple M5,通过 kernel 融合、降功率等优化可大幅提升能效(实验显示 RTX 3090 降功率后能效比追平 M5 Max)
  • 未来方向:更多内核级优化 + 框架原生支持,本地算力将持续升值

九、结论

通过 量化(GGUF / AWQ)MTPDFlash/DDTreeTurboQuant 的递进优化,单卡 RTX 4090 上 Qwen 3.6 27B 的推理速度从 20 tokens/s 提升至 184 tokens/s(峰值),提升超 9 倍。该路线为本地大模型从“玩具”迈向“核弹级生产力工具”提供了已验证的技术路径。

References