English

CoLA: Exploiting Compositional Structure for Automatic and Efficient Numerical Linear Algebra

Machine Learning 2023-11-30 v2 Numerical Analysis Numerical Analysis Machine Learning

Abstract

Many areas of machine learning and science involve large linear algebra problems, such as eigendecompositions, solving linear systems, computing matrix exponentials, and trace estimation. The matrices involved often have Kronecker, convolutional, block diagonal, sum, or product structure. In this paper, we propose a simple but general framework for large-scale linear algebra problems in machine learning, named CoLA (Compositional Linear Algebra). By combining a linear operator abstraction with compositional dispatch rules, CoLA automatically constructs memory and runtime efficient numerical algorithms. Moreover, CoLA provides memory efficient automatic differentiation, low precision computation, and GPU acceleration in both JAX and PyTorch, while also accommodating new objects, operations, and rules in downstream packages via multiple dispatch. CoLA can accelerate many algebraic operations, while making it easy to prototype matrix structures and algorithms, providing an appealing drop-in tool for virtually any computational effort that requires linear algebra. We showcase its efficacy across a broad range of applications, including partial differential equations, Gaussian processes, equivariant model construction, and unsupervised learning.

Keywords

Cite

@article{arxiv.2309.03060,
  title  = {CoLA: Exploiting Compositional Structure for Automatic and Efficient Numerical Linear Algebra},
  author = {Andres Potapczynski and Marc Finzi and Geoff Pleiss and Andrew Gordon Wilson},
  journal= {arXiv preprint arXiv:2309.03060},
  year   = {2023}
}

Comments

Code available at https://github.com/wilson-labs/cola. NeurIPS 2023