From high-level inference algorithms to efficient code

Abstract

Probabilistic programming languages are valuable because they allow domain experts to express probabilistic models and inference algorithms without worrying about irrelevant details. However, for decades there remained an important and popular class of probabilistic inference algorithms whose efficient implementation required manual low-level coding that is tedious and error-prone. They are algorithms whose idiomatic expression requires random array variables that are latent or whose likelihood is conjugate . Although that is how practitioners communicate and compose these algorithms on paper, executing such expressions requires eliminating the latent variables and recognizing the conjugacy by symbolic mathematics. Moreover, matching the performance of handwritten code requires speeding up loops by more than a constant factor.

Document Details

Document Type
Pub Defense Publication
Publication Date
Jul 26, 2019
Source ID
10.1145/3341702

Entities

People

  • Chung-chieh Shan
  • Jacques Carette
  • Praveen Narayanan
  • Rajan Walia
  • Sam Tobin-hochstadt

Organizations

  • Defense Advanced Research Projects Agency
  • Indiana University
  • McMaster University
  • National Science Foundation

Tags

Fields of Study

  • Computer science

Readers

  • Computational Linguistics
  • Distributed Systems and Data Platform Development
  • Statistical inference.

Technology Areas

  • AI & ML