PLAILGMLJun 20, 2019

Deployable probabilistic programming

arXiv:1906.11199v17 citations
Originality Synthesis-oriented
AI Analysis

This work addresses the need for deployable probabilistic programming tools for software developers, though it is incremental as it builds on existing probabilistic programming concepts.

The authors tackled the problem of integrating probabilistic programming into production software systems by proposing design guidelines and introducing Infergo, a probabilistic programming facility for Go, which demonstrated applicability across various use cases and competitive performance on benchmarks compared to dedicated frameworks.

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.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes