Distributed-Memory Randomized Algorithms for Sparse Tensor CP Decomposition

Vivek Bharadwaj,Osman Asif Malik,Riley Murray,Aydin Buluç,James Demmel
DOI: https://doi.org/10.1145/3626183.3659980
2024-04-28
Abstract:Candecomp / PARAFAC (CP) decomposition, a generalization of the matrix singular value decomposition to higher-dimensional tensors, is a popular tool for analyzing multidimensional sparse data. On tensors with billions of nonzero entries, computing a CP decomposition is a computationally intensive task. We propose the first distributed-memory implementations of two randomized CP decomposition algorithms, CP-ARLS-LEV and STS-CP, that offer nearly an order-of-magnitude speedup at high decomposition ranks over well-tuned non-randomized decomposition packages. Both algorithms rely on leverage score sampling and enjoy strong theoretical guarantees, each with varying time and accuracy tradeoffs. We tailor the communication schedule for our random sampling algorithms, eliminating expensive reduction collectives and forcing communication costs to scale with the random sample count. Finally, we optimize the local storage format for our methods, switching between analogues of compressed sparse column and compressed sparse row formats. Experiments show that our methods are fast and scalable, producing 11x speedup over SPLATT by decomposing the billion-scale Reddit tensor on 512 CPU cores in under two minutes.
Numerical Analysis
What problem does this paper attempt to address?
### Problems the Paper Attempts to Solve The paper aims to address the problem of Candecomp/PARAFAC (CP) decomposition of large-scale sparse tensors. Specifically: 1. **Problem Background**: - CP decomposition is a generalization of matrix singular value decomposition (SVD) to higher-dimensional tensors, widely used for analyzing multi-dimensional sparse data. - For tensors containing billions of non-zero elements, computing CP decomposition is a computationally intensive task. 2. **Research Objectives**: - Propose two randomized CP decomposition algorithms (CP-ARLS-LEV and STS-CP), which offer nearly an order of magnitude speedup over existing non-randomized decomposition packages at high decomposition ranks. - These algorithms rely on leverage score sampling and have strong theoretical guarantees, but with different trade-offs between time and accuracy. 3. **Main Contributions**: - Introduced the first distributed memory version of randomized CP decomposition algorithms, achieving scalability on thousands of CPU cores. - Significantly reduced communication costs and improved computational efficiency by optimizing communication scheduling, local storage formats, and random sampling algorithms. - Experiments demonstrate that these methods are fast and scalable, achieving an 11x speedup in decomposing the Reddit tensor with billions of non-zero elements on 512 CPU cores. In summary, this paper is dedicated to improving the computational efficiency and scalability of large-scale sparse tensor CP decomposition through randomized algorithms.