Towards Exact Gradient-based Training on Analog In-memory Computing

Zhaoxian Wu, Tayfun Gokmen, Malte J. Rasch, Tianyi Chen
6/18/2024
cs.LGcs.ARmath.OC

No official code found. Best implementation: Zhaoxian-Wu/analog-training (7 stars, last commit 2025-11-26).

Abstract

Given the high economic and environmental costs of using large vision or language models, analog in-memory accelerators present a promising solution for energy-efficient AI. While inference on analog accelerators has been studied recently, the training perspective is underexplored. Recent studies have shown that the "workhorse" of digital AI training - stochastic gradient descent (SGD) algorithm converges inexactly when applied to model training on non-ideal devices. This paper puts forth a theoretical foundation for gradient-based training on analog devices. We begin by characterizing the non-convergent issue of SGD, which is caused by the asymmetric updates on the analog devices. We then provide a lower bound of the asymptotic error to show that there is a fundamental performance limit of SGD-based analog training rather than an artifact of our analysis. To address this issue, we study a heuristic analog algorithm called Tiki-Taka that has recently exhibited superior empirical performance compared to SGD and rigorously show its ability to exactly converge to a critical point and hence eliminates the asymptotic error. The simulations verify the correctness of the analyses.

View on arXivView PDF

Code Implementations(1)

Code for the paper "Towards Exact Gradient-based Training on Analog In-memory Computing", NeurIPS 2024, and "Analog In-memory Training on General Non-ideal Resistive Elements: The Impact of Response Functions", NeurIPS 2025

71PythonOct 29, 202410 months ago

Similar Papers

Cite this paper

@article{wu2024towards,
  title  = {Towards Exact Gradient-based Training on Analog In-memory Computing},
  author = {Zhaoxian Wu and Tayfun Gokmen and Malte J. Rasch and Tianyi Chen},
  year   = {2024},
  eprint = {2406.12774},
  archivePrefix = {arXiv},
  doi    = {10.48550/arXiv.2406.12774},
  url    = {http://arxiv.org/abs/2406.12774v1},
  journal = {NEURIPS 2024 2024}
}

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

Discussion