Bean Machine: A Declarative Probabilistic Programming Language For Efficient Programmable Inference

被引:0
|
作者
Tehrani, Nazanin [1 ]
Arora, Nimar S. [1 ]
Li, Yucen Lily [1 ]
Shah, Kinjal Divesh [1 ]
Noursi, David [1 ]
Tingley, Michael [1 ]
Torabi, Narjes [1 ]
Masouleh, Sepehr [1 ]
Lippert, Eric [1 ]
Meijer, Erik [1 ]
机构
[1] Facebook Inc, Menlo Pk, CA 94025 USA
来源
INTERNATIONAL CONFERENCE ON PROBABILISTIC GRAPHICAL MODELS, VOL 138 | 2020年 / 138卷
关键词
Probabilistic Programming; Programmable Inference; Declarative Structure;
D O I
暂无
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
A number of imperative Probabilistic Programming Languages (PPLs) have been recently proposed, but the imperative style choice makes it very hard to deduce the dependence structure between the latent variables, which can also change from iteration to iteration. We propose a new declarative style PPL, Bean Machine, and demonstrate that in this new language, the dynamic dependence structure is readily available. Although we are not the first to propose a declarative PPL or to observe the advantages of knowing the dependence structure, we take the idea further by showing other inference techniques that become feasible or easier in this style. We show that it is very easy for users to program inference by composition (combining different inference techniques for different parts of the model), customization (providing a custom hand-written inference method for specific variables), and blocking (specifying blocks of random variables that should be sampled together) in a declarative language. A number of empirical results are provided where we backup these claims modulo the runtime inefficiencies of unvectorized Python. As a fringe benefit, we note that it is very easy to translate statistical models written in mathematical notation into our language.
引用
收藏
页码:485 / 496
页数:12
相关论文
共 31 条
  • [21] Correctness of Sequential Monte Carlo Inference for Probabilistic Programming Languages
    Lunden, Daniel
    Borgstrom, Johannes
    Broman, David
    PROGRAMMING LANGUAGES AND SYSTEMS, ESOP 2021, 2021, 12648 : 404 - 431
  • [22] Syntax and operational semantics of a probabilistic programming language with scopes
    Bruza, Peter D.
    JOURNAL OF MATHEMATICAL PSYCHOLOGY, 2016, 74 : 46 - 57
  • [23] Tabular: A Schema-Driven Probabilistic Programming Language
    Gordon, Andrew D.
    Graepel, Thore
    Rolland, Nicolas
    Russo, Claudio
    Borgstroem, Johannes
    Guiver, John
    ACM SIGPLAN NOTICES, 2014, 49 (01) : 321 - 334
  • [24] Static Posterior Inference of Bayesian Probabilistic Programming via Polynomial Solving
    Wang, Peixin
    Yang, Tengshun
    Fu, Hongfei
    Li, Guanyan
    Ong, C. -H. Luke
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2024, 8 (PLDI):
  • [25] The joy of Probabilistic Answer Set Programming: Semantics, complexity, expressivity, inference
    Cozman, Fabio Gagliardi
    Maua, Denis Deratani
    INTERNATIONAL JOURNAL OF APPROXIMATE REASONING, 2020, 125 : 218 - 239
  • [26] Probabilistic Programming with Densities in SlicStan: Efficient, Flexible, and Deterministic
    Gorinova, Maria, I
    Gordon, Andrew D.
    Sutton, Charles
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2019, 3 (POPL):
  • [27] Concavity and efficient points of discrete distributions in probabilistic programming
    Dentcheva, D
    Prékopa, A
    Ruszczynski, A
    MATHEMATICAL PROGRAMMING, 2000, 89 (01) : 55 - 77
  • [28] GraphPPL.jl: A Probabilistic Programming Language for Graphical Models
    Nuijten, Wouter W. L.
    Bagaev, Dmitry
    de Vries, Bert
    ENTROPY, 2024, 26 (11)
  • [29] A Design Proposal for Gen: Probabilistic Programming with Fast Custom Inference via Code Generation
    Cusumano-Towner, Marco
    Mansinghka, Vikash K.
    MAPL'18: PROCEEDINGS OF THE 2ND ACM SIGPLAN INTERNATIONAL WORKSHOP ON MACHINE LEARNING AND PROGRAMMING LANGUAGES, 2018, : 52 - 57
  • [30] Control-data separation and logical condition propagation for efficient inference on probabilistic programs
    Hasuo, Ichiro
    Oyabu, Yuichiro
    Eberhart, Clovis
    Suenaga, Kohei
    Cho, Kenta
    Katsumata, Shin-ya
    JOURNAL OF LOGICAL AND ALGEBRAIC METHODS IN PROGRAMMING, 2024, 136