开源
Ornith-35B GGUF 引入 MTP 投机解码
用户为 Ornith-1.0-35B 的 IQ4_XS 版嫁接 MTP 草稿头,单卡 llama.cpp 实现 1.3-…
2026.06.29 · 周一约 4 分钟阅读评分 41
评分细项加权总分 41
- 重要性
- 30
- 新颖性
- 50
- 影响面
- 30
- 可信度
- 55
- 实质性
- 70
Reddit 用户 LordNeel(/u/Blahblahblakha)近日为其此前发布的 Ornith-1.0-35B GGUF 量化版本推送了一次更新:把一个原生 MTP(Multi-Token Prediction)草稿头嫁接到 IQ4_XS 主干上,在单卡 llama.cpp 环境下实现自投机解码(self-speculative decoding),并补充了完整的服务端、TTFT 与长上下文基准数据。
核心方案:IQ4_XS 主体 + Q6 草稿头
作者将 MTP 草稿头以 Q6 精度挂在 IQ4_XS 量化主体上,构成「同源草稿—目标」的自投机解码对。关键观察是:
- 单流解码提速 1.3–1.35 倍,从 172.6 tok/s 提升到 233.8 tok/s;
- next-token 分布与 target-only 完全一致:KLD = 0.0,32/32 样本全中;
- BF16 KLD 仅 0.073,略好于 Q4_K_M 的 0.086;
- 在长确定性生成中并未做到 bit-exact,8 个测试用例 6 个完全一致,整体 token 匹配率 93.4%。
量化保真度阶梯
作者以 top-64 next-token KL 散度(vs BF16)为指标,整理了一份精度排序,数值越低越好:
- Q8_0:KLD 0.011,Top-1 96.9%,36.9 GB
- Q6_K:KLD 0.017,Top-1 100.0%,28.5 GB
- Q5_K_M:KLD 0.035,Top-1 93.8%,24.7 GB
- IQ4_XS-MTP graft(新):KLD 0.073,Top-1 90.6%,约 19.6 GB
- Q4_K_M:KLD 0.086,Top-1 90.6%,21.2 GB
- IQ4_XS:KLD 0.143,Top-1 84.4%,18.9 GB
- Q3_K_M:KLD 0.362,Top-1 84.4%,16.8 GB
嫁接 MTP 头后的 IQ4_XS 在 KL 散度上明显优于原生 IQ4_XS,甚至略胜于 Q4_K_M,而体积控制在 19.6 GB,是兼顾质量与体积的新档位。
推理性能与服务指标
作者补全了六种量化档位的吞吐与 p95 TTFT 曲线:
- Q4_K_M 约 243 tok/s(c1)→ 约 656 tok/s(c16),p95 TTFT 约 76 ms(c1);
- 长上下文 prefill:单流下 94 ms(512 tokens)扩展到约 6.3 s(32k tokens),IQ4_XS 主体与 MTP graft 在各档位 prefill 略快于 Q4_K_M。
局限与硬件
- 服务端默认仍固定 REASONING=off,沿用上一次的设定以规避此前 reasoning 模式的 bug。
- 测试环境为单卡 RTX PRO 6000 Blackwell(96 GB),tp=1;
- Q4/Q5/Q6/Q8 档位为上游镜像并复验,Q3_K_M、IQ4_XS 与 MTP graft 为本地再生产。
模型与说明卡已发布在 Hugging Face:LordNeel/Ornith-1.0-35B-GGUF-llamacpp-tp1。
