Jump Forward Decoding Disabled? #32352
Replies: 1 comment
|
There is no documented model-quality or regex-correctness failure that caused the removal. The public record supports two reasons: the old implementation was tightly coupled to the scheduler/cache/detokenizer path, and the intended replacement direction was speculative decoding. The removal PR says explicitly, “Remove jump forward to simplify the code maintenance” (#4032). When a contributor asked the same question in that PR, the response was that jump forward might later be implemented using speculative decoding (maintainer/contributor reply). I could not find a stronger public claim such as “it was slower” or “it produced incorrect regex output.” The deleted code explains why maintenance was unusually expensive. The old path did much more than skip a few sampling steps. For every deterministic grammar span it had to:
It was also forcibly disabled whenever overlap scheduling was enabled. Those details are visible in the #4032 scheduler and ScheduleBatch deletion. In other words, the optimization cut across batching, streaming/detokenization, logprobs, prefix caching, multimodal handling, and scheduling. Each new execution mode had to preserve all of those invariants. This also explains a confusing detail in the current tree: grammar backends still contain methods such as The trade-off is therefore:
Recent work such as grammar + speculative decoding support and overlapping grammar work with speculative verification follows that direction, but it is not the same as restoring the old compressed-FSM jump-forward algorithm. So the honest answer is: maintenance/integration complexity is the only confirmed removal reason; compatibility with overlap scheduling and the amount of cross-cutting state in the deleted implementation show what that phrase meant, and speculative decoding was the stated future alternative. |
Uh oh!
There was an error while loading. Please reload this page.
Hello, is there a specific reason jump forward decoding was disabled, other than maintenance issues (as described here: [PR #4032] (#4032))?
All reactions