Amortizing Pragmatic Program Synthesis with Rankings
Yewen Pu, Saujas Vaduguru, Priyan Vaithilingam, Elena Glassman, Daniel Fried
TL;DR
The paper tackles the scalability challenge of Rational Speech Acts (RSA) for pragmatic program synthesis by proposing an amortization strategy that learns a single, global ranking over all programs. This global ranking is distilled from a dataset of example-dependent RSA rankings generated via simulated RSA interactions, enabling a fast, non-pragmatic synthesizer to rank candidate programs at inference time. The approach preserves much of RSA's communicative accuracy, achieves orders-of-magnitude speedups, and is proven exact in the single-example setting. Through both real-user and simulated replay experiments across regex and animals domains, the method demonstrates practical viability for interactive, real-time pragmatic synthesis without requiring human-labeled data. The work also provides a formal theorem showing that RSA_single can be exactly captured by a global ranking, and discusses limitations and avenues for future improvement, including the existence and effectiveness of global rankings in more complex settings.
Abstract
The usage of Rational Speech Acts (RSA) framework has been successful in building \emph{pragmatic} program synthesizers that return programs which, in addition to being logically consistent with user-generated examples, account for the fact that a user chooses their examples informatively. We present a general method of amortizing the slow, exact RSA synthesizer. Our method first query the exact RSA synthesizer to compile a communication dataset. The dataset contains a number of example-dependent rankings of subsets of programs. It then distills a \textit{single} global ranking of all programs as an approximation to every ranking in the dataset. This global ranking is then used at inference time to rank multiple logically consistent candidate programs generated from a fast, non-pragmatic synthesizer. Experiments on two program synthesis domains using our ranking method resulted in orders of magnitudes of speed ups compared to the exact RSA synthesizer, while being more accurate than a non-pragmatic synthesizer when communicating with humans. Finally, we prove that in the special case of synthesis from a single example, this approximation is exact.
