TurboQuant fixes Qwen3.6
Key point
TurboQuant fixed a speculative decoding bug in its Qwen3.6 fork.
Details
When running Qwen3.6-35B-A3B on the TurboQuant fork, speculative decoding was silently ignored, falling back to regular decoding without any error.
The cause was Qwen3.6's hybrid architecture. Instead of a regular transformer, it mixes in recurrent layers, which require a rollback to revert internal state when a draft token is rejected — but TurboQuant's recurrent layer didn't support this.
- This issue was first fixed in mainline llama.cpp's recent PR #19493.
- The TurboQuant fork hadn't yet incorporated that change, so speculative decoding was effectively not working.
- The author merged this patch into the fork and stated that benchmarking has also been completed.
Vocab compatibility between the draft model and main model also matters.
- Using Qwen3.5-0.8B as the draft with Qwen3.6-35B-A3B as the main model triggers a
vocabs not compatiblewarning. - If the tokenizers aren't exactly identical, llama.cpp incurs extra overhead converting tokens.
- Even without perfect compatibility, speculative decoding still runs, but the speed gains can diminish depending on the model combination and generated content.
Significant speedups remain possible especially for tasks with many predictable tokens, such as code generation.
This summary was generated automatically by AI. Check the original for the author's claims and context. Copyright belongs to the original author.
Our guide explains how the AI works. Report summary errors, attribution issues, or removal requests via Contact.