Flexible and Efficient Grammar-Constrained Decoding
This improves efficiency for users needing structured outputs from LLMs, but it is incremental as it builds on existing GCD methods.
The paper tackles the problem of slow preprocessing in grammar-constrained decoding for LLMs, which ensures outputs match syntactic rules, and achieves a 17.71x speedup in offline preprocessing while maintaining efficient online mask computation.
Large Language Models (LLMs) are often asked to generate structured outputs that obey precise syntactic rules, such as code snippets or formatted data. Grammar-constrained decoding (GCD) can guarantee that LLM outputs matches such rules by masking out tokens that will provably lead to outputs that do not belong to a specified context-free grammar (CFG). To guarantee soundness, GCD algorithms have to compute how a given LLM subword tokenizer can align with the tokens used by a given context-free grammar and compute token masks based on this information. Doing so efficiently is challenging and existing GCD algorithms require tens of minutes to preprocess common grammars. We present a new GCD algorithm together with an implementation that offers 17.71x faster offline preprocessing than existing approaches while preserving state-of-the-art efficiency in online mask computation.