Borch: A Deep Universal Probabilistic Programming Language

Just released our open source Universal Deep Probabilistic Programming Language

What is Borch?

In order to combine Deep Learning and proper uncertainty estimation, we developed Borch. A scalable deep universal probabilistic programming language, built on top of PyTorch with over 3000+ commits.

Borch makes it easy to write anything from hierarchical Bayesian models to probabilistic deep neural networks with billions of parameters. We even have functionalities for taking your favorite neural network architecture and converting it to Bayesian in one line of code! Why does this matter? Well, because all models in production need to be able to show their uncertainty on any given prediction. This makes deep learning more transparent, explainable, and robust.
Our borch paper published on arxiv
Intro
Ever since the Multilayered Perceptron was first introduced the connectionist community has struggled with the concept of uncertainty and how this could be represented in these types of models. This past decade has seen a lot of effort in trying to join the principled approach of probabilistic modeling with the scalable nature of deep neural networks. While the theoretical benefits of this consolidation are clear, there are also several important practical aspects of these endeavors; namely to force the models we create to represent, learn, and report uncertainty in every prediction that is made. Many of these efforts have been based on extending existing frameworks with additional structures. We present Borch, a scalable deep universal probabilistic programming language, built on top of PyTorch.

Links:

Where to find out more about it:
Johan Gudmundsson
CTO, Co-Founder
More Blog Posts