Swift: Compiled Inference for Probabilistic Programming Languages
Abstract
A probabilistic program defines a probability measure over its semantic structures. One common goal of probabilistic programming languages (PPLs) is to compute posterior probabilities for arbitrary models and queries, given observed evidence, using a generic inference engine. Most PPL inference engines — even the compiled ones — incur significant runtime interpretation overhead, especially for contingent and open-universe models. This paper describes Swift, a compiler for the BLOG PPL. Swift-generated code incorporates optimizations that eliminate interpretation overhead, maintain dynamic dependencies efficiently, and handle memory management for possible worlds of varying sizes. Experiments comparing Swift with other PPL engines on avariety of inference problems demonstrate speedups ranging from 12x to326x. PDF
Cite
Text
Wu et al. "Swift: Compiled Inference for Probabilistic Programming Languages." International Joint Conference on Artificial Intelligence, 2016.Markdown
[Wu et al. "Swift: Compiled Inference for Probabilistic Programming Languages." International Joint Conference on Artificial Intelligence, 2016.](https://mlanthology.org/ijcai/2016/wu2016ijcai-swift/)BibTeX
@inproceedings{wu2016ijcai-swift,
title = {{Swift: Compiled Inference for Probabilistic Programming Languages}},
author = {Wu, Yi and Li, Lei and Russell, Stuart and Bodík, Rastislav},
booktitle = {International Joint Conference on Artificial Intelligence},
year = {2016},
pages = {3637-3645},
url = {https://mlanthology.org/ijcai/2016/wu2016ijcai-swift/}
}