C3: Lightweight Incrementalized MCMC for Probabilistic Programs using Continuations and Callsite Caching

By Daniel Ritchie, Andreas Stuhlmüller, Noah D. Goodman. 2015

33 citations recorded by the source corpus.

Lightweight, source-to-source transformation approaches to implementing MCMC for probabilistic programming languages are popular for their simplicity, support of existing deterministic code, and ability to execute on existing fast runtimes. However, they are also slow, requiring a complete re-execution of the program on every Metropolis Hastings proposal. We present a new extension to the lightweight approach, C3, which enables efficient, incrementalized re-execution of MH proposals. C3 is based on two core ideas: transforming probabilistic programs into continuation passing style (CPS), and caching the results of function calls. We show that on several common models, C3 reduces proposal runtime by 20-100x, in some cases reducing runtime complexity from linear in model size to constant. We also demonstrate nearly an order of magnitude speedup on a complex inverse procedural modeling application.

Subfields: Artificial Intelligence, Computational Theory and Mathematics, Hardware and Architecture, Probabilistic & Bayesian Methods, Program Analysis & Verification

How researchers see this paper

The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.

In Artificial Intelligence

  1. Alexander K. Lew
  2. Marco F. Cusumano-Towner
  3. Feras A. Saad
  4. Vikash K. Mansinghka
  5. Frank D. Wood
  6. Yura N. Perov
  7. Jan-Willem van de Meent
  8. Hongseok Yang

In Computational Theory and Mathematics

  1. Vikash K. Mansinghka

In Probabilistic & Bayesian Methods

  1. Alexander K. Lew
  2. Marco F. Cusumano-Towner
  3. Feras A. Saad
  4. Nazanin Khosravani Tehrani
  5. David Noursi
  6. Vikash K. Mansinghka
  7. Eric Lippert
  8. Narjes Torabi

In Program Analysis & Verification

  1. Alexander K. Lew
  2. Marco F. Cusumano-Towner
  3. Feras A. Saad
  4. Vikash K. Mansinghka

Citations in the corpus