English

Matrix Factorization on GPUs with Memory Optimization and Approximate Computing

Distributed, Parallel, and Cluster Computing 2018-08-14 v1 Information Retrieval Machine Learning

Abstract

Matrix factorization (MF) discovers latent features from observations, which has shown great promises in the fields of collaborative filtering, data compression, feature extraction, word embedding, etc. While many problem-specific optimization techniques have been proposed, alternating least square (ALS) remains popular due to its general applicability e.g. easy to handle positive-unlabeled inputs, fast convergence and parallelization capability. Current MF implementations are either optimized for a single machine or with a need of a large computer cluster but still are insufficient. This is because a single machine provides limited compute power for large-scale data while multiple machines suffer from the network communication bottleneck. To address the aforementioned challenge, accelerating ALS on graphics processing units (GPUs) is a promising direction. We propose the novel approach in enhancing the MF efficiency via both memory optimization and approximate computing. The former exploits GPU memory hierarchy to increase data reuse, while the later reduces unnecessary computing without hurting the convergence of learning algorithms. Extensive experiments on large-scale datasets show that our solution not only outperforms the competing CPU solutions by a large margin but also has a 2x-4x performance gain compared to the state-of-the-art GPU solutions. Our implementations are open-sourced and publicly available.

Keywords

Cite

@article{arxiv.1808.03843,
  title  = {Matrix Factorization on GPUs with Memory Optimization and Approximate Computing},
  author = {Wei Tan and Shiyu Chang and Liana Fong and Cheng Li and Zijun Wang and Liangliang Cao},
  journal= {arXiv preprint arXiv:1808.03843},
  year   = {2018}
}