Swift: Compiled Inference for Probabilistic Programming Languages

Authors: Yi Wu, Lei Li, Stuart Russell, Rastislav Bodik

IJCAI 2016 | Conference PDF | Archive PDF | Plain Text | LLM Run Details

Reproducibility Variable Result LLM Response
Research Type Experimental Experiments comparing Swift with other PPL engines on a variety of inference problems demonstrate speedups ranging from 12x to 326x.
Researcher Affiliation Collaboration Yi Wu UC Berkeley jxwuyi@gmail.com Lei Li Toutiao.com lileicc@gmail.com Stuart Russell UC Berkeley russell@cs.berkeley.edu Rastislav Bodik University of Washington bodik@cs.washington.edu
Pseudocode Yes Algorithm 1: Metropolis Hastings algorithm (MH)
Open Source Code No The paper states: "All the models can be downloaded from the Git Hub repository of BLOG." This refers to benchmark models, not the source code for the Swift compiler itself.
Open Datasets Yes We collect a set of benchmark models [...] We also include a real-world dataset: handwritten digits [Le Cun et al., 1998] using the PPCA model [Tipping and Bishop, 1999]. All the models can be downloaded from the Git Hub repository of BLOG.
Dataset Splits No The paper mentions "training and testing sets" but does not explicitly describe a validation set or its split details.
Hardware Specification No The paper mentions software like C++ and armadillo for computation, but does not specify any hardware details (e.g., GPU/CPU models, memory) used for running the experiments.
Software Dependencies Yes Swift generates target code in C++ with C++ standard <random> library for random number generation and the armadillo package [Sanderson, 2010] for matrix computation. The baseline systems include BLOG (version 0.9.1), Figaro (version 3.3.0), Church (webchurch), Infer.NET (version 2.6), BUGS (win BUGS 1.4.3) and Stan (cmd Stan 2.6.0).
Experiment Setup Yes We ran Stan with 0, 5 and 9 tuning steps respectively. We compute 10 principal components for the digits. For Infer.NET, we select variational message passing algorithm (VMP), which is Infer.NET s primary focus.