在32GB显存上以Q8量化使用Qwen3.6-27,接近100K上下文
摘要
用户分享了他们在拥有32GB显存的RTX 5090上,使用Q8量化的Qwen3.6-27B模型尝试达到115K上下文长度的配置与实验过程,并给出了基准测试结果,以及上下文长度与kv-cache量化之间的权衡。
这并非教程,更像是我在32GB VRAM上尝试为Qwen3.6-27B的Q8量化争取更高上下文的一些经验分享。免责声明:非深度研究。大众观点认为Qwen对模型量化容忍度更高,但我的体验恰恰相反。我没有任何定量数据支撑,仅凭使用它进行几个个人项目(也不大,但陆陆续续做了几周)的随性编码经历。背景:我能轻松在Q8下跑~60K上下文,且发现它比Q6或Q5效果好(纯主观体验)。但使用Q5未量化KV就能轻松达到128K上下文,所以我想看看Q8能推到多少。系统:5090 + 64GB系统RAM。远程服务器运行无头版Ubuntu。经过几次试错,以下配置可行。注意事项:VRAM刚好卡在边缘,处理长代码上下文时,可能需要适当降低上下文以腾出空间。使用的基准测试仅用于Token推理速度,别无他用。选项-b和-ub能节省约100MB VRAM。
**选项1:95K上下文,KV:Q8_0和Q8_0,启动时VRAM:230MB,基准后VRAM:90MB**
```bash
build/bin/llama-server \
-m ~/myp/models/bartowski_Qwen_Qwen3.6-27B-Q8_0.gguf \
--temp 0.6 \
--top_p 0.95 \
--top_k 20 \
--min_p 0.0 \
--repeat-penalty 1.0 \
--presence-penalty 0.0 \
-c 95000 \
-t 16 \
-ngl 99 \
--flash-attn on \
--host 0.0.0.0 --port 8080 \
--no-mmproj \
--spec-type draft-mtp \
--spec-draft-n-max 4 \
--parallel 1 \
-kvo \
-ctk q8_0 \
-ctv q8_0 \
-b 1024 \
-ub 256
```
```bash
python3 mtp_bench.py code_python pred= 192 draft= 183 acc= 145 rate=0.792 tok/s=141.6
code_cpp pred= 192 draft= 214 acc= 137 rate=0.640 tok/s=121.9
explain_concept pred= 192 draft= 225 acc= 134 rate=0.596 tok/s=115.6
summarize pred= 192 draft= 176 acc= 146 rate=0.830 tok/s=146.0
qa_factual pred= 192 draft= 198 acc= 141 rate=0.712 tok/s=131.4
translation pred= 192 draft= 221 acc= 135 rate=0.611 tok/s=117.3
creative_short pred= 192 draft= 256 acc= 126 rate=0.492 tok/s=101.5
stepwise_math pred= 192 draft= 192 acc= 142 rate=0.740 tok/s=134.3
long_code_review pred= 192 draft= 213 acc= 137 rate=0.643 tok/s=120.3
Aggregate: { "n_requests": 9, "total_predicted": 1728, "total_draft": 1878, "total_draft_accepted": 1243, "aggregate_accept_rate": 0.6619, "wall_s_total": 15.41 }
```
**选项2:105K上下文,KV:Q8_0和Q5_1,启动时VRAM:320MB,基准后VRAM:180MB**
```bash
build/bin/llama-server \
-m ~/myp/models/bartowski_Qwen_Qwen3.6-27B-Q8_0.gguf \
--temp 0.6 \
--top_p 0.95 \
--top_k 20 \
--min_p 0.0 \
--repeat-penalty 1.0 \
--presence-penalty 0.0 \
-c 105000 \
-t 16 \
-ngl 99 \
--flash-attn on \
--host 0.0.0.0 --port 8080 \
--no-mmproj \
--spec-type draft-mtp \
--spec-draft-n-max 4 \
--parallel 1 \
-kvo \
-ctk q8_0 \
-ctv q5_1 \
-b 1024 \
-ub 256
```
```bash
python3 mtp_bench.py code_python pred= 192 draft= 181 acc= 145 rate=0.801 tok/s=142.0
code_cpp pred= 192 draft= 220 acc= 136 rate=0.618 tok/s=119.8
explain_concept pred= 192 draft= 246 acc= 128 rate=0.520 tok/s=105.1
summarize pred= 192 draft= 176 acc= 146 rate=0.830 tok/s=146.0
qa_factual pred= 192 draft= 202 acc= 140 rate=0.693 tok/s=128.8
translation pred= 192 draft= 245 acc= 129 rate=0.526 tok/s=106.0
creative_short pred= 192 draft= 248 acc= 128 rate=0.516 tok/s=104.7
stepwise_math pred= 192 draft= 197 acc= 141 rate=0.716 tok/s=131.2
long_code_review pred= 192 draft= 220 acc= 135 rate=0.614 tok/s=116.1
Aggregate: { "n_requests": 9, "total_predicted": 1728, "total_draft": 1935, "total_draft_accepted": 1228, "aggregate_accept_rate": 0.6346, "wall_s_total": 15.84 }
```
**选项3:115K上下文,KV:Q8_0和Q4_0,启动时VRAM:290MB,基准后VRAM:150MB**
```bash
build/bin/llama-server \
-m ~/myp/models/bartowski_Qwen_Qwen3.6-27B-Q8_0.gguf \
--temp 0.6 \
--top_p 0.95 \
--top_k 20 \
--min_p 0.0 \
--repeat-penalty 1.0 \
--presence-penalty 0.0 \
-c 115000 \
-t 16 \
-ngl 99 \
--flash-attn on \
--host 0.0.0.0 --port 8080 \
--no-mmproj \
--spec-type draft-mtp \
--spec-draft-n-max 4 \
--parallel 1 \
-kvo \
-ctk q8_0 \
-ctv q4_0 \
-b 1024 \
-ub 256
```
```bash
python3 mtp_bench.py code_python pred= 192 draft= 186 acc= 144 rate=0.774 tok/s=138.7
code_cpp pred= 192 draft= 183 acc= 145 rate=0.792 tok/s=142.6
explain_concept pred= 192 draft= 215 acc= 136 rate=0.633 tok/s=119.7
summarize pred= 192 draft= 175 acc= 146 rate=0.834 tok/s=145.9
qa_factual pred= 192 draft= 196 acc= 141 rate=0.719 tok/s=131.6
translation pred= 192 draft= 230 acc= 133 rate=0.578 tok/s=113.1
creative_short pred= 192 draft= 229 acc= 133 rate=0.581 tok/s=113.1
stepwise_math pred= 192 draft= 181 acc= 145 rate=0.801 tok/s=142.3
long_code_review pred= 192 draft= 213 acc= 137 rate=0.643 tok/s=120.2
Aggregate: { "n_requests": 9, "total_predicted": 1728, "total_draft": 1808, "total_draft_accepted": 1260, "aggregate_accept_rate": 0.6969, "wall_s_total": 14.93 }
```
相似文章
7900XTX 24GB 显存,终于能够在 131k 上下文下容纳 Q6K+MTP 和 Qwen 3.6 27B
在 AMD 7900XTX 上优化显存使用的指南,通过编译带有 OpenBLAS 和 CUDA_FA_ALL_QUANTS 的 llama.cpp,并使用 q5_0/q4_0 的 KVCache 量化,以运行使用 Q6K 量化和 131k 上下文的 27B Qwen 模型。
在 8GB 显存和 32GB 内存上运行 Qwen3.6 35b a3b,~190k 上下文
作者分享了一种高性能的本地推理配置,使用支持 TurboQuant 的修改版 llama.cpp,在硬件受限(8GB 显存、32GB 内存)的情况下运行 Qwen3.6 35B A3B,实现了 ~37-51 tok/sec 的生成速度,并支持 ~190k 上下文。
48GB VRAM + Qwen 3.6 27B 的最佳设置
一位用户分享了在双GPU配置(RTX 4090 + RTX 3090)上使用llama.cpp运行Qwen3.6 27B (Q8_0)的优化设置,在250k上下文下实现了75-100 t/s和1500 pp。
48GB 显存实现 500k 上下文!!- 21 tok/s (编码)
一位用户报告成功部署了量化版 Nemotron-3 Super 模型,该模型支持 500k 上下文和代理编码,运行在消费级双 Titan RTX 硬件上。
Qwen 35B-A3B 在 12GB 显存下非常可用。
一位用户在12GB的RTX 3060上对Qwen 35B-A3B(一个35B参数的MoE模型)进行了基准测试,发现12GB显存是运行该模型并支持32k上下文时的实用甜点区,生成速度可达约47 token/秒。