Dynamic Low-rank Approximation of Full-Matrix Preconditioner for Training Generalized Linear Models

Tatyana Matveeva, Aleksandr Katrutsa, Evgeny Frolov
8/28/2025
cs.LGcs.AI

No confident code implementation found for this paper. 1 possible match can be shown below.

Abstract

Adaptive gradient methods like Adagrad and its variants are widespread in large-scale optimization. However, their use of diagonal preconditioning matrices limits the ability to capture parameter correlations. Full-matrix adaptive methods, approximating the exact Hessian, can model these correlations and may enable faster convergence. At the same time, their computational and memory costs are often prohibitive for large-scale models. To address this limitation, we propose AdaGram, an optimizer that enables efficient full-matrix adaptive gradient updates. To reduce memory and computational overhead, we utilize fast symmetric factorization for computing the preconditioned update direction at each iteration. Additionally, we maintain the low-rank structure of a preconditioner along the optimization trajectory using matrix integrator methods. Numerical experiments on standard machine learning tasks show that AdaGram converges faster or matches the performance of diagonal adaptive optimizers when using rank five and smaller rank approximations. This demonstrates AdaGram's potential as a scalable solution for adaptive optimization in large models.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. 1 weaker match is hidden by default — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{matveeva2025dynamic,
  title  = {Dynamic Low-rank Approximation of Full-Matrix Preconditioner for Training Generalized Linear Models},
  author = {Tatyana Matveeva and Aleksandr Katrutsa and Evgeny Frolov},
  year   = {2025},
  eprint = {2508.21106},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2508.21106v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2508.21106.svg)](https://codeofpaper.com/paper/2508.21106)

Discussion