From WG 2.11
Jump to: navigation, search

Bean Machine

Presented by: Walid Taha, Meta

Abstract and slides by: Rodrigo de Salvo Braz, Meta

Bean Machine (https://beanmachine.org/) (BM) is a new probabilistic programming system (https://research.facebook.com/blog/2021/12/introducing-bean-machine-a-probabilistic-programming-platform-built-on-pytorch/) recently beta-released as open-source by Meta (formerly Facebook). Probabilistic programming languages (PPLs) provide a way for experts to specify a Bayesian probabilistic model using a programming language, but without having to concern themselves with, or even know, how the probabilistic inference will be performed. While probabilistic programming is a growing field, Bean Machine provides a novel combination of features: experts can declaratively specify their models in Python (including the use of PyTorch tensors), use a variety of inference methods (including Hamiltonian Monte Carlo, No U-Turn Sample (NUTS) and Newtonian Monte Carlo), use composable inference to apply different methods to different parts of a model, work with hybrid models (containing both discrete and continuous variables) and, for a certain subset of models, use a very fast C++ inference layer. Bean Machine is already being used in production for Meta internal applications, but there are many exciting future plans for making it even better. In this talk I will give examples, describe applications, and discuss some of these future directions.