Automatic Alignment in Higher-Order Probabilistic Programming Languages

01/27/2023
by   Daniel Lundén, et al.
0

Probabilistic Programming Languages (PPLs) allow users to encode statistical inference problems and automatically apply an inference algorithm to solve them. Popular inference algorithms for PPLs, such as sequential Monte Carlo (SMC) and Markov chain Monte Carlo (MCMC), are built around checkpoints – relevant events for the inference algorithm during the execution of a probabilistic program. Deciding the location of checkpoints is, in current PPLs, not done optimally. To solve this problem, we present a static analysis technique that automatically determines checkpoints in programs, relieving PPL users of this task. The analysis identifies a set of checkpoints that execute in the same order in every program run – they are aligned. We formalize alignment, prove the correctness of the analysis, and implement the analysis as part of the higher-order functional PPL Miking CorePPL. By utilizing the alignment analysis, we design two novel inference algorithm variants: aligned SMC and aligned lightweight MCMC. We show, through real-world experiments, that they significantly improve inference execution time and accuracy compared to standard PPL versions of SMC and MCMC.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/18/2018

Automatic Alignment of Sequential Monte Carlo Inference in Higher-Order Probabilistic Programs

Probabilistic programming is a programming paradigm for expressing flexi...
research
02/25/2023

Suspension Analysis and Selective Continuation-Passing Style for Higher-Order Probabilistic Programming Languages

Probabilistic programming languages (PPLs) make encoding and automatical...
research
03/11/2020

Correctness of Sequential Monte Carlo Inference for Probabilistic Programming Languages

Probabilistic programming languages (PPLs) make it possible to reason un...
research
02/01/2023

Automatically Marginalized MCMC in Probabilistic Programming

Hamiltonian Monte Carlo (HMC) is a powerful algorithm to sample latent v...
research
09/07/2015

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

Lightweight, source-to-source transformation approaches to implementing ...
research
11/09/2017

Denotational validation of higher-order Bayesian inference

We present a modular semantic account of Bayesian inference algorithms f...

Please sign up or login with your details

Forgot password? Click here to reset