GPyTorch: Blackbox Matrix-Matrix Gaussian Process Inference with GPU Acceleration
About
Despite advances in scalable models, the inference tools used for Gaussian processes (GPs) have yet to fully capitalize on developments in computing hardware. We present an efficient and general approach to GP inference based on Blackbox Matrix-Matrix multiplication (BBMM). BBMM inference uses a modified batched version of the conjugate gradients algorithm to derive all terms for training and inference in a single call. BBMM reduces the asymptotic complexity of exact GP inference from $O(n^3)$ to $O(n^2)$. Adapting this algorithm to scalable approximations and complex GP models simply requires a routine for efficient matrix-matrix multiplication with the kernel and its derivative. In addition, BBMM uses a specialized preconditioner to substantially speed up convergence. In experiments we show that BBMM effectively uses GPU hardware to dramatically accelerate both exact GP inference and scalable approximations. Additionally, we provide GPyTorch, a software platform for scalable GP inference via BBMM, built on PyTorch.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| End-to-end GP fit+predict | Synthetic GP Data D=4 | Time (ms)2.14 | 27 | |
| Regression | Boston no contamination | RMSE3.24 | 11 | |
| Regression | Yacht no contamination | RMSE0.48 | 11 | |
| Regression | Concrete no contamination | RMSE5.14 | 11 | |
| Regression | Power no contamination | RMSE4.04 | 11 | |
| Tabular Regression | Energy no contamination (avg. over 10 trials) | RMSE1.43 | 11 | |
| Tabular Regression | Carbon no contamination (avg. over 10 trials) | RMSE0.013 | 11 | |
| Tabular Regression | Protein no contamination (avg. over 10 trials) | RMSE356.4 | 11 | |
| Regression | Elevators 10% outlier contamination (test) | RMSE0.004 | 11 | |
| Regression | Concrete 10% outlier contamination | RMSE8.46 | 11 |