flip-hoisting: Exploiting Repeated Parameters in Discrete Probabilistic Programs (bibtex)

by Yu-Hsi Cheng, Todd Millstein, Guy Van den Broeck and Steven Holtzen
Abstract:
Many of today's probabilistic programming languages (PPLs) have brittle inference performance: the performance of the underlying inference algorithm is very sensitive to the precise way in which the probabilistic program is written. A standard way of addressing this challenge in traditional programming languages is via program optimizations, which seek to unburden the programmer from writing low-level performant code, freeing them to work at a higher-level of abstraction. The arsenal of applicable program optimizations for PPLs to choose from is scarce in comparison to traditional programs; few of today's PPLs offer significant forms of automated program optimization. In this work we develop a new family of program optimizations specific to discrete-valued knowledge compilation based PPLs. We identify a particular form of program structure unique to these PPLs that tangibly affects exact inference performance in these programs: redundant random variables -- variables with repeated parameters and inconsistent path conditions. We develop a new program analysis and associated optimization called flip-hoisting that identifies these redundancies and optimizes them into a single random variable. We show that flip-hoisting yields inference speedups of up to 60% on applications of probabilistic programs such as Bayesian networks and probabilistic verification.
Reference:
Yu-Hsi Cheng, Todd Millstein, Guy Van den Broeck and Steven Holtzen. flip-hoisting: Exploiting Repeated Parameters in Discrete Probabilistic Programs, In International Conference on Probabilistic Programming (PROBPROG), 2021.
Bibtex Entry:
@inproceedings{ChengPROBPROG21,
  author 	= {Cheng, Yu-Hsi and Millstein, Todd and Van den Broeck, Guy and Holtzen, Steven},
  title     = {flip-hoisting: Exploiting Repeated Parameters in Discrete Probabilistic Programs},
  booktitle = {International Conference on Probabilistic Programming (PROBPROG)},
  month     = 10,
  year      = {2021},
  url       = "http://starai.cs.ucla.edu/papers/ChengPROBPROG21.pdf",
  keywords	= {conference}
}
PDF Preview:
(PDF preview not available, download PDF instead)
Powered by bibtexbrowser