Lune

ICML2024Top-tier venue

Learning to Compile Programs to Neural Networks

Logan Weber, Jesse Michel, Alex Renda, Michael Carbin

2024Year
2Citations

Abstract

A neural surrogate of a program\textit{neural surrogate of a program} is a neural network that mimics the behavior of a program. Researchers have used these neural surrogates to automatically tune program inputs, adapt programs to new settings, and accelerate computations. Researchers traditionally develop neural surrogates by training on input-output examples from a single program. Alternatively, language models trained on a large dataset including many programs can consume program text, to act as a neural surrogate. Using a language model to both generate a surrogate and act as a surrogate, however, leading to a trade-off between resource consumption and accuracy. We present neural surrogate compilation\textit{neural surrogate compilation}, a technique for producing neural surrogates directly from program text without coupling neural surrogate generation and execution. We implement neural surrogate compilers using hypernetworks trained on a dataset of C programs and find that they produce neural surrogates that are 1.91.9-9.5×9.5\times as data-efficient, produce visual results that are 1.01.0-1.3×1.3\times more similar to ground truth, and train in 4.34.3-7.3×7.3\times fewer epochs than neural surrogates trained from scratch.

Ask about this paper

Your agent reads all of it.

Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.

Questions to start from

Your agent calls

Luneget_paper_fulltext

Ask in Lune

Free to start. No credit card required.

lune papers fulltext 6b6b4ad9-4e13-4e4f-83b7-4e77ba551f88

Builds on3

Related papers

Dusk over the sea between two cliffs drawn in fine vertical lines