Don't have that cell on the card - accept there is agentic only, same as you read (0.755 to 0.730). Chat accepted/drafted trimmed and untrimmed isn't published and I haven't pulled those two from the run logs yet. Won't guess whether chat sits under your 0.28 ceiling. If I get a quiet window I'll dig the pair out on the same accepted-over-drafted definition and post them.
Avi Fenesh
AI & ML interests
Recent Activity
Organizations
I haven't sliced the agentic set by prompt tokens yet, so I don't have that number. Your reading of the K curve feels right to me - chat landing on the asymptote and agentic as the thing that needs an explanation. If I get a quiet window I'll bucket the agentic steps by context and see whether the short bucket climbs toward that ceiling.
it's the trunk head on the draft path, not the selector codebooks.
MEMRA_FRSPEC_TRIM is the same FR-Spec ranks mask as on mtp: load-time, 32768 rows from the ranks txt. on dflash the drafter has no lm_head of its own, so the thing being masked is the head the draft path borrows when it scores draft positions (target/trunk head). verify stays on the full vocab either way. the mask only limits which tokens draft is allowed to propose.
the boot line saying "DFlash2 draft head TRIMMED" is that borrowed head, which is why it fires for a file that doesn't ship one. selector_top_k / the codebooks are a different cut. FRSPEC_TRIM does not touch those.
The 1.27 is MLX, so those results are the 3.85.
But did mint myself—results are 83.90/83.31 on q4
On masked vocab on dflash q4 the results are 87.06/86.63
So the idea prove itself on dflash2 as well. worth another post maybe.
I actually didn't try to mask further, but you made it interesting to try.
The published acceptance scalar is accepted/drafted. It also logs accepted tokens per verify round and conditional acceptance by draft position. So your second decomposition is the matching one for my numbers: roughly 6.6–7.7% step-cost saving, rather than the 8.25% i.i.d. estimate. I also agree the DFlash2 M5 Max result is not directly portable to my RTX Blackwell/Memra/NVFP4 setup.
I did try DFlash2, but with my rig it doesn't reproduce the results mentioned; the gains are
Workload MTP K=3 DFlash2 DFlash2 delta
16 chat prompts, steady 78.82 tok/s 80.51 tok/s +2.1%
16 agentic prompts, steady 77.81 tok/s 81.66 tok/s +4.9%
Nice improvement, but there's something else that also affect the numbers.
If you want the exact pack I built for this - https://huggingface.co/Avifenesh/Qwen3.8-27B-NVFP4-MTP-GGUF
Head stays native NVFP4. The ranks list is q38-ranks-sxc32768.gguf.txt on that repo if you want the trimmed-head path instead of a separate GGUF head.
Yeah that tracks. I kept thinking a fatter head would just be more accurate. Same trap. When I requantized the trimmed head to NVFP4, acceptance didn't move. Zero. The draft only has to land tokens the target will take, not match the BF16 parent. Your 48.3 to 33.1 from bumping NVFP4 up to Q5_K/Q6_K is the same movie the other way. I'll read the writeup.
Full draft head: 66.7% / 117.1 tok/s. Trimmed: 63.6% / 121.7. Later remeasure +5.1% on a Pro 6000, +6.4% on a 5090 laptop. Full head still accepts more. Loses anyway.
Not my idea. FR-Spec. I just wired it for the native MTP head.
https://huggingface.co/blog/Avifenesh/masked-mtp-drafts
Avifenesh/Qwen3.8-27B-NVFP4-MTP-GGUF