Structured Inverse-Free Natural Gradient Descent: Memory-Efficient & Numerically-Stable KFAC

Wu Lin, Felix Dangel, Runa Eschenhagen, Kirill Neklyudov, Agustinus Kristiadi +2 more
2/12/2026

No official code found. Best implementation: f-dangel/singd (24 stars, last commit 2024-11-04). 1 more below.

Abstract

Second-order methods such as KFAC can be useful for neural net training. However, they are often memory-inefficient since their preconditioning Kronecker factors are dense, and numerically unstable in low precision as they require matrix inversion or decomposition. These limitations render such methods unpopular for modern mixed-precision training. We address them by (i) formulating an inverse-free KFAC update and (ii) imposing structures in the Kronecker factors, resulting in structured inverse-free natural gradient descent (SINGD). On modern neural networks, we show that SINGD is memory-efficient and numerically robust, in contrast to KFAC, and often outperforms AdamW even in half precision. Our work closes a gap between first- and second-order methods in modern low-precision training.

View on arXivView PDF

Code Implementations(2)

f-dangel/singdCommunity100%

[ICML 2024] SINGD: KFAC-like Structured Inverse-Free Natural Gradient Descent (http://arxiv.org/abs/2312.05705)

240Shell, PythonOct 5, 20231 years ago
MIT

[ICML 2024] SIRFShampoo: Structured inverse- and root-free Shampoo in PyTorch (https://arxiv.org/abs/2402.03496)

151Shell, PythonApr 5, 20241 years agoMIT

Similar Papers

Cite this paper

@article{lin2026structured,
  title  = {Structured Inverse-Free Natural Gradient Descent: Memory-Efficient & Numerically-Stable KFAC},
  author = {Wu Lin and Felix Dangel and Runa Eschenhagen and Kirill Neklyudov and Agustinus Kristiadi and Richard E. Turner and Alireza Makhzani},
  year   = {2026},
  eprint = {2312.05705},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/2312.05705},
  journal = {ICML 2023 2023}
}

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/2312.05705.svg)](https://codeofpaper.com/paper/2312.05705)

Discussion