Syntactic and Semantic Control of Large Language Models via Sequential Monte Carlo
João Loula, Benjamin LeBrun, Li Du, Ben Lipkin, Clemente Pasti, Gabriel Grand, Tianyu Liu, Yahya Emara, Marjorie Freedman, Jason Eisner, Ryan Cotterell, Vikash Mansinghka, Alexander K. Lew, Tim Vieira, Timothy J. O'Donnell
TL;DR
The paper addresses constrained text generation by modeling a global posterior $g(\boldsymbol{x}) = \frac{1}{Z} p(\boldsymbol{x}) \Phi(\boldsymbol{x})$ and solving it with an adaptive sequential Monte Carlo framework that can incorporate cheap per-token constraints and expensive task-specific signals. By decomposing signals into efficient and expensive potentials and using incremental Extend/Reweight/Resample steps, the method adaptively allocates computation to promising partial sequences. Across four challenging domains, the Full SMC method with a relatively small LM matches or outperforms larger, fine-tuned models, with downstream performance tracking the quality of the posterior approximation via KL-based diagnostics. The work demonstrates practical gains in synthesis and parsing tasks and provides a programmable interface for applying SMC to controlled generation problems.
Abstract
A wide range of LM applications require generating text that conforms to syntactic or semantic constraints. Imposing such constraints can be naturally framed as probabilistic conditioning, but exact generation from the resulting distribution -- which can differ substantially from the LM's base distribution -- is generally intractable. In this work, we develop an architecture for controlled LM generation based on sequential Monte Carlo (SMC). Our SMC framework allows us to flexibly incorporate domain- and problem-specific constraints at inference time, and efficiently reallocate computational resources in light of new information during the course of generation. By comparing to a number of alternatives and ablations on four challenging domains -- Python code generation for data science, text-to-SQL, goal inference, and molecule synthesis -- we demonstrate that, with little overhead, our approach allows small open-source language models to outperform models over 8x larger, as well as closed-source, fine-tuned ones. In support of the probabilistic perspective, we show that these performance improvements are driven by better approximation to the posterior distribution. Our system builds on the framework of Lew et al. (2023) and integrates with its language model probabilistic programming language, giving users a simple, programmable way to apply SMC to a broad variety of controlled generation problems.
