International Conference on Learning Representations 2024

Generating Pragmatic Examples to Train Neural Program Synthesizers

Abstract

Programming-by-example is the task of synthesizing a program that is consistent with a set of user-provided input-output examples. As examples are often an under-specification of one’s intent, a good synthesizer must choose the intended program from the many that are consistent with the given set of examples. Prior work frames program synthesis as a cooperative game between a listener (that synthesizes programs) and a speaker (a user choosing examples), and shows that models of computational pragmatic inference are effective in choosing the user intended programs. However, these models require counterfactual reasoning over a large set of programs and examples, which is infeasible in realistic program spaces. In this paper, we propose a novel way to amortize this search with neural networks. We sample pairs of programs and examples via self-play between listener and speaker models, and use pragmatic inference to choose informative training examples from this sample. We then use the informative dataset to train models to improve the synthesizer’s ability to disambiguate user-provided examples without human supervision. We validate our method on the challenging task of synthesizing regular expressions from example strings, and find that our method (1) outperforms models trained without choosing pragmatic examples by 23% (a 51% relative increase) (2) matches the performance of supervised learning on a dataset of pragmatic examples provided by humans, despite using no human data in training.

Download publication

Associated Researchers

Saujas Vaduguru

Carnegie Mellon University

Daniel Fried

Carnegie Mellon University

View all researchers

Related Publications

Publication

2023

CAD-LLM: Large Language Model for CAD Generation

This research presents generating Computer Aided Designs (CAD) using…

Publication

2023

Amortizing Pragmatic Program Synthesis with Rankings

A novel method of amortizing the RSA algorithm by leveraging a global…

Publication

2023

Hypothesis Search: Inductive Reasoning with Language Models

We propose to improve the inductive reasoning ability of LLMs by…

Publication

2023

ANPL: Towards Natural Programming with Interactive Decomposition

Interactive programming system ensures users can refine generated code…

Get in touch

Something pique your interest? Get in touch if you’d like to learn more about Autodesk Research, our projects, people, and potential collaboration opportunities.

Contact us