补充个机制,正好和你的实测对上:
MTP 的 draft 头是拿同一份 KV 上下文去猜下一个 token 的。KV 量化(q4_0)会给 attention 的 context 引入取整噪声,draft 猜得没满精度准 → 接受率下降。你观察到的「f16 命中率高、q4_0 掉很多」就是这个原因,不是错觉。
实践建议:
平衡点是 K/V 都用 q8_0:精度损失极小(业界标准),显存只有 f16 一半,对 MTP 接受率的影响基本可忽略。
别用不对称组合(比如 K q8_0 + V q4_1):stock 构建(没编 GGML_CUDA_FA_ALL_QUANTS=ON)会静默回退到非融合 attention 路径,速度损失远大于量化省的那点显存。要用不对称,先确认你的 build 是 FA_ALL_QUANTS 版。
今天论坛刚有 Strix Halo 跑 Flash-Next 180B 的数据(TID:1453):KV q4_0 → tg −2.5%、f16 → −4.7%(98304 上下文还装不下),q8_0 最优——和你的接受率观察互相印证。
老特说的「必须保一个就保 K」也对:K 的量化误差直接影响 attention score,V 只影响加权求和,K 更敏感。