[论文解读] Massively parallel MCMC for Bayesian hierarchical models
本文提出了 MultiBUGS,一种并行 MCMC 框架,通过在多核系统上自动分配似然评估和条件独立的参数更新,加速了贝叶斯层次模型的推断。在包含 425,112 个观测值和 20,426 个随机效应的大规模电子健康数据集上,该框架在 48 个核心上实现了 7 倍的加速,将推断时间从数小时缩短至 28 分钟。
MultiBUGS (this https URL) is a new version of the general-purpose Bayesian modelling software BUGS that implements a generic algorithm for parallelising Markov chain Monte Carlo (MCMC) algorithms to speed up posterior inference of Bayesian models. The algorithm parallelises evaluation of the product-form likelihoods formed when a parameter has many children in the directed acyclic graph (DAG) representation; and parallelises sampling of conditionally-independent sets of parameters. A heuristic algorithm is used to decide which approach to use for each parameter and to apportion computation across computational cores. This enables MultiBUGS to automatically parallelise the broad range of statistical models that can be fitted using BUGS-language software, making the dramatic speed-ups of modern multi-core computing accessible to applied statisticians, without requiring any experience of parallel programming. We demonstrate the use of MultiBUGS on simulated data designed to mimic a hierarchical e-health linked-data study of methadone prescriptions including 425,112 observations and 20,426 random effects. Posterior inference for the e-health model takes several hours in existing software, but MultiBUGS can perform inference in only 28 minutes using 48 computational cores.
研究动机与目标
- 使应用统计学家能够在不编写并行代码的情况下,利用多核计算加速贝叶斯层次模型的推断。
- 解决大规模贝叶斯模型中具有大量随机效应时 MCMC 推断的性能瓶颈问题。
- 开发一种与 BUGS 语言和基于 DGM 的模型表示兼容的通用、自动并行化策略。
- 在具有高维随机效应的真实世界复杂电子健康数据集上展示显著的加速效果。
提出的方法
- 当参数在 DAG 中有多个子节点时,该方法并行化乘积形式似然的评估。
- 在吉布斯采样过程中,识别并并行化条件独立的参数集合。
- 基于计算成本和结构,采用启发式算法为每个参数在似然并行化与参数集并行化之间进行选择。
- 该框架与现有 BUGS 软件集成,支持使用 BUGS 语言编写的模型的自动并行化。
- 通过基于任务的并行化策略在多个核心上分发计算,最大限度减少负载不平衡。
实验结果
研究问题
- RQ1MCMC 算法的自动并行化能否显著缩短大规模贝叶斯层次模型的推断时间?
- RQ2基于启发式的似然并行化与参数集并行化之间的选择策略,在多种模型结构中效果如何?
- RQ3MultiBUGS 在具有大量随机效应的真实世界高维电子健康数据集上能实现多大程度的可扩展性?
- RQ4性能提升是否可以在不需用户编写自定义并行代码的情况下实现?
主要发现
- MultiBUGS 将一个包含 425,112 个观测值和 20,426 个随机效应的大规模电子健康模型的后验推断时间从数小时缩短至仅 28 分钟,使用了 48 个计算核心。
- 与现有串行 MCMC 软件相比,该框架在同一复杂层次模型上实现了 7 倍的加速。
- 自动并行化在无需用户干预或低级并行编程的情况下,对多种多样的模型结构均表现出良好效果。
- 启发式算法成功实现了工作负载的均衡,并为不同参数和模型组件选择了最优的并行化策略。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。