Generating Efficient MCMC Kernels from Probabilistic Programs
Abstract
Universal probabilistic programming languages (such as Church) trade performance for abstraction: any model can be represented compactly as an arbitrary stochastic computation, but costly online analyses are required for inference. We present a technique that recovers hand-coded levels of performance from a universal probabilistic language, for the Metropolis-Hastings (MH) MCMC inference algorithm. It takes a Church program as input and traces its execution to remove computation overhead. It then analyzes the trace for each proposal, using slicing, to identify the minimal computation needed to evaluate the MH acceptance probability. Generated incremental code is much faster than a baseline implementation (up to 600x) and usually as fast as hand-coded MH kernels.
Cite
Text
Yang et al. "Generating Efficient MCMC Kernels from Probabilistic Programs." International Conference on Artificial Intelligence and Statistics, 2014.Markdown
[Yang et al. "Generating Efficient MCMC Kernels from Probabilistic Programs." International Conference on Artificial Intelligence and Statistics, 2014.](https://mlanthology.org/aistats/2014/yang2014aistats-generating/)BibTeX
@inproceedings{yang2014aistats-generating,
title = {{Generating Efficient MCMC Kernels from Probabilistic Programs}},
author = {Yang, Lingfeng and Hanrahan, Pat and Goodman, Noah D.},
booktitle = {International Conference on Artificial Intelligence and Statistics},
year = {2014},
pages = {1068-1076},
url = {https://mlanthology.org/aistats/2014/yang2014aistats-generating/}
}