Constrained Sampling for Language Models Should Be Easy: An MCMC Perspective
About
Constrained decoding enables Language Models (LMs) to produce samples that provably satisfy hard constraints. However, existing constrained-decoding approaches often distort the underlying model distribution, a limitation that is especially problematic in applications like program fuzzing, where one wants to generate diverse and valid program inputs for testing purposes. We propose a new constrained sampling framework based on Markov Chain Monte Carlo (MCMC) that simultaneously satisfies three core desiderata: constraint satisfying (every sample satisfies the constraint), monotonically converging (the sampling process converges to the true conditional distribution), and efficient (high-quality samples emerge in few steps). Our method constructs a proposal distribution over valid outputs and applies a Metropolis-Hastings acceptance criterion based on the LM's likelihood, ensuring principled and efficient exploration of the constrained space. Empirically, our sampler outperforms existing methods on both synthetic benchmarks and real-world program fuzzing tasks.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Text-to-SQL | Spider (dev) | EX56.9 | 196 | |
| Planning | PDDL | Progress Rate100 | 33 | |
| XML Fuzzing | XML fuzzing benchmarks | Mean Lines Covered8.02e+3 | 27 | |
| JSON Fuzzing | JSON | Line Coverage3.24e+3 | 24 | |
| Fuzzing | JSON fuzzing target | Generations to Find 100 Valid Samples1.00e+3 | 24 | |
| Molecular Generation | Hydrocarbon Chains | Sample Efficiency1.00e+3 | 21 | |
| Molecule Generation | Isocyanates | Sample Efficiency1.00e+3 | 21 | |
| Molecular Generation | Acrylates (Acry.) | Sample Efficiency1.00e+3 | 21 | |
| SQL fuzzing | SQL fuzzing benchmarks | Mean Lines Covered2.18e+4 | 19 | |
| Molecular Generation | Molecular synthesis Acrylates, Chain Extenders, and Isocyanates classes | Validity79 | 7 |