TY - GEN
T1 - Deployable probabilistic programming
AU - Tolpin, David
N1 - Publisher Copyright:
© 2019 Copyright held by the owner/author(s). Publication rights licensed to ACM.
PY - 2019/10/23
Y1 - 2019/10/23
N2 - We propose design guidelines for a probabilistic programming facility suitable for deployment as a part of a production software system. As a reference implementation, we introduce Infergo, a probabilistic programming facility for Go, a modern programming language of choice for server-side software development. We argue that a similar probabilistic programming facility can be added to most modern general-purpose programming languages. Probabilistic programming enables automatic tuning of program parameters and algorithmic decision making through probabilistic inference based on the data. To facilitate addition of probabilistic programming capabilities to other programming languages, we share implementation choices and techniques employed in development of Infergo. We illustrate applicability of Infergo to various use cases on case studies, and evaluate Infergo’s performance on several benchmarks, comparing Infergo to dedicated inference-centric probabilistic programming frameworks.
AB - We propose design guidelines for a probabilistic programming facility suitable for deployment as a part of a production software system. As a reference implementation, we introduce Infergo, a probabilistic programming facility for Go, a modern programming language of choice for server-side software development. We argue that a similar probabilistic programming facility can be added to most modern general-purpose programming languages. Probabilistic programming enables automatic tuning of program parameters and algorithmic decision making through probabilistic inference based on the data. To facilitate addition of probabilistic programming capabilities to other programming languages, we share implementation choices and techniques employed in development of Infergo. We illustrate applicability of Infergo to various use cases on case studies, and evaluate Infergo’s performance on several benchmarks, comparing Infergo to dedicated inference-centric probabilistic programming frameworks.
KW - Algorithmic differentiation
KW - Bayesian modeling
KW - Probabilistic programming
UR - https://www.scopus.com/pages/publications/85076797633
U2 - 10.1145/3359591.3359727
DO - 10.1145/3359591.3359727
M3 - Conference contribution
AN - SCOPUS:85076797633
T3 - Onward! 2019 - Proceedings of the 2019 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, co-located with SPLASH 2019
SP - 1
EP - 16
BT - Onward! 2019 - Proceedings of the 2019 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, co-located with SPLASH 2019
A2 - Masuhara, Hidehiko
A2 - Petricek, Tomas
PB - Association for Computing Machinery, Inc
T2 - 2019 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Onward! 2019, co-located with SPLASH 2019
Y2 - 23 October 2019 through 24 October 2019
ER -