Difference between revisions of "WG211/M21Taha"
(Bean Machine) |
m (Bean Machine) |
||
Line 2: | Line 2: | ||
Presented by: Walid Taha, Meta | Presented by: Walid Taha, Meta | ||
+ | |||
Abstract and slides by: Rodrigo de Salvo Braz, 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. | 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. |
Latest revision as of 05:26, 16 August 2022
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.