llama.cpp Qwen3.6 长上下文参数调优指南 (RTX 3090 24GB)
llama.cpp Qwen3.6 长上下文参数调优指南 (RTX 3090 24GB)
GPU: NVIDIA RTX 3090 24GB | 测试日期: 2026-06-07 | llama.cpp: turboquant 分支 | 本地编译
⚠️ 本教程基于 turboquant/llama.cpp 分支,非官方 upstream。turboquant 分支针对 Qwen 架构做了专项优化(MTP 推测解码支持、KV cache 量化扩展、mmproj CPU offload 等)。部分参数行为(如
--spec-type mtp、cache 量化类型支持列表)可能与官方版本存在差异,跨版本使用时需验证。
目录
1. 模型总览与性能对比
以下 6 个 Qwen3.6 衍生模型在 RTX 3090 24GB 上的基准测试结果。
| # | 模型 | 模型大小 | KV量化 | 上下文 | 生成速度 | 备注 |
|---|---|---|---|---|---|---|
| [1] | Qwopus3.6-27B IQ4_XS | 15GB | q4_0 | 131K / 256K | 63 / 44 t/s | MTP 二选一 |
| [2] | Qwopus3.6-27B Q4_K_M | 16GB | q4_0 | 131K / 256K | 56 / 39 t/s | MTP 二选一 |
| [3] | Qwopus3.6-27B Q5_K_S | 18GB | q4_0 | 131K / 256K | 45 / 37 t/s | MTP 二选一 |
| [4] | Unsloth-27B Q4_K_XL | 17GB | q4_0 | 131K / 256K | 39 t/s | noMTP |
| [5] | Mudler-35B-A3B Compact | 17GB | q8_0 | 256K | 138 t/s | 纯文本 MoE |
| [6] | Unsloth-35B-A3B IQ4_XS | 18GB | q8_0 | 256K | 133 t/s | 支持视觉 |
选择建议:
- 速度+视觉 → [6] Unsloth 35B-A3B:138 t/s,q8_0 KV,mmproj 支持
- 纯文本极速 → [5] Mudler 35B-A3B Compact:138 t/s,无视觉开销
- 长上下文推理质量 → [1] IQ4_XS:15GB 最小模型,256K 44 t/s,显存余量最大
- 平衡型 → [2] Q4_K_M:速度和上下文均居中
⚠️ 模型与 KV 量化对应关系: 27B 密集模型全部使用
q4_0KV 量化(24GB 内唯一能支撑 256K 的选择);35B MoE 模型有效参数仅约 3B,可使用q8_0。
2. 关键启动参数详解
标注 🔴 的参数是必须根据你的硬件调整的项。
🔴 --ctx-size / -c
最大上下文长度(tokens)。决定显存消耗的核心参数之一。
调整指南: 12GB → 32768~65536;16GB → 65536~131072;24GB → 131072~262144。上限由模型大小和 KV 量化共同决定。每翻倍 ctx,KV cache 近似翻倍。
🔴 --cache-type-k / -ctk
K-cache 量化类型。可选:f32 f16 bf16 q8_0 q4_0 q4_1 iq4_nl q5_0 q5_1 turbo2 turbo3 turbo4。
调整指南:
f16≈ 128 bytes/token;q8_0≈ 64;q4_0≈ 32。24GB 用q4_0可达 256K;16GB 用q4_0达 131K。注意:q3_0/q2_K不被 llama.cpp 支持。
🔴 --cache-type-v / -ctv
V-cache 量化类型。通常与 --cache-type-k 一致即可。
调整指南: 保持与 K-cache 相同。仅极端省显存场景单独降 V-cache。
🔴 -t / --threads
CPU 线程数,用于 prompt eval 并行计算。
调整指南: 设置为物理核心数(非超线程)。例:i9-13900K (8P+16E=24C) →
-t 24。推荐min(物理核心, 32)。
--n-gpu-layers / -ngl
加载到 GPU 的层数。-1 = 全部 GPU(推荐)。
调整指南: 24GB →
-1;12GB → 逐步减少。每层约 200~300MB。LLaMA 层数可用llama-gguf-dump查看 block_count。
--spec-type mtp
MTP 推测解码。热缓存提速 2144%,额外消耗约 1.5~2GB 显存。
调整指南: 显存余量 > 2GB 时开启;需最大上下文时关闭。实测 IQ4_XS:43→63 t/s (+44%)。
--spec-draft-n-max
MTP 最大 draft token 数。
调整指南: 保持默认
3。增大到 5~8 无稳定提升。
-np / --parallel
并行请求序列数。1 避免 KV cache 碎片化。
调整指南: 单用户保持
1。多用户每增 1 → KV 开销翻倍。
-ub / --ubatch-size
微批次大小。增大提升 prompt eval 速度但增加显存峰值。
调整指南: 24GB →
32;16GB →16;8GB →8。
--no-warmup
跳过模型预热。无负面影响,始终开启。
--reasoning off
禁用推理模式。Qwen3.6 推理 token 占用上下文且延迟不可控。
调整指南: Agent 对话必须
off。仅复杂推理时开启。
--mmproj ... --no-mmproj-offload
视觉投影器加载在 CPU 上。对 GPU 显存和速度零影响(实测验证)。
--chat-template-file
自定义 Jinja 对话模板。Qwen 官方模板含 Python 特有逻辑,导致 Agent 框架异常。
调整指南: 使用 froggeric/Qwen-Fixed-Chat-Templates 修复版。
--host / --port
监听地址和端口。0.0.0.0:8080 允许局域网访问。
调整指南: 本机 →
127.0.0.1;局域网 →0.0.0.0。
3. MTP 推测解码:速度 vs 上下文权衡
3.1 显存代价
| 指标 | MTP 关闭 | MTP 开启 | 差值 |
|---|---|---|---|
| draft 缓存 | 0 GB | ~1.3 GB | +1.3 GB |
| 额外工作缓冲区 | 0 GB | ~0.5 GB | +0.5 GB |
| 总显存增量 | — | ~1.8 GB | +1.8 GB |
| 等价上下文损失 (q4_0) | — | ~57K tokens | −57K |
⚠️ 核心权衡: MTP 开启 → +21%~44% 速度 → 损失 ~57K tokens 上下文(q4_0 下)。256K → 199K,131K → 74K。需 200K+ 上下文时,必须关闭 MTP。
3.2 速度收益(模型依赖性)
| 模型 | MTP 关闭 | MTP 开启 | 加速比 | 评估 |
|---|---|---|---|---|
| Qwopus IQ4_XS | 43 t/s | 63 t/s | +44% | 显著有效 |
| Qwopus Q4_K_M | 39 t/s | 56 t/s | +44% | 显著有效 |
| Qwopus Q5_K_S | 37 t/s | 45 t/s | +22% | 有效但递减 |
| Unsloth Q4_K_XL | 39 t/s | 39 t/s | 0% | 不支持 |
| Mudler 35B-A3B | 138 t/s | — | — | 已足够快 |
| Unsloth 35B-A3B IQ4_XS | 133 t/s | — | — | 同上 |
Flash Attention 在 Qwen 27B 上无显存节省也无速度收益,所有配置均关闭 FA。
4. KV Cache 量化策略
4.1 各量化级别内存占用
| 量化类型 | 每 token (K+V) | 131K 占用 | 256K 占用 | 推荐场景 |
|---|---|---|---|---|
| f16 | ~128 B | ~16.4 GB | ~32 GB | 不可用 |
| q8_0 | ~64 B | ~8.2 GB | ~16 GB | 35B MoE 首选 |
| q4_0 | ~32 B | ~4.1 GB | ~8 GB | 27B 密集唯一选择 |
| iq4_nl | ~32 B | ~4.1 GB | ~8 GB | 与 q4_0 相当 |
| q5_0 | ~40 B | ~5.1 GB | ~10 GB | 边际可用 |
经验法则: 27B 模型 + 24GB →
q4_0唯一能承载 256K。35B MoE 有效参数少,可用q8_0。
5. 显存预算与上下文计算
5.1 显存分配公式
总显存 = 模型权重 + KV Cache + MTP draft 缓存 + 工作缓冲区 + CUDA 上下文
KV Cache (GB) ≈ ctx_size × kv_bytes_per_token ÷ (1024³)
简化 (27B, q4_0):
131072 ctx → ~4.1 GB
262144 ctx → ~8.2 GB
5.2 显存分配示例 (Qwopus IQ4_XS, ctx=131072)
[模型 15.0GB 62%][KV 4.1GB 18%][空闲 4.9GB 20%]
5.3 显存分配示例 (Qwopus IQ4_XS, ctx=262144)
[模型 15.0GB 62%][KV 8.2GB 34%][空闲 0.8GB 4%]
🔴 注意: 256K 仅剩 0.8 GB。MTP 需要 1.8 GB → 256K 必须关闭 MTP。开 MTP + 256K 需要 27 GB+ 显卡 (RTX 4090/A6000)。
5.4 跨显卡显存指导
| 显卡 | 推荐模型 | 推荐 CTX | KV | MTP |
|---|---|---|---|---|
| RTX 3060 12GB | IQ4_XS | 65536 | q4_0 | 可选 |
| RTX 4070 12GB | IQ4_XS | 131072 | q4_0 | 可选 |
| RTX 4080 16GB | Q4_K_M | 131072 | q4_0 | 推荐开启 |
| RTX 3090 24GB | 任意 | 262144 | q4_0/q8_0 | 131K开/256K关 |
| RTX 4090 24GB | 任意 | 262144 | q4_0/q8_0 | 131K开/256K关 |
| RTX A6000 48GB | Q5_K_S+ | 262144 | q8_0 | 始终开启 |
6. 推荐启动配置
6.1 速度优先(MTP 模式)
适合:日常 Agent 对话、短文档处理、延迟敏感
llama-server \
-m Qwopus3.6-27B-v2-MTP-IQ4_XS.gguf \
--mmproj mmproj-F32.gguf --no-mmproj-offload \
--chat-template-file chat_template.jinja \
--host 0.0.0.0 --port 8080 \
--ctx-size 131072 \
--cache-type-k q4_0 --cache-type-v q4_0 \
--n-gpu-layers -1 -t 10 -ub 32 -np 1 \
--no-warmup --reasoning off \
--spec-type mtp --spec-draft-n-max 3
6.2 长上下文优先(noMTP 模式)
适合:长文档分析、代码库理解、全量 Agent 记忆
llama-server \
-m Qwopus3.6-27B-v2-MTP-IQ4_XS.gguf \
--mmproj mmproj-F32.gguf --no-mmproj-offload \
--chat-template-file chat_template.jinja \
--host 0.0.0.0 --port 8080 \
--ctx-size 262144 \
--cache-type-k q4_0 --cache-type-v q4_0 \
--n-gpu-layers -1 -t 10 -ub 32 -np 1 \
--no-warmup --reasoning off
🔴 用户必调参数清单:
-t→ 改为你的 CPU 物理核心数--ctx-size→ 根据显存调整(见第 5 节)--cache-type-k/--cache-type-v→ 12GB 用 q4_0,48GB+ 可 q8_0--n-gpu-layers→ 12GB 需减少层数,24GB+ 保持 -1-ub→ 显存紧张降至 16 或 8-m / --mmproj→ 改为实际模型路径
7. 启动脚本使用说明
所有脚本位于 /mnt/models/llama-cpp-turboquant/,统一入口:
bash start-model.sh
二选一交互:5 秒内按 N → 长上下文模式 (256K, noMTP),否则默认速度模式 (131K, MTP)。
所有脚本已集成 --chat-template-file 使用 froggeric 修复版模板:froggeric/Qwen-Fixed-Chat-Templates
测试环境:Ubuntu 26.04 · RTX 3090 24GB · Driver 580.159.03 · CUDA 13.0 · turboquant/llama.cpp · 本地编译
构建时间:2026-06-07 | 对话模板:froggeric/Qwen-Fixed-Chat-Templates | llama.cpp: turboquant/llama.cpp
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐




所有评论(0)