Getting Started

This document outlines how to get started with PPL Bench.

Before jumping into the project, we recommend you read Introduction and System Overview documents.


  1. Enter a virtual (or conda) environment
  2. Install PPL Bench core via pip:
pip install pplbench
  1. Install PPLs that you wish to benchmark. For PPL-specific instructions, see Installing PPLs. You could also run the following command to install all PPLs that are currently supported by PPL Bench (except for Jags):
pip install pplbench[ppls]

Alternatively, you could also install PPL Bench from source. Please refer to Installing PPLs for instructions.

Launching PPL Bench

Let's dive right in with a benchmark run of Bayesian Logistic Regression. To run this, you'll need to install PyStan (if you haven't already):

pip install pystan==

Then, run PPL Bench with example config:

pplbench examples/example.json

This will create a benchmark run with two trials of Stan on the Bayesian Logistic Regression model. The results of the run are saved in the outputs/ directory.

This is what the Predictive Log Likelihood (PLL) plot should look like:

PLL plot of example run PLL half plot of example run

Please see the examples/example.json file to understand the schema for specifying benchmark runs. The schema is documented in pplbench/ and can be printed by running the help command:

pplbench -h

A number of models is available in the pplbench/models directory and the PPL implementations are available in the pplbench/ppls directory.

Please feel free to submit pull requests to modify an existing PPL implementation or to add a new PPL or model.


You'd like to contribute to PPL Bench? Great! Please see here for how to help out.

Join the PPL Bench community

For more information about PPL Bench, refer to

  1. Website: link
  2. Blog post: link
  3. Paper: link