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. |