English

PPL Bench: Evaluation Framework For Probabilistic Programming Languages

Programming Languages 2020-10-20 v1 Machine Learning

Abstract

We introduce PPL Bench, a new benchmark for evaluating Probabilistic Programming Languages (PPLs) on a variety of statistical models. The benchmark includes data generation and evaluation code for a number of models as well as implementations in some common PPLs. All of the benchmark code and PPL implementations are available on Github. We welcome contributions of new models and PPLs and as well as improvements in existing PPL implementations. The purpose of the benchmark is two-fold. First, we want researchers as well as conference reviewers to be able to evaluate improvements in PPLs in a standardized setting. Second, we want end users to be able to pick the PPL that is most suited for their modeling application. In particular, we are interested in evaluating the accuracy and speed of convergence of the inferred posterior. Each PPL only needs to provide posterior samples given a model and observation data. The framework automatically computes and plots growth in predictive log-likelihood on held out data in addition to reporting other common metrics such as effective sample size and r^\hat{r}.

Keywords

Cite

@article{arxiv.2010.08886,
  title  = {PPL Bench: Evaluation Framework For Probabilistic Programming Languages},
  author = {Sourabh Kulkarni and Kinjal Divesh Shah and Nimar Arora and Xiaoyan Wang and Yucen Lily Li and Nazanin Khosravani Tehrani and Michael Tingley and David Noursi and Narjes Torabi and Sepehr Akhavan Masouleh and Eric Lippert and Erik Meijer},
  journal= {arXiv preprint arXiv:2010.08886},
  year   = {2020}
}

Comments

6 pages, PROBPROG 2020