Skip to main content
QUICK REVIEW

[논문 리뷰] Massively parallel MCMC for Bayesian hierarchical models

Robert J. B. Goudie, Rebecca Turner|arXiv (Cornell University)|2017. 04. 11.
Statistical Methods and Bayesian Inference인용 수 2
한 줄 요약

이 논문은 다중 코어 시스템에서 가능하게 하여 베이지안 계층 모델링의 계산 속도를 향상시키는 병렬 MCMC 프레임워크인 MultiBUGS를 소개한다. 이는 가능성을 자동으로 분산하고 조건부 독립적인 매개변수 갱신을 수행한다. 48개의 코어를 사용하여 425,112개의 관측치와 20,426개의 랜덤 효과를 가진 대규모 전자건강(e-health) 데이터셋에서 추론 시간을 수 시간에서 28분으로 단축하여 7배의 성능 향상을 달성하였다.

ABSTRACT

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 언어와 DAG 기반 모델 표현 방식과 호환되는 일반적이고 자동화된 병렬화 전략을 개발하기 위해.
  • 고차원 랜덤 효과를 포함한 실제 세계의 복잡한 전자건강 데이터셋에서 뚜렷한 성능 향상을 보여주기 위해.

제안 방법

  • 매개변수가 DAG에서 여러 자식을 가질 경우, 곱형태의 가능도 평가를 병렬화한다.
  • Gibbs 샘플링 중 조건부 독립적인 매개변수 집합을 식별하고 병렬화한다.
  • 계산 비용과 구조를 기반으로 각 매개변수에 대해 가능도 병렬화와 매개변수 집합 병렬화 사이의 히우리스틱 알고리즘을 선택한다.
  • 기존의 BUGS 소프트웨어와 통합되어 BUGS 언어로 작성된 모델의 자동 병렬화를 가능하게 한다.
  • 부하 불균형을 최소화하는 태스크 기반 병렬화 전략을 사용하여 계산을 여러 코어에 분산한다.

실험 결과

연구 질문

  • RQ1자동 병렬화된 MCMC 알고리즘은 대규모 베이지안 계층 모델의 추론 시간을 뚜렷이 단축시킬 수 있는가?
  • RQ2다양한 모델 구조에서 가능도 병렬화와 매개변수 집합 병렬화 사이의 히우리스틱 기반 선택 전략은 얼마나 효과적인가?
  • RQ3MultiBUGS는 많은 랜덤 효과를 포함한 실제 세계의 고차원 전자건강 데이터셋에서 어느 정도 확장 가능한가?
  • RQ4사용자가 맞춤형 병렬 코드를 작성하지 않더라도 성능 향상 효과를 달성할 수 있는가?

주요 결과

  • MultiBUGS는 425,112개의 관측치와 20,426개의 랜덤 효과를 포함한 대규모 전자건강 모델의 사후 추론 시간을 수 시간에서 48개의 계산 코어를 사용해 단 28분으로 단축시켰다.
  • 동일한 복잡한 계층 모델에서 기존의 순차적 MCMC 소프트웨어 대비 7배의 성능 향상을 달성하였다.
  • 사용자 간섭 없이도 다양한 모델 구조에서 자동 병렬화가 효과적으로 작동하였다. 저수준의 병렬 프로그래밍이 필요하지 않았다.
  • 히우리스틱 알고리즘이 작업 부하를 효과적으로 균형 잡고 다양한 매개변수와 모델 구성 요소에 최적의 병렬화 전략을 선택하는 데 성공하였다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.