Exact QEPs with Scalable (GPU) Inference

In QPyTorch, Exact QEP inference is still our preferred approach to large regression datasets. By coupling GPU acceleration with LancZos Variance Estimates (LOVE), QPyTorch can perform inference on datasets with over 1,000,000 data points while making very few approximations.

LancZos Variance Estimates (LOVE)

LanczOs Variance Estimates (LOVE) (introduced by Pleiss et al., 2019) is a technique to rapidly speed up predictive variances and posterior sampling. Check out the QEP Regression with Fast Variances and Sampling (LOVE) notebook to see how to use LOVE in QPyTorch, and how it compares to standard variance computations.

Exact QEPs with GPU Acceleration

Here are examples of Exact QEPs using GPU acceleration.

Scalable Posterior Sampling with CIQ

Here we provide a notebook of QEP poseterior sampling with CIQ demonstrating the use of Contour Integral Quadrature with msMINRES as described in the CIQ paper. For the most dramatic results, we recommend combining this technique with other techniques in this section like kernel checkpointing with KeOps, which would allow for posterior sampling on up to hundreds of thousands of test examples.

Scalable Kernel Approximations

While exact computations are our preferred approach, QPyTorch offer approximate kernels to reduce the asymptotic complexity of inference.

Structure-Exploiting Kernels

If your data lies on a Euclidean grid, and your QEP uses a stationary kernel, the computations can be sped up dramatically. See the Grid Regression example for more info.