arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1610.02496cs.DCcs.IRcs.LGstat.ML

SaberLDA:GPU上面向主题模型的稀疏感知学习

SaberLDA: Sparsity-Aware Learning of Topic Models on GPUs

Tsinghua Universtiy(清华大学)

Kaiwei Li, Jianfei Chen, Wenguang Chen, Jun Zhu

AI总结:

针对现有GPU上LDA系统因稠密结构无法支持大量主题的问题,提出稀疏感知的SaberLDA系统,通过新型数据布局等优化实现亚线性复杂度,单卡即可处理数十亿词元、上万主题的任务。

摘要:

隐含狄利克雷分布(Latent Dirichlet Allocation, LDA)是分析文本、图像等离散计数数据的常用工具。实际应用要求LDA既能处理大规模数据集,也能支持大量主题。尽管人们已使用分布式CPU系统,但基于GPU的系统凭借GPU的高计算能力和内存带宽,成为颇具前景的替代方案。然而,现有基于GPU的LDA系统无法支持大量主题,因为它们采用基于稠密数据结构的算法,其时空间复杂度与主题数呈线性关系。本文提出SaberLDA,这是一款基于GPU的LDA系统,实现了稀疏感知算法,可达到亚线性时间复杂度,能良好扩展以学习大量主题。为应对稀疏性带来的挑战,我们提出了一种新型数据布局、全新的基于线程束(warp)的采样核函数,以及高效的稀疏计数矩阵更新算法,该算法可提升局部性、高效利用GPU线程束并降低内存消耗。实验表明,SaberLDA可在数十亿词元规模的数据上学习最多10000个主题,规模几乎是此前基于GPU的系统的两个数量级。仅用单张GPU卡,SaberLDA就能在数小时内从数十亿词元的数据集中学到10000个主题,而此前这一任务需要数十台机器组成的集群才能完成。

英文摘要:

Latent Dirichlet Allocation (LDA) is a popular tool for analyzing discrete count data such as text and images. Applications require LDA to handle both large datasets and a large number of topics. Though distributed CPU systems have been used, GPU-based systems have emerged as a promising alternative because of the high computational power and memory bandwidth of GPUs. However, existing GPU-based LDA systems cannot support a large number of topics because they use algorithms on dense data structures whose time and space complexity is linear to the number of topics. In this paper, we propose SaberLDA, a GPU-based LDA system that implements a sparsity-aware algorithm to achieve sublinear time complexity and scales well to learn a large number of topics. To address the challenges introduced by sparsity, we propose a novel data layout, a new warp-based sampling kernel, and an efficient sparse count matrix updating algorithm that improves locality, makes efficient utilization of GPU warps, and reduces memory consumption. Experiments show that SaberLDA can learn from billions-token-scale data with up to 10,000 topics, which is almost two orders of magnitude larger than that of the previous GPU-based systems. With a single GPU card, SaberLDA is able to learn 10,000 topics from a dataset of billions of tokens in a few hours, which is only achievable with clusters with tens of machines before.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑