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