RTX 3090 24G 跑 27B 模型,能跑多少 token?
口径:Windows 水位(WDDM 桌面合成器实测占用 0.5–1.5GB,取 12% 余量)+1G 框架开销;速度 = 带宽×效率÷每 token 读取字节数,粗算 ±30%,非实测。实测投稿见页尾。
量化 × 上下文 × 状态 × 估算速度
| 上下文 | 量化档 | 权重 G | KV G | 总需求 G | 状态 | 估算 tok/s(±30%) | 框架建议 |
|---|---|---|---|---|---|---|---|
| 4K | PTQ1_0 | 5.9 | 0.25 | 7.1 | 流畅 | 90–128 | llama.cpp 单卡即可;多并发换 vLLM |
| 16K | PTQ1_0 | 5.9 | 1 | 7.9 | 流畅 | 78–109 | llama.cpp 单卡即可;多并发换 vLLM |
| 32K | PTQ1_0 | 5.9 | 2 | 8.9 | 流畅 | 66–91 | llama.cpp 单卡即可;多并发换 vLLM |
| 64K | PTQ1_0 | 5.9 | 4 | 10.9 | 流畅 | 50–69 | llama.cpp 单卡即可;多并发换 vLLM |
| 128K | PTQ1_0 | 5.9 | 8 | 14.9 | 流畅 | 34–46 | llama.cpp 单卡即可;多并发换 vLLM |
| 256K | PTQ1_0 | 5.9 | 16 | 22.9 | 装不下 | — | 装不下:换低档量化 / 卸载层 / 双卡 |
| 4K | PQ2_0 | 7.2 | 0.25 | 8.4 | 流畅 | 75–105 | llama.cpp 单卡即可;多并发换 vLLM |
| 16K | PQ2_0 | 7.2 | 1 | 9.2 | 流畅 | 66–92 | llama.cpp 单卡即可;多并发换 vLLM |
| 32K | PQ2_0 | 7.2 | 2 | 10.2 | 流畅 | 57–79 | llama.cpp 单卡即可;多并发换 vLLM |
| 64K | PQ2_0 | 7.2 | 4 | 12.2 | 流畅 | 45–62 | llama.cpp 单卡即可;多并发换 vLLM |
| 128K | PQ2_0 | 7.2 | 8 | 16.2 | 能跑但紧 | 31–43 | llama.cpp 单卡(降 KV 量化可再 25%) |
| 256K | PQ2_0 | 7.2 | 16 | 24.2 | 装不下 | — | 装不下:换低档量化 / 卸载层 / 双卡 |
| 4K | UD-IQ3_S | 12 | 0.25 | 13.3 | 流畅 | 45–64 | llama.cpp 单卡即可;多并发换 vLLM |
| 16K | UD-IQ3_S | 12 | 1 | 14 | 流畅 | 42–59 | llama.cpp 单卡即可;多并发换 vLLM |
| 32K | UD-IQ3_S | 12 | 2 | 15 | 流畅 | 38–53 | llama.cpp 单卡即可;多并发换 vLLM |
| 64K | UD-IQ3_S | 12 | 4 | 17 | 能跑但紧 | 32–45 | llama.cpp 单卡(降 KV 量化可再 25%) |
| 128K | UD-IQ3_S | 12 | 8 | 21 | 能跑但紧 | 25–34 | llama.cpp 单卡(降 KV 量化可再 25%) |
| 256K | UD-IQ3_S | 12 | 16 | 29 | 装不下 | — | 装不下:换低档量化 / 卸载层 / 双卡 |
| 4K | IQ3_S | 11 | 0.25 | 12.3 | 流畅 | 49–70 | llama.cpp 单卡即可;多并发换 vLLM |
| 16K | IQ3_S | 11 | 1 | 13 | 流畅 | 45–64 | llama.cpp 单卡即可;多并发换 vLLM |
| 32K | IQ3_S | 11 | 2 | 14 | 流畅 | 41–57 | llama.cpp 单卡即可;多并发换 vLLM |
| 64K | IQ3_S | 11 | 4 | 16 | 能跑但紧 | 34–48 | llama.cpp 单卡(降 KV 量化可再 25%) |
| 128K | IQ3_S | 11 | 8 | 20 | 能跑但紧 | 26–36 | llama.cpp 单卡(降 KV 量化可再 25%) |
| 256K | IQ3_S | 11 | 16 | 28 | 装不下 | — | 装不下:换低档量化 / 卸载层 / 双卡 |
| 4K | IQ4_XS | 14.3 | 0.25 | 15.5 | 能跑但紧 | 38–54 | llama.cpp 单卡(降 KV 量化可再 25%) |
| 16K | IQ4_XS | 14.3 | 1 | 16.3 | 能跑但紧 | 36–51 | llama.cpp 单卡(降 KV 量化可再 25%) |
| 32K | IQ4_XS | 14.3 | 2 | 17.3 | 能跑但紧 | 33–46 | llama.cpp 单卡(降 KV 量化可再 25%) |
| 64K | IQ4_XS | 14.3 | 4 | 19.3 | 能跑但紧 | 29–40 | llama.cpp 单卡(降 KV 量化可再 25%) |
| 128K | IQ4_XS | 14.3 | 8 | 23.3 | 装不下 | — | 装不下:换低档量化 / 卸载层 / 双卡 |
| 256K | IQ4_XS | 14.3 | 16 | 31.3 | 装不下 | — | 装不下:换低档量化 / 卸载层 / 双卡 |
| 4K | Q4_K_M | 16.1 | 0.25 | 17.4 | 能跑但紧 | 34–48 | llama.cpp 单卡(降 KV 量化可再 25%) |
| 16K | Q4_K_M | 16.1 | 1 | 18.1 | 能跑但紧 | 32–45 | llama.cpp 单卡(降 KV 量化可再 25%) |
| 32K | Q4_K_M | 16.1 | 2 | 19.1 | 能跑但紧 | 30–42 | llama.cpp 单卡(降 KV 量化可再 25%) |
| 64K | Q4_K_M | 16.1 | 4 | 21.1 | 装不下 | — | 装不下:换低档量化 / 卸载层 / 双卡 |
| 128K | Q4_K_M | 16.1 | 8 | 25.1 | 装不下 | — | 装不下:换低档量化 / 卸载层 / 双卡 |
| 256K | Q4_K_M | 16.1 | 16 | 33.1 | 装不下 | — | 装不下:换低档量化 / 卸载层 / 双卡 |
| 4K | Q5_K_M | 18.8 | 0.25 | 20.1 | 能跑但紧 | 29–41 | llama.cpp 单卡(降 KV 量化可再 25%) |
| 16K | Q5_K_M | 18.8 | 1 | 20.8 | 能跑但紧 | 28–39 | llama.cpp 单卡(降 KV 量化可再 25%) |
| 32K | Q5_K_M | 18.8 | 2 | 21.8 | 装不下 | — | 装不下:换低档量化 / 卸载层 / 双卡 |
| 64K | Q5_K_M | 18.8 | 4 | 23.8 | 装不下 | — | 装不下:换低档量化 / 卸载层 / 双卡 |
| 128K | Q5_K_M | 18.8 | 8 | 27.8 | 装不下 | — | 装不下:换低档量化 / 卸载层 / 双卡 |
| 256K | Q5_K_M | 18.8 | 16 | 35.8 | 装不下 | — | 装不下:换低档量化 / 卸载层 / 双卡 |
| 4K | Q6_K | 22.1 | 0.25 | 23.3 | 装不下 | — | 装不下:换低档量化 / 卸载层 / 双卡 |
| 16K | Q6_K | 22.1 | 1 | 24.1 | 装不下 | — | 装不下:换低档量化 / 卸载层 / 双卡 |
| 32K | Q6_K | 22.1 | 2 | 25.1 | 装不下 | — | 装不下:换低档量化 / 卸载层 / 双卡 |
| 64K | Q6_K | 22.1 | 4 | 27.1 | 装不下 | — | 装不下:换低档量化 / 卸载层 / 双卡 |
| 128K | Q6_K | 22.1 | 8 | 31.1 | 装不下 | — | 装不下:换低档量化 / 卸载层 / 双卡 |
| 256K | Q6_K | 22.1 | 16 | 39.1 | 装不下 | — | 装不下:换低档量化 / 卸载层 / 双卡 |
KV 列按模型架构常数实算(全注意力层线性,64 层中 16 层需全量 KV);粗算口径,误差 ±30%,标注 超原生 的行需要模型本身支持 rope 外推才真实可用。
实测锚点:这个组合已有的真机数字
以下 4 条来自站内他测/实测库(0 条本站实测),与上表公式推算分开呈现、不合并:口径照原文录,缺项明标。带「本站同口径推算」列的单流口径完整条目,才同时给出偏差。
| 分级 | decode t/s | 口径(量化/上下文/流) | 框架 | 本站同口径推算 | 偏差 | 来源 |
|---|---|---|---|---|---|---|
| 口径不全·不进对比 缺:上下文长度、KV 精度、投机解码接受率、多卡互联方式 | 101.1 | W4A16 / ? / 单流 | vLLM(OpenAI 兼容 API) 未报(只写了镜像变量 VLLM_IMAGE)(2 卡·互联未报) | — | — | 两张 3090 扛 27B:Qwen3.8-27B 大模型 DFlash2 加速版生产级落地 |
| 口径不全·不进对比 缺:上下文长度、KV 精度、投机解码接受率、多卡互联方式 | 77.8 | W4A16 / ? / 单流 | vLLM(OpenAI 兼容 API) 未报(只写了镜像变量 VLLM_IMAGE)(2 卡·互联未报) | — | — | 两张 3090 扛 27B:Qwen3.8-27B 大模型 DFlash2 加速版生产级落地 |
| 口径不全·不进对比 缺:单流还是并发、KV 精度 | 45 | AWQ 4bit / 32K / ? | vLLM 0.6.x 分支(2 卡·pcie) | — | — | 双 RTX 3090 实测:27B 模型稳定跑通 524K 超长上下文 |
| 口径不全·不进对比 缺:单流还是并发、KV 精度 | 6 | AWQ 4bit / 512K / ? | vLLM 0.6.x 分支(2 卡·pcie) | — | — | 双 RTX 3090 实测:27B 模型稳定跑通 524K 超长上下文 |
口径说明:并发吞吐与单流体验不是一个量纲,只有单流且口径完整的条目才参与偏差计算;投机解码条目缺接受率的一律不进对比(照展示)。
投机解码
本模型为 Qwen3.5 架构:GGUF 元数据含 nextn 预测层(nextn_predict_layers=1),投机解码属原生特性,具体启用看 llama.cpp/vLLM 版本更新日志。
四大主流框架怎么跑这个组合
| 框架 | 方式 | 显存开销 | 量化支持 | 启动命令模板 |
|---|---|---|---|---|
| llama.cpp | CLI / llama-server | 约 0.3–1.0G | GGUF 全系(IQ2_XXS…Q8_0) | llama-server -m <model>.gguf -ngl 99 -c 32768 --cache-type-k q8_0 |
| vLLM | 服务化 / 多并发 | 约 1–2G | AWQ / GPTQ / FP8 / GGUF(新版) | vllm serve <HF-repo> --max-model-len 32768 --gpu-memory-utilization 0.92 |
| Ollama | 一键桌面 | 约 0.5–1.5G | Q4_K_M / Q8_0 等预设档 | ollama run qwen3:8b |
| LM Studio | 图形界面 | 约 1–2G | GGUF 主流档 | (界面加载 GGUF 即可,无命令行) |
量化档最全、显存最省;单流速度上限高,多并发弱。投机解码用 --model-draft 小 draft 模型。 并发吞吐高、PagedAttention 省 KV;显存调度激进,小卡反而吃亏。投机用 --speculative-config。 部署最简单(Windows/macOS/Linux),档位少、可控参数少;本质是 llama.cpp 封装。 非技术用户首选;显存水位比同引擎 llama.cpp 略高(桌面 + JIT)。
来源链接(我们只整理,不抄数字)
- 模型官方仓库:huggingface.co/Qwen/Qwen3.8-27B —— 权重、模型卡与 config.json 权威源(KV/层数等架构常数从这里核对)。 该模型 GGUF 元数据实测:64 层、KV 头 4、head_dim 256、原生上下文 256K。本地实文件佐证:Qwen3.8-27B-UD-IQ3_S.gguf 11.5GB(IQ3_S),mmproj Q8_0 约 600MB(CLIP 768 视觉塔,27 层)。
- llama.cpp 性能与量化文档 —— 框架参数/量化定义权威源。
- vLLM 文档 —— 显存调度/投机解码参数。
- Qwen 官方仓库 —— 模型卡与 config.json 权威源。
- 实测投稿:本表 tok/s 全为公式推算。有真机输出(框架版本 + 量化 + 上下文 + `llama-bench` 曲线)的同学,可上传实测数据,核实后上表并署名。