Composable Effects for Flexible and Accelerated Probabilistic Programming in NumPyro

12/24/2019
by   Du Phan, et al.
0

NumPyro is a lightweight library that provides an alternate NumPy backend to the Pyro probabilistic programming language with the same modeling interface, language primitives and effect handling abstractions. Effect handlers allow Pyro's modeling API to be extended to NumPyro despite its being built atop a fundamentally different JAX-based functional backend. In this work, we demonstrate the power of composing Pyro's effect handlers with the program transformations that enable hardware acceleration, automatic differentiation, and vectorization in JAX. In particular, NumPyro provides an iterative formulation of the No-U-Turn Sampler (NUTS) that can be end-to-end JIT compiled, yielding an implementation that is much faster than existing alternatives in both the small and large dataset regimes.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/15/2018

Effect Handling for Composable Program Transformations in Edward2

Algebraic effects and handlers have emerged in the programming languages...
research
05/17/2019

Implementing a Library for Probabilistic Programming using Non-strict Non-determinism

This paper presents PFLP, a library for probabilistic programming in the...
research
08/12/2022

Multi-Model Probabilistic Programming

Probabilistic programming makes it easy to represent a probabilistic mod...
research
04/01/2021

Retrofitting Effect Handlers onto OCaml

Effect handlers have been gathering momentum as a mechanism for modular ...
research
10/23/2019

Functional Tensors for Probabilistic Programming

It is a significant challenge to design probabilistic programming system...
research
11/05/2018

Simple, Distributed, and Accelerated Probabilistic Programming

We describe a simple, low-level approach for embedding probabilistic pro...
research
12/22/2020

Introducing CPL

CPL here stands for a computer programming language conceived and develo...

Please sign up or login with your details

Forgot password? Click here to reset