English

Swift: Compiled Inference for Probabilistic Programming Languages

Artificial Intelligence 2016-07-01 v1 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.

Keywords

Cite

@article{arxiv.1606.09242,
  title  = {Swift: Compiled Inference for Probabilistic Programming Languages},
  author = {Yi Wu and Lei Li and Stuart Russell and Rastislav Bodik},
  journal= {arXiv preprint arXiv:1606.09242},
  year   = {2016}
}

Comments

IJCAI 2016