Deployable probabilistic programming
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.
Code (0)
등록된 구현이 없습니다.
Tasks
Decision MakingProbabilistic ProgrammingSimilar Papers 제목 키워드 기반
An application of Answer Set Programming in Distributed Architectures: ASP Microservices
We propose an approach to the definition of microservices with an Answer Set Programming (ASP) `core', where microservices are a successful abstraction for designing distributed applications as suites of independently de…
Cloud ComputingA Compilation Target for Probabilistic Programming Languages
Forward inference techniques such as sequential Monte Carlo and particle Markov chain Monte Carlo for probabilistic programming can be implemented in any programming language by creative use of standardized operating sys…
Probabilistic ProgrammingDeep Probabilistic Programming Languages: A Qualitative Study
Deep probabilistic programming languages try to combine the advantages of deep learning with those of probabilistic programming languages. If successful, this would be a big step forward in machine learning and programmi…
BIG-bench Machine LearningProbabilistic ProgrammingAutomated learning with a probabilistic programming language: Birch
This work offers a broad perspective on probabilistic modeling and inference in light of recent advances in probabilistic programming, in which models are formally expressed in Turing-complete programming languages. We c…
FormMultiple Object TrackingObject TrackingProbabilistic ProgrammingProgram Analysis of Probabilistic Programs
Probabilistic programming is a growing area that strives to make statistical analysis more accessible, by separating probabilistic modelling from probabilistic inference. In practice this decoupling is difficult. No sing…
Probabilistic Programming