Skip to footer
Home Research Artificial Intelligence / Machine Learning Pyro: Deep Universal Probabilistic Programming

Pyro: Deep Universal Probabilistic Programming


Pyro is a probabilistic programming language built on Python as a platform for developing advanced probabilistic models in AI research. To scale to large datasets and high-dimensional models, Pyro uses stochastic variational inference algorithms and probability distributions built on top of PyTorch, a modern GPU-accelerated deep learning framework. To accommodate complex or model-specific algorithmic behavior, Pyro leverages Poutine, a library of composable building blocks for modifying the behavior of probabilistic programs.


Eli Bingham, Jonathan P. Chen, Martin Jankowiak, Fritz Obermeyer, Neeraj Pradhan, Theofanis Karaletsos, Rohit Singh, Paul Szerlip, Paul Horsfall, Noah D. Goodman



Full Paper

‘Pyro: Deep Universal Probabilistic Programming’ (PDF)Uber AI

Previous article Dynamic Pricing and Matching in Ride-Hailing Platforms
Next article Probabilistic Meta-Representations Of Neural Networks
Eli is a research scientist working on probabilistic programming, approximate Bayesian inference, and grounded language understanding. He has previously worked on condensed matter physics, computational biology, climatology, multiscale dictionary learning, and deep learning for computer vision. In his spare time he hangs out in a lab tinkering with his nanopore DNA sequencer.
Martin Jankowiak is a senior research scientist at Uber whose research focuses on probabilistic machine learning. He is a co-creator of the Pyro probabilistic programming language.
Fritz is a research engineer at Uber AI focusing on probabilistic programming. He is the engineering lead for the Pyro team.
Neeraj is a software engineer on Pyro, a deep probabilistic programming language built over PyTorch. He was earlier an engineer on uberPool, working on algorithms and infrastructure for pooling riders. He is interested in synthesizing techniques from machine learning research to build intelligent systems that scale to real world problems. Prior to Uber, Neeraj worked on search, personalized recommendations, and learning to rank at Groupon. He did his masters in Operations Research from Stanford University, and undergraduate in Physics and EE from BITS Pilani.
Theofanis took his first steps as a machine learner at the Max Planck Institute For Intelligent Systems in collaboration with Microsoft Research Cambridge with work focused on unsupervised knowledge extraction from unstructured data, such as generative modeling of images and phenotyping for biology. He then moved to Memorial Sloan Kettering Cancer Center in New York, where he worked on machine learning in the context of cancer therapeutics. He joined a small AI startup Geometric Intelligence in 2016 and with his colleagues formed the new Uber AI Labs. Theofanis' research interests are focused on rich probabilistic modeling, approximate inference and probabilistic programming. His main passion are structured models, examples of which are spatio-temporal processes, models of image formation, deep probabilistic models and the tools needed to make them work on real data. His past in the life sciences has also made him keenly interested in how to make models interpretable and quantify their uncertainty, non-traditional learning settings such as weakly supervised learning and model criticism.
Rohit is an AI researcher with a PhD from MIT Computer Science and Artificial Intelligence Lab (CSAIL). He is currently working on applications of various AI techniques with the Pyro programming language across product teams at Uber. His previous work has involved applications of Machine Learning, Quantitative Game Theory and Program Synthesis in multiple domains from the fields of Compilers and Databases. Rohit has worked as an intern at Google where he used the Google Brain deep-learning framework for an application with the YouTube team and as a PM intern at Yelp where he worked on a Machine Learning application on Ad CTR prediction.
Paul Szerlip earned his PhD with Dr. Kenneth Stanley at the University of Central Florida focusing on open-source infrastructure for collaborative evolutionary software. This open-source platform enables researchers to quickly integrate crowd-sourced human contributions with automated algorithms, while making the results easily accessible online. His later research highlighted new ways to integrate neuroevolutionary techniques like HyperNEAT and Novelty Search into deep learning frameworks.
In addition to working at Uber AI Labs, Noah is also an Associate Professor of Psychology, Computer Science, and Linguistics at Stanford University, where he runs the Computation and Cognition Lab.