Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation 2021
DOI: 10.1145/3453483.3454058
|View full text |Cite
|
Sign up to set email alerts
|

Compiling Stan to generative probabilistic languages and extension to deep probabilistic programming

Abstract: Stan is a probabilistic programming language that is popular in the statistics community, with a high-level syntax for expressing probabilistic models. Stan differs by nature from generative probabilistic programming languages like Church, Anglican, or Pyro. This paper presents a comprehensive compilation scheme to compile any Stan model to a generative language and proves its correctness. We use our compilation scheme to build two new backends for the Stanc3 compiler targeting Pyro and NumPyro. Experimental r… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
5
0

Year Published

2021
2021
2024
2024

Publication Types

Select...
3
2
1
1

Relationship

1
6

Authors

Journals

citations
Cited by 8 publications
(5 citation statements)
references
References 18 publications
0
5
0
Order By: Relevance
“…The PPLs Pyro [6], Stan [10,5], Gen [11,27], and Edward [48] either implement inference algorithms that do not require suspension (e.g., Hamiltonian Monte Carlo), or restrict the language in such a way that suspension is explicit and trivially handled by the language implementation. For example, SMC in Pyro 8 and newer versions of Birch require that users explicitly write programs as a step function that the SMC implementation calls iteratively.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…The PPLs Pyro [6], Stan [10,5], Gen [11,27], and Edward [48] either implement inference algorithms that do not require suspension (e.g., Hamiltonian Monte Carlo), or restrict the language in such a way that suspension is explicit and trivially handled by the language implementation. For example, SMC in Pyro 8 and newer versions of Birch require that users explicitly write programs as a step function that the SMC implementation calls iteratively.…”
Section: Related Workmentioning
confidence: 99%
“…Implementations of PPLs apply many different inference algorithms. Monte Carlo inference algorithms-such as Markov chain Monte Carlo (MCMC) [16] and sequential Monte Carlo (SMC) [12]-are popular due to their asymptotic correctness and relative ease of implementation for universal 5 PPLs. The central idea behind all Monte Carlo methods in PPLs is to execute probabilistic programs multiple times to generate samples that approximate the target distribution for the encoded inference problem.…”
Section: Introductionmentioning
confidence: 99%
“…The goal is to pay a large one-time cost in training a "general" inference model which may not be adequate for inference in all settings, but can be quickly adapted to new datasets with low cost. To demonstrate the foundation posterior, we meta-amortize inference over a set of standard Stan [12] programs from PosteriorDB [42], a benchmark dataset for evaluating inference algorithms [4,5,65,66,20].…”
Section: Foundation Posteriormentioning
confidence: 99%
“…Users can now try a range of synthesized guides on a given model before attempting to craft their own. We recently proposed new backends for the Stanc3 Compiler to Pyro and NumPyro 1 and showed how to extend Stan with support for explicit variational guides [Baudart et al 2021]. In this paper, we show that our compiler and runtime can be used to test NumPyro autoguides on Stan models, and evaluate our approach on PosteriorDB a database of Stan models with corresponding data, and reference posterior samples [Vehtari and Magnusson 2020].…”
Section: Motivationmentioning
confidence: 99%