AdapTrack: Constrained Decoding without Distorting LLM's Output Intent
Yongmin Li, Jia Li, Ge Li, Zhi Jin
TL;DR
AdapTrack addresses the distribution distortion problem in constrained decoding for LM-based code generation by introducing adaptive backtracking. The method maintains prefix-validity estimates and uses rejection sampling to backtrack paths that undermine the model's output intent, ensuring constraint satisfaction without distorting the LM distribution $P(s|c)$. Theoretical guarantees show AdapTrack samples from the constrained distribution, and extensive experiments across synthetic and real-world API datasets, general code benchmarks, and DSL domains demonstrate substantial improvements over traditional constrained decoding. The work suggests significant practical impact for reliable, intent-aligned code generation under constraints, with ongoing work to extend API coverage and efficiency.
Abstract
Language model-based code generation and completion tools have been widely adopted, but they may sometimes produce code that does not meet necessary constraints, such as syntactic correctness or API existence. Constrained decoding techniques are developed to help the model generate code adhering to the constraints by greedily eliminating generation options that violate constraints at each step of the generation process. However, there is a severe limitation of constrained decoding, that it distorts the model's output intent, forcing it to produce code that may satisfy the constraint but does not match the development intent and is therefore incorrect. In response to this challenge, we propose AdapTrack. By incorporating backtracking into the generation process, AdapTrack avoids distorting the output intent of the model, thereby producing results that are not only constraint-compliant but also more semantically aligned with model's output intent. On our synthetic API completion dataset, AdapTrack can achieve up to 360.87% improvement compared to constrained decoding; on the real-world API completion dataset we collect that exhibits similar issues, AdapTrack can achieve up to 38.93% improvement over constrained decoding; in general code genration benchmarks, compared to constrained decoding, AdapTrack can achieve up to 7.84% improvement on HumanEval, and up to 6.42% improvement on MBPP. This indicates that, simply by better adhering to the model's output intent, AdapTrack can achieve significant improvements. We provide a theoretical proof that the distribution produced by AdapTrack aligns with the model's distribution given the generated tokens, thereby ensuring that the model's output intent is not distorted. Experiments on DSL problems show that, compared to existing methods, our approach can provide generation results that are more consistent with the language model's distribution.
