Gen: A General-Purpose Probabilistic Programming System with Programmable Inference

被引:62
|
作者
Cusumano-Towner, Marco F. [1 ]
Saad, Feras A. [1 ]
Lew, Alexander K. [1 ]
Mansinghka, Vikash K. [1 ]
机构
[1] MIT, Cambridge, MA 02139 USA
关键词
Probabilistic programming; Markov chain Monte Carlo; sequential Monte Carlo; variational inference; CHAIN MONTE-CARLO; VARIATIONAL INFERENCE; SAMPLING METHODS; COMPUTATION;
D O I
10.1145/3314221.3314642
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Although probabilistic programming is widely used for some restricted classes of statistical models, existing systems lack the flexibility and efficiency needed for practical use with more challenging models arising in fields like computer vision and robotics. This paper introduces Gen, a generalpurpose probabilistic programming system that achieves modeling flexibility and inference efficiency via several novel language constructs: (i) the generative function interface for encapsulating probabilistic models; (ii) interoperable modeling languages that strike different flexibility/efficiency tradeoffs; (iii) combinators that exploit common patterns of conditional independence; and (iv) an inference library that empowers users to implement efficient inference algorithms at a high level of abstraction. We show that Gen outperforms state-of-the-art probabilistic programming systems, sometimes by multiple orders of magnitude, on diverse problems including object tracking, estimating 3D body pose from a depth image, and inferring the structure of a time series.
引用
收藏
页码:221 / 236
页数:16
相关论文
共 50 条
  • [1] Probabilistic Programming with Programmable Inference
    Mansinghka, Vikash K.
    Schaechtle, Ulrich
    Handa, Shivam
    Radul, Alexey
    Chen, Yutian
    Rinard, Martin
    [J]. ACM SIGPLAN NOTICES, 2018, 53 (04) : 603 - 616
  • [2] Probabilistic programming with programmable inference
    Mansinghka, Vikash K.
    Schaechtle, Ulrich
    Handa, Shivam
    Radul, Alexey
    Chen, Yutian
    Rinard, Martin
    [J]. ACM SIGPLAN Notices, 2018, 53 (04): : 603 - 616
  • [3] Probabilistic Programming with Programmable Inference
    Mansinghka, Vikash K.
    Schaechtle, Ulrich
    Handa, Shivam
    Radul, Alexey
    Chen, Yutian
    Rinard, Martin
    [J]. PROCEEDINGS OF THE 39TH ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, PLDI 2018, 2018, : 603 - 616
  • [4] A GENERAL-PURPOSE FUZZY INFERENCE PROCESSOR
    EICHFELD, H
    KLIMKE, M
    MENKE, M
    NOLLES, J
    KUNEMUND, T
    [J]. IEEE MICRO, 1995, 15 (03) : 12 - 17
  • [5] Probabilistic Programming with Programmable Variational Inference
    Becker, Mccoy R.
    Lew, Alexander K.
    Wang, Xiaoyan
    Ghavami, Matin
    Huot, Mathieu
    Rinard, Martin C.
    Mansinghka, Vikash K.
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2024, 8 (PLDI):
  • [6] A GENERAL-PURPOSE PROGRAMMABLE VIDEO SIGNAL PROCESSOR
    VANROERMUND, AHM
    SNIJDER, PJ
    DIJKSTRA, H
    HEMERYCK, CG
    HUIZER, CM
    SCHMITZ, JMP
    SLUIJTER, RJ
    [J]. IEEE TRANSACTIONS ON CONSUMER ELECTRONICS, 1989, 35 (03) : 249 - 258
  • [7] Stream programming on general-purpose processors
    Gummaraju, J
    Rosenblum, M
    [J]. MICRO-38: Proceedings of the 38th Annual IEEE/ACM International Symposiumn on Microarchitecture, 2005, : 343 - 354
  • [8] A GENERAL-PURPOSE PROGRAMMABLE VIDEO SIGNAL PROCESSOR
    VANROERMUND, AHM
    DIJKSTRA, H
    HEMERYCK, CG
    HUIZER, CM
    SCHMITZ, JMP
    SLUIJTER, RJ
    SNIJDER, PJ
    [J]. IEEE 89 INTERNATIONAL CONFERENCE ON CONSUMER ELECTRONICS: DIGEST OF TECHNICAL PAPERS, 1989, 8 : 194 - 195
  • [9] EMERALD - A GENERAL-PURPOSE PROGRAMMING LANGUAGE
    RAJ, RK
    TEMPERO, E
    LEVY, HM
    BLACK, AP
    HUTCHINSON, NC
    JUL, E
    [J]. SOFTWARE-PRACTICE & EXPERIENCE, 1991, 21 (01): : 91 - 118
  • [10] SPECIAL-PURPOSE AND GENERAL-PURPOSE PROGRAMMABLE SIGNAL PROCESSORS
    WEINSTOCK, W
    [J]. NAVAL ENGINEERS JOURNAL, 1985, 97 (04) : 196 - 204