Qwen 35B-A3B 在 12GB 显存下非常可用。
摘要
一位用户在12GB的RTX 3060上对Qwen 35B-A3B(一个35B参数的MoE模型)进行了基准测试,发现12GB显存是运行该模型并支持32k上下文时的实用甜点区,生成速度可达约47 token/秒。
硬件:RTX 3060 12GB 32GB DDR4-3200 Windows CUDA 13.x
模型:Qwen3.6-35B-A3B-MTP-IQ4_XS.gguf
该模型是一个 35B MoE,因此 `-ncmoe` 参数非常关键。降低 `-ncmoe` 意味着更多 MoE 块保留在 GPU 上。
# 核心结论
**12GB 显存对于这个模型而言是非常实用的规格。**
它能让足够多的 MoE 块留在 GPU 上,使纯解码变得相当快,同时仍为 16k/32k 等实用的上下文长度留出空间。
对于提示处理/预填充,我更相信 `llama-bench` 的数值,而不是 `llama-cli` 交互模式下的 `Prompt:` 行,因为 `llama-bench` 能提供更干净的 `pp512` 测量结果。
最佳纯 `llama-bench` 结果:
`-ncmoe 18 -t 9 -ctk q8_0 -ctv q8_0`
pp512: ~914 t/s
tg128: ~46.8 t/s
因此,在这个配置下,原始预填充速度非常快。
# 最佳实用编程配置
对于日常编程,我会使用以下配置:
```
llama-cli.exe ^
-m "Qwen3.6-35B-A3B-MTP-IQ4_XS.gguf" ^
-p "..." ^
-n 512 ^
-c 32768 ^
--temp 0 --top-k 1 ^
-ngl 999 -ncmoe 20 ^
-fa on ^
-ctk q8_0 -ctv q8_0 ^
--no-mmap ^
--no-jinja ^
-t 9 ^
--perf
```
结果:
上下文:32k
提示速度:~88.9 t/s(llama-cli 内)
生成速度:~43.4 t/s
剩余显存:~273 MiB
这是一个很好的平衡:足够大的上下文用于编程,速度仍然很快,且没有完全用尽显存。
# 更快的 16k 配置
`-c 16384 -ncmoe 19 -ctk q8_0 -ctv q8_0 -t 9`
结果:
提示速度:~91.5 t/s(llama-cli 内)
生成速度:~44.5 t/s
剩余显存:~37 MiB
速度略快,但非常接近显存极限。
# MoE 卸载测试
纯解码,q4 KV,`-t 11`:
- `-ncmoe 22`: tg128 ~41.6 t/s
- `-ncmoe 20`: tg128 ~41.7 t/s
- `-ncmoe 19`: tg128 ~44.2 t/s
- `-ncmoe 18`: tg128 ~45.9 t/s
- `-ncmoe 17`: tg128 ~46.6 t/s
- `-ncmoe 16`: tg128 ~25.8 t/s <-- 断崖式下降 / 过于激进
因此,对于纯解码:
安全:`-ncmoe 18`
边缘:`-ncmoe 17`
避免:`-ncmoe 16`
# KV 缓存测试
在 `-ncmoe 18`、`-t 11` 下:
- q4_0 KV:pp512 ~913 t/s,tg128 ~45.8 t/s
- q8_0 KV:pp512 ~915 t/s,tg128 ~45.9 t/s
- q5_0 KV:慢得多
- 混合 q8 K + q4/q5 V:慢得多
因此,在这张 GPU 上,q8 KV 基本上是无代价的,且更优:
`-ctk q8_0 -ctv q8_0`
# MTP/推测解码
我还用 llama.cpp 的 MTP 分支测试了 MTP。最佳 MTP 命令:
```
llama-cli.exe ^
-m "Qwen3.6-35B-A3B-MTP-IQ4_XS.gguf" ^
--spec-type mtp ^
-p "..." ^
-n 512 ^
--spec-draft-n-max 2 ^
-c 4096 ^
--temp 0 --top-k 1 ^
-ngl 999 -ncmoe 19 ^
-fa on ^
-ctk q4_0 -ctv q4_0 ^
--no-mmap ^
--no-jinja ^
-t 11 ^
--perf
```
结果:
生成速度:~47.7 t/s
MTP 测试:
- `-ncmoe 24`, 深度 2: ~43.8 t/s
- `-ncmoe 20`, 深度 2: ~46.6 t/s
- `-ncmoe 19`, 深度 2: ~47.7 t/s
- `-ncmoe 18`: 失败 / 无效的向量下标
- `-ncmoe 16`: 失败 / 无效的向量下标
深度 3 更差:
深度 3, `-ncmoe 20`: ~39.8 t/s
因此 MTP 的甜点值是:
`--spec-draft-n-max 2`
# 结论
在 12GB 显存下,纯解码已经非常强大:
纯 llama-bench:~914 t/s pp512, ~46.8 t/s tg128
最佳 MTP 观测值:~47.7 t/s 生成
因此,MTP 相比调优后的纯解码仅实现了大约 **2% 的生成速度提升**。
对于编程,我个人会使用 32k 上下文下的纯解码:
`-c 32768 -ncmoe 20 -ctk q8_0 -ctv q8_0 -t 9`
重要经验:对于这个 MoE 模型,**12GB 显存是一个非常实用的甜点值**。它能让足够多的专家留在 GPU 上,使纯解码变得快速,q8 KV 可用,且 32k 上下文也切实可行。
相似文章
Reddit r/LocalLLaMA
潜水多年的老用户,首次发帖。在 4 张 RTX 3090 上对三款 Qwen 模型分别进行了 20 多个会话的实时智能体工作测试——**Qwen3.5-27B** 稠密模型、**Qwen3.5-122B-A10B** MoE 和 **Qwen3.6-35B-A3B** MoE。以下数据均解析自持续真实负载下的 vLLM 日志,而非合成基准测试。**本文所有数据的关键负载背景:** 测试框架是一个多智能体编排器,同时运行 1-6 个并发的 OpenCode 会话,Prompt 长度为 30-60k token,并且强制执行**严格的 Bash 允许列表
Reddit r/LocalLLaMA
有开发者实测,新的 27B Qwen 3.6 模型在 24GB 显存笔记本上跑得飞起,所有 PySpark/Python 数据转换基准全部通过,再也不用买云算力订阅了。
Reddit r/LocalLLaMA
用户报告称,在 RTX 5090 本地运行 Qwen3-27B-UD-Q6_K_XL.gguf,200K 上下文速度约 50 tok/s,编码表现出乎意料地可用,标志着本地模型质量大幅跃升。
Reddit r/LocalLLaMA
一位开发者分享了在搭载 NVIDIA RTX Pro 4500 Blackwell 显卡的服务器上,使用 llama.cpp 运行 Qwen3.6-27B 模型的本地推理基准测试数据及 systemd 配置。该帖文征集了提升吞吐量的优化建议,并探讨了更大模型的潜在应用场景。
X AI KOLs Timeline
一位用户成功在三个 GTX 1080 Ti GPU 上对 27B 参数的 Qwen 模型进行本地推理,通过 TurboQuant 优化达到了约 28-30 tokens/秒的速度。