一条算式解释所有现象
每生成一个 token 需读取一次激活权重,decode 速度 ≈ 内存带宽 ÷ 激活权重体积:
- Llama 3.1 70B FP8 ≈ 70GB → 273/70 ≈ 3.9 tok/s 理论上限(LMSYS 实测 2.7,已贴物理极限)
- 70B Q4(≈40GB)→ 约 6–7 tok/s,依然不适合交互
- gpt-oss-120B 是 MoE,每 token 仅激活 5.1B → 60 tok/s
结论:软件优化救不了 decode,只能救 prefill 和 batch。
选型第一问:你的模型是 MoE 吗?
- 是 MoE(gpt-oss / Qwen-Flash / GLM-Flash 系)→ GB10 是天选机器
- 是 dense 70B+ 要交互 → 这不是你的机器,去看 Mac Studio(带宽 3 倍)或 RTX 5090
实用配方
- 推理引擎:llama.cpp / vLLM / SGLang 都可,MoE 用 MXFP4 或 EXL3
- 开 MTP 投机解码:Qwen 系 12→31+ tok/s
- KV cache 量化:
-ctk q4_0 -ctv q4_0 --kv-unified(llama.cpp) - 欢迎在评论区补充你的参数,长期更新