CuLDA_CGS:在GPU上求解大规模LDA问题
分布式、并行与集群计算
2018-03-14 v1
摘要
隐狄利克雷分配(LDA)是一种流行的主题模型。鉴于LDA算法的输入语料包含数百万至数十亿词元,LDA训练过程非常耗时,这可能阻碍LDA在许多场景(如在线服务)中的使用。GPU因其高内存带宽与计算能力而惠及现代机器学习算法与大数据分析。因此,许多框架(如TensorFlow、Caffe、CNTK)支持使用GPU加速流行的机器学习数据密集型算法。然而,我们观察到基于GPU的LDA解决方案并不令人满意。本文提出CuLDA_CGS,一种基于GPU的高效可扩展方法以加速大规模LDA问题。CuLDA_CGS旨在以高吞吐率高效求解LDA问题。为此,我们首先精心设计工作负载划分与同步机制以利用多GPU的优势。然后,从采样算法、并行化与数据压缩角度进行优化,将LDA采样过程卸载到各个GPU上。评估表明,与最先进的LDA解决方案相比,CuLDA_CGS在单GPU上大幅优于它们(最高达7.3倍)。CuLDA_CGS在4个GPU上能够实现额外3.0倍加速。源代码公开于 https://github.com/cuMF/CuLDA_CGS。
引用
@article{arxiv.1803.04631,
title = {CuLDA_CGS: Solving Large-scale LDA Problems on GPUs},
author = {Xiaolong Xie and Yun Liang and Xiuhong Li and Wei Tan},
journal= {arXiv preprint arXiv:1803.04631},
year = {2018}
}