DeepAI AI Chat
Log In Sign Up

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

by   Daniel Lundén, et al.

Probabilistic programming is a programming paradigm for expressing flexible probabilistic models. Implementations of probabilistic programming languages employ a variety of inference algorithms, where sequential Monte Carlo methods are commonly used. A problem with current state-of-the-art implementations using sequential Monte Carlo inference is the alignment of program synchronization points. We propose a new static analysis approach based on the 0-CFA algorithm for automatically aligning higher-order probabilistic programs. We evaluate the automatic alignment on a phylogenetic model, showing a significant decrease in runtime and increase in accuracy.


page 1

page 2

page 3

page 4


Automatic Alignment in Higher-Order Probabilistic Programming Languages

Probabilistic Programming Languages (PPLs) allow users to encode statist...

Learning Probabilistic Programs

We develop a technique for generalising from data in which models are sa...

Sequential Monte Carlo Steering of Large Language Models using Probabilistic Programs

Even after fine-tuning and reinforcement learning, large language models...

Delayed Sampling and Automatic Rao-Blackwellization of Probabilistic Programs

We introduce a dynamic mechanism for the solution of analytically-tracta...

PClean: Bayesian Data Cleaning at Scale with Domain-Specific Probabilistic Programming

Data cleaning can be naturally framed as probabilistic inference in a ge...

Correctness of Sequential Monte Carlo Inference for Probabilistic Programming Languages

Probabilistic programming languages (PPLs) make it possible to reason un...

Engineering a Fast Probabilistic Isomorphism Test

We engineer a new probabilistic Monte-Carlo algorithm for isomorphism te...