arXiv · 1606.09242
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 a variety of inference problems demonstrate speedups ranging from 12x to 326x.
Explore related subjects
Keep this discovery
Yi Wu, Lei Li, Stuart Russell, Rastislav Bodik. 2016-06-30. Swift: Compiled Inference for Probabilistic Programming Languages. https://arxiv.org/abs/1606.09242
Cite the original work for its findings. Save a collection to share your selection of sources.