arrow
Return

CPU-and GPU-Based Distributed Sampling in Dirichlet Process Mixtures for Large-Scale Analysis

delete2026-05-01
delete0
PRE
AI
D
Dinari, Or *
F
Fisher, John W.
Z
Zamir, Raz
O
Oren Freifeld
DOI:10.18637/jss.v116.i07delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
In the realm of unsupervised learning, Bayesian nonparametric mixture models, exemplified by the Dirichlet process mixture model (DPMM), provide a principled approach for adapting the complexity of the model to the data. Such models are particularly useful in clustering tasks where the number of clusters is unknown. Despite their potential and mathematical elegance, however, DPMMs have yet to become a mainstream tool widely adopted by practitioners. This is arguably due to a misconception that these models scale poorly as well as the lack of high-performance (and user-friendly) software tools that can handle large datasets efficiently. In this paper we bridge this practical gap by proposing a new, easy-to-use, statistical software package for scalable DPMM inference. More concretely, we provide efficient and easily-modifiable implementations for high-performance distributed sampling-based inference in DPMMs where the user is free to choose between either a multiple-machine, multiple-core, central-processing-unit (CPU) implementation (in Julia) and a multiple-stream graphics-processing-unit (GPU) implementation (in CUDA/C++). Both the CPU and GPU implementations come with a common (and optional) Python wrapper, providing the user with a single point of entry with the same interface. On the algorithmic side, our implementations leverage a leading DPMM sampler from Chang and Fisher III (2013). While Chang and Fisher III's implementation (in MATLAB/C++) used only CPU and was designed for a single multi-core machine, the packages we proposed here distribute the computations efficiently across either multiple multi-core machines or across multiple GPU streams. This leads to speedups, alleviates memory and storage limitations, and lets us fit DPMMs to significantly larger datasets and of higher dimensionality than was possible previously by either Chang and Fisher III (2013) or other DPMM methods.
Keywords:
Dirichlet process mixtures
sampling
clustering
GPU
C plus plus
CUDA
Julia
Python

Journal

Journal of Statistical Software cover
Journal of Statistical Software
IF:
8.1
Papers:
622
Citations:
4.6W

Organization

M
massachusetts institute of technology (mit)
Scholars:
1.4K
Papers: 622
Citations: 0
B
Ben-Gurion University of the Negev
Scholars:
1.8K
Papers: 794
Citations: 1.6W