MLAIDCPLDec 12, 2013

Augur: a Modeling Language for Data-Parallel Probabilistic Inference

arXiv:1312.3613v24 citations
Originality Incremental advance
AI Analysis

This addresses the need for practical and efficient probabilistic programming for researchers and practitioners, though it is incremental as it builds on existing probabilistic programming concepts with a focus on data-parallel architectures.

The authors tackled the problem of time-consuming and error-prone manual implementation of inference procedures for probabilistic models by introducing Augur, a probabilistic programming language and compiler for Bayesian networks that automatically generates data-parallel inference code for GPUs, achieving scalability to thousands of GPU cores.

It is time-consuming and error-prone to implement inference procedures for each new probabilistic model. Probabilistic programming addresses this problem by allowing a user to specify the model and having a compiler automatically generate an inference procedure for it. For this approach to be practical, it is important to generate inference code that has reasonable performance. In this paper, we present a probabilistic programming language and compiler for Bayesian networks designed to make effective use of data-parallel architectures such as GPUs. Our language is fully integrated within the Scala programming language and benefits from tools such as IDE support, type-checking, and code completion. We show that the compiler can generate data-parallel inference code scalable to thousands of GPU cores by making use of the conditional independence relationships in the Bayesian network.

Foundations

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

Your Notes