两天调优单块 Tesla P40:35B MoE、完整 262k 上下文,短上下文约 60 t/s、深至 100k 时约 30 t/s,且不使用低于 Q4 的量化
Two days tuning a single Tesla P40: 35B MoE, full 262k context, ~60 t/s short and ~30 t/s at 100k deep. No sub-Q4 quants.
这是一篇 Reddit r/LocalLLaMA 社区帖子,作者记录在单块 24GB Tesla P40(PCIe x1、Windows、自改 llama.cpp)上运行 Ornith 1.5 35B-A3B 模型、保持 Q4_0 权重与 q8_0 KV 的调优过程。文中列出带来提升的做法(关闭 ECC、KV 用 q8_0 而非 q4_0、检查 MTP 头是否训练、为 flash-attention 的 KQ 部分使用 int8 dp4a、限制 MTP 预填充窗口)以及未奏效的尝试(f16 KV、核内反量化 V、官方 Q4_K_M),并给出 llama-bench 测试数据。适合在本机用单卡或旧款显卡跑大模型推理、关注量化与 llama.cpp 调优的人阅读。
- 分级
- 值得看
- 收录时间
- 2026-10-29
原帖
i Got a bit obsessed with my P40 this week trying to max speed on Ornith 1.5 35B-A3B (qwen3.5 MoE arch) without going below Q4 weights or q8 KV. Shrinking quants to win a benchmark has not really been useful to me so ai wanted a logical middle ground that was still “fast
中文大意
发帖人花两天调优单块 Tesla P40(24GB,PCIe x1,Windows,自改 llama.cpp),在不下探到 Q4 以下权重、KV 保持 q8_0 的前提下跑 Ornith 1.5 35B-A3B(Qwen3.5 MoE 架构),满 262k 上下文。有效的做法:关 ECC 换来 1.5GB 显存和约 9% 解码提升;KV 用 q8_0 而非 q4_0(Pascal 上 q4 KV 随深度崩坏,32k 时 30.6 对 42.2 t/s);检查 MTP 头是否训练过(首个上传版本 MTP 头未训练,看 blk.40.nextn.shared_head_norm 均值约 1.02 为未训练、约 2.93 为已训练,草稿接受率从约 45% 升到 60-85%);flash-attention tile 内核 KQ 部分用 int8 dp4a(32k 预填充 +26%,100k …
讨论区核心观点
依据 9 条评论
- 关掉 P40 的 ECC 能多出 1.5GB 显存并带来约 9% 解码提升,对挤显存跑 AI 的人来说很值;发帖人认为 P40 上为 AI 负载开 ECC 没有意义。 出处(新标签页打开)
- Pascal 上 KV 量化不宜一味求小:q4 KV 随上下文加深明显退化(32k 时 30.6 对 42.2 t/s),与显存带宽限制有关。 出处(新标签页打开)
- 首个上传版本的 MTP 头未训练是典型疏漏,不少人可能不知道自己草稿接受率为何很差;有人因此白忙一场,本想提速反而变慢。 出处(新标签页打开)
- MTP 预填充只读最后 8k 的取巧做法引发好奇,有人问这会对命中率造成多大影响。 出处(新标签页打开)
- 有评论者希望把改动整理成可复现构建的仓库,发帖人回应说测完剩余小优化后可能推到 git/forgejo。 出处(新标签页打开)
- P40 相关内容受欢迎,有同样用 P40 的玩家表示欢迎并称赞帖子。 出处(新标签页打开)