Repository navigation
DFlash2 speculative decoding on a ternary 27B (PrismML fork): 2.15-2.22x on math/code on one L4, with controls #29387
NakliTechie
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
I benchmarked the DFlash2 speculative decoding from #27816 on PrismML's Ternary Bonsai 2 27B. Mainline can't load that GGUF, so I used PrismML's fork with #27816 cherry-picked on top (upstream there as PrismML-Eng#261). The DFlash2 code is unchanged from mainline, so these numbers may be useful here.
Setup:
llama-server, NVIDIA L4 (sm_89, CUDA 12.8), greedy,-np 1, targetTernary-Bonsai-2-27B-PQ2_0.gguf, drafter Q4_K_M. Speedup is decode tok/s against the fastest plain config on the same GPU (PTQ1_0, no speculation).Findings that may be useful beyond this model:
--spec-type ngram-modon the same sets: 0.92-0.95x. It only helps on HumanEval (1.68x), where 64% of each answer copies the prompt. DFlash2 gets 2.66x there. That makes HumanEval a misleading headline for any speculative method.--spec-draft-n-max 7is best for code/math/extraction (about 2-2.3x).3is best for open-ended text: MT-Bench writing goes from 0.98x to 1.26x, and code/math lose about 15%. A per-requestspeculative.n_maxexists and could switch between them.Build (verified on a clean L4):
While testing I found that
cmake --build ... -jwith no number ran out of memory on a 30 GB machine, and a build with noCMAKE_CUDA_ARCHITECTUREScompiled every architecture on CMake 3.22.Links:
All reactions