首页> 外文会议>IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing >Distributed MCMC Inference in Dirichlet Process Mixture Models Using Julia
【24h】

Distributed MCMC Inference in Dirichlet Process Mixture Models Using Julia

机译:使用Julia的Dirichlet过程混合模型中的分布式MCMC推断

获取原文

摘要

Due to the increasing availability of large data sets, the need for general-purpose massively-parallel analysis tools become ever greater. In unsupervised learning, Bayesian nonparametric mixture models, exemplified by the Dirichlet-Process Mixture Model (DPMM), provide a principled Bayesian approach to adapt model complexity to the data. Despite their potential, however, DPMMs have yet to become a popular tool. This is partly due to the lack of friendly software tools that can handle large datasets efficiently. Here we show how, using Julia, one can achieve efficient and easily-modifiable implementation of distributed inference in DPMMs. Particularly, we show how a recent parallel MCMC inference algorithm - originally implemented in C++ for a single multi-core machine - can be distributed efficiently across multiple multi-core machines using a distributed-memory model. This leads to speedups, alleviates memory and storage limitations, and lets us learn DPMMs from significantly larger datasets and of higher dimensionality. It also turned out that even on a single machine the proposed Julia implementation handles higher dimensions more gracefully (at least for Gaussians) than the original C++ implementation. Finally, we use the proposed implementation to learn a model of image patches and apply the learned model for image denoising. While we speculate that a highly-optimized distributed implementation in, say, C++ could have been faster than the proposed implementation in Julia, from our perspective as machine-learning researchers (as opposed to HPC researchers), the latter also offers a practical and monetary value due to the ease of development and abstraction level. Our code is publicly available at https://github.com/dinarior/dpmm subclusters.jl
机译:由于大数据集的可用性不断提高,对通用大规模并行分析工具的需求变得越来越大。在无监督学习中,以Dirichlet-过程混合模型(DPMM)为例的贝叶斯非参数混合模型提供了一种有原则的贝叶斯方法来使模型的复杂性适应数据。尽管具有潜力,但是DPMM尚未成为流行的工具。这部分是由于缺少可以有效处理大型数据集的友好软件工具。在这里,我们展示了如何使用Julia来实现DPMM中分布式推理的高效且易于修改的实现。特别是,我们展示了如何使用分布式内存模型将最新的并行MCMC推理算法(最初在C ++中为单个多核计算机实现)如何在多个多核计算机之间高效地分布。这样可以提高速度,减轻内存和存储的限制,并让我们从明显更大的数据集和更高的维度中学习DPMM。结果还表明,即使在单台机器上,与原始C ++实现相比,拟议的Julia实现也可以更优雅地处理更高的维度(至少对于高斯而言)。最后,我们使用提出的实现来学习图像补丁模型,并将学习到的模型应用于图像去噪。从我们作为机器学习研究人员(而不是HPC研究人员)的角度来看,尽管我们推测C ++中高度优化的分布式实现可能比Julia中提出的实现更快,但后者也提供了一种实用且经济的解决方案。由于易于开发和抽象级别,因此具有很高的价值。我们的代码可在https://github.com/dinarior/dpmm subclusters.jl上公开获得。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号