Replies: 3 comments 3 replies
I've tested draft-tokens in 1,2,3,5,7,15 and was good :) |
2 replies
Case of DFlash2SetupExecutellama-cpp-python on git main via cmake v4.4.2 via py v3.13.12 (llama-cpp-python) took 2m14s
> python -m examples.high_level_api.high_level_api_dflash_dspark_speculative `
. --algorithm dflash2 `
. --model "Qwen3.8-27B-Q4_K_M.gguf" `
. --draft-model "Qwen3.8-27B-DFlash2-Q4_K_M.gguf" `
. --max-tokens 512 `
. --runs 5 `
. --warmup-tokens 64 `
. --n-ctx 4096 `
. --n-batch 512 `
. --n-ubatch 512 `
. --draft-tokens 3 `
. --draft-n-min 0 `
. --draft-p-min 0Execute LogSummaryPerformance was checked with unofficial dflash2 model so this improvement could be different then adviced. draft-tokens: 3 and 4 were best with +55%, while 7 is +15% change. |
1 reply
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.
Uh oh!
There was an error while loading. Please reload this page.
Community Testing Request: DFlash/DFlash2/DSpark Speculative Decoding Feedback
Hi everyone,
I am preparing experimental DFlash、DFlash2 and DSpark speculative decoding support for
llama-cpp-python.This functionality has not been officially released yet and should currently be treated as part of the upcoming
0.3.49-previewdevelopment version. I would appreciate community testing across different models, quantizations, GPUs, backends, and workloads before the final0.3.49release.More Information see wiki: Llama Speculative Decoding
Current implementation
The preview currently provides:
The same
LlamaDFlashDecodingengine handles both DFlash and DSpark, with behavior selected from the configured algorithm and draft GGUF metadata.Important preview limitations
The current implementation is:
seq_id=00.3.49releasePlease use it in a testing environment rather than a production deployment.
Models tested so far
Initial testing currently covers compatible:
Support for other compatible architectures may already work, but needs more validation. In particular, feedback for Nemotron DFlash, different DSpark variants, hybrid/recurrent models, and reduced-vocabulary sidecars would be very useful.
How to test DFlash
How to test DFlash2
For fixed-length throughput testing, add:
How to test DSpark
Run the example with
-hto see all available options:Draft-length testing
The best draft length depends on the model, draft block size, GPU, backend, quantization, prompt, and acceptance rate.
If possible, please compare several values:
A longer block is not automatically faster. Please compare final sustained throughput rather than relying only on the acceptance rate.
Feedback requested
Please include as much of the following information as possible:
The full summary printed by the example is also welcome.
Correctness notes
For the cleanest comparison, use deterministic sampling:
Even with deterministic sampling, ordinary and speculative output may diverge because target verification uses a different batch shape, which can affect floating-point tie-breaking. Please report the first divergent token instead of reporting only whether the complete outputs match.
More important warning signs include:
memory_seq_rm()operationsclose()or interpreter shutdownprocess()or synchronization timePerformance feedback
I am especially interested in:
Thank you to everyone willing to test this preview. Your results will help improve model compatibility, correctness, rollback behavior, and performance before the final
0.3.49release.— JamePeng
All reactions