Automatic Alignment in Higher-Order Probabilistic Programming Languages
Daniel Lund\'en, Gizem \c{C}aylak, Fredrik Ronquist, David Broman

TL;DR
This paper introduces a static analysis method for automatically aligning checkpoints in higher-order probabilistic programming languages, enhancing the efficiency and accuracy of inference algorithms like SMC and MCMC.
Contribution
It presents a formal alignment analysis, proves its correctness, and integrates it into Miking CorePPL, enabling improved inference algorithms.
Findings
Aligned SMC and MCMC outperform standard versions in speed
Alignment improves inference accuracy in real-world tests
Automatic checkpoint determination simplifies user experience
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Formal Methods in Verification · Bayesian Modeling and Causal Inference
