Anytime Parallel Tempering
Developing efficient and scalable Markov chain Monte Carlo (MCMC) algorithms is indispensable in Bayesian inference. To improve their performance, a possible solution is parallel tempering, which runs multiple interacting MCMC chains to more efficiently explore the state space. The multiple MCMC chains are advanced independently in what is known as local moves, and the performance enhancement steps are the exchange moves, where the chains pause to exchange their current sample among each other. To reduce the real time taken to perform the independent local moves, they may be performed simultaneously on multiple processors. Another problem is then encountered: depending on the MCMC implementation and the inference problem itself, the local moves can take a varying and random amount of time to complete, and there may also be computing infrastructure induced variations, such as competing jobs on the same processors, an issue one must contend with in a Cloud computing setting, for example. Thus before the exchange moves can occur, all chains must complete the local move they are engaged in so as to avoid introducing, a potentially substantial, bias (Proposition 2.1). To solve this problem of random and non-uniformly distributed local move completion times when parallel tempering is implemented on a multi-processor computing resource, we adopt the Anytime Monte Carlo framework of Murray et al. (2016): we impose real-time deadlines on the parallelly computed local moves and perform exchanges at these deadline without any processor idling. We show our methodology for exchanges at real-time deadlines does not introduce a bias and leads to significant performance enhancements over the naïve approach of idling until every processor's local moves complete.
READ FULL TEXT