Making Analog Training Scale: Co-Designing Mapping, Optimizer, and Converters
Organizations: Cornell Tech and Cornell University · IBM T. J. Watson Research Center · Sandia National Laboratories
Abstract
Analog in-memory computing (AIMC) offers an alternative for model training by executing matrix operations directly where weights are stored. However, scaling AIMC to train modern deep models remains an open challenge due to severe hardware non-idealities, including physical weights with finite dynamic range and write granularity, analog-digital converters with finite resolution, and noisy and asymmetric updates. Guided by the insight that gradient accumulation is sensitive to precision and rounding errors, we adopt a mixed-precision training paradigm: executing forward and backward matrix multiplications in the analog domain while computing weight gradients in the digital domain. To enable scalable training, we present a holistic system-algorithm co-design that co-optimizes weight mapping to ensure well-conditioned physical and logical weight profiles, couples a preconditioned optimizer with threshold-triggered open-loop pulsing to stabilize training trajectories, and aligns converter dynamic ranges to suppress quantization errors. Evaluated via hardware-calibrated architectural simulations calibrated with electrochemical RAM measurements, our framework scales Transformer training up to parameters with validation loss scaling as , where is the parameter count, comparable to for digital training.
Figures & tables
| Scale | Params. | MpSGD | MpAdam | (ours) | Digital Adam | |
|---|---|---|---|---|---|---|
| Tiny | 6.8M | 10.7718 | 10.6035 | 6.8110 | 6.6075 | 6.3451 |
| Small | 16.0M | 10.8545 | 10.5566 | 5.9143 | 5.6245 | 5.3033 |
| Medium | 29.9M | 10.8293 | 10.7397 | 5.2073 | 4.8696 | 4.5499 |
Appendix figures & tables15 assets
Supplementary material from the paper’s appendix.
Appendix
| Work | Evidence | Task | Model | #analog wt. | Dataset/task | #tokens |
|---|---|---|---|---|---|---|
| Li et al. (2021) | H | F | Logic-gate net | Truth tables | ||
| Ando et al. (2025) | H | T | Binary classifier | MNIST | k | |
| Chen et al. (2023a) | H | F | Bilayer MLP | Mushrooms | k | |
| Ning et al. (2025) | H | F | Sparse NN | EMNIST L | k | |
| Wang et al. (2019) | H | F | CNN/RNN | k | MNIST | k |
| Yao et al. (2020) | H | F | CNN | k | MNIST | k |
| Model | # blocks | Width | # heads | # parameters | Updates | Final validation step |
|---|---|---|---|---|---|---|
| Tiny | 2 | 128 | 4 | 6.83M | 278 | 273 |
| Small | 4 | 256 | 4 | 16.01M | 652 | 640 |
| Medium | 6 | 384 | 6 | 29.92M | 1,218 | 1,200 |
| Large | 8 | 512 | 8 | 50.91M | 2,072 | 2,060 |
| XLarge | 12 | 768 | 12 | 123.55M | 5,028 | 5,020 |
| Task accuracy | Avg | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Model | HSw | PIQA | ARCe | ARCc | OBQA | Wino | CSQA | COPA | SciQ | WSC | |
| Digital Tiny | 29.7 | 57.0 | 29.7 | 23.4 | 21.9 | 47.7 | 18.8 | 53.0 | 35.9 | 36.5 | 35.4 |
| Digital Small | 28.9 | 61.7 | 33.6 | 22.7 | 17.2 | 50.0 | 21.1 | 49.0 | 43.0 | 59.6 | 38.7 |
| Digital Medium | 27.3 | 58.6 | 33.6 | 18.8 | 21.9 | 49.2 | 27.3 | 52.0 | 48.4 | 60.6 | 39.8 |
| Digital Large | 26.6 | 60.2 | 33.6 | 21.1 | 18.0 | 50.8 | 25.0 | 54.0 | 39.8 | 63.5 | 39.3 |
| Digital Xlarge | 28.9 | 64.1 | 35.9 | 21.1 | 21.1 | 50.8 | 21.9 | 59.0 | 46.1 | 41.3 | 39.0 |
| Task accuracy | Avg | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Model | AG | Bool | CB | CoLA | MNLI | MRPC | QNLI | QQP | RTE | SST-2 | WiC | WNLI | |
| Digital Tiny | 18.8 | 39.8 | 41.1 | 46.1 | 35.9 | 39.1 | 47.7 | 51.6 | 52.3 | 58.6 | 49.2 | 56.3 | 44.7 |
| Digital Small | 21.1 | 42.2 | 41.1 | 43.0 | 38.3 | 35.9 | 46.1 | 39.8 | 52.3 | 57.0 | 48.4 | 62.0 | 43.9 |
| Digital Medium | 21.9 | 40.6 | 41.1 | 41.4 | 38.3 | 32.8 | 56.2 | 68.0 | 51.6 | 64.8 | 46.1 | 59.2 | 46.8 |
| Digital Large | 25.0 | 40.6 | 41.1 | 40.6 | 40.6 | 32.8 | 47.7 | 65.6 | 51.6 | 60.9 | 46.1 | 56.3 | 45.7 |
| Digital Xlarge | 22.7 | 56.2 | 41.1 | 39.1 | 38.3 | 33.6 | 58.6 | 60.2 | 52.3 | 57.0 | 46.1 | 63.4 | 47.4 |
| Preset device | # states | ||||||
|---|---|---|---|---|---|---|---|
| ReRamES Gong et al. (2022) | 0.00135 | 0.259359 | 1 | -1 | 5 | 5 | 1481.5 |
| ReRamSB Gong et al. (2022) | 0.002 | 0 | 1.25 | -0.75 | – | – | 1000 |
| Capacitor Li et al. (2018b) | 0.005 | 0 | 1 | -1 | 0.05 | 0.05 | 400 |
| Li-ECRAM Tang et al. (2018) | 0.002 | 0 | 1.1724 | -0.8276 | 0.1153 | 0.5085 | 1000 |
| MO-ECRAM Kim et al. (2019b) | 0.00028214 | 0 | 1.1714 | -0.8286 | 0.4152 | 0.7342 | 7088.7 |
| PCM Nandakumar et al. (2019) | 0.01 | 0 | 2 | 0 | 2.5 | 2.5 | 200 |
| Preset device | ||||||||
|---|---|---|---|---|---|---|---|---|
| ReRamES Gong et al. (2022) | 0.2 | 0.05 | 0.3 | 0.3 | – | – | 5 | 75 |
| ReRamSB Gong et al. (2022) | 0.3 | 0.01 | 0.24 | 0.4 | – | – | 3.75 | 56 |
| Capacitor Li et al. (2018b) | 0.1 | 0.06 | 0.07 | 0.07 | 0.01 | 0.01 | 0.3 | 0 |
| Li-ECRAM Tang et al. (2018) | 0.1 | 0.01 | 0.05 | 0.05 | 0.05 | 0.05 | 0.3 | 0 |
| MO-ECRAM Kim et al. (2019b) | 0.1 | 0.01 | 0.05 | 0.05 | 0.05 | 0.05 | 2 | 0 |
| PCM Nandakumar et al. (2019) | 0.2 | 0.05 | 0.1 | 0 | – | – | 0.6 | 0 |
| Device | L2 | L4 | L6 | L8 |
|---|---|---|---|---|
| Digital | 2.2276 | 2.0239 | 1.9006 | 1.8422 |
| SoftBounds | 2.3302 | 2.0935 | 1.9733 | 1.8949 |
| ReRamES | 2.4486 | 2.3741 | 2.2386 | 2.1687 |
| ReRamSB | 2.4782 | 2.4455 | 2.3214 | 2.2486 |
| Capacitor | 2.3305 | 2.0934 | 1.9517 | 1.8699 |
| Li-ECRAM | 2.3139 | 2.0665 | 1.9424 | 1.8637 |
| Device | L2 | L4 | L6 | L8 |
|---|---|---|---|---|
| Digital | 2.2276 | 2.0239 | 1.9006 | 1.8422 |
| SoftBounds | 2.4357 | 2.3168 | 2.2038 | 2.1422 |
| ReRamES | 2.5540 | 2.4946 | 2.4970 | 2.4409 |
| ReRamSB | 2.5309 | 2.5390 | 2.4911 | 2.4616 |
| Capacitor | 2.5324 | 2.5215 | 2.4885 | 2.5088 |
| Li-ECRAM | 2.4887 | 2.4689 | 2.3347 | 2.2591 |
| Bits | L2 | L4 | L6 | L8 |
|---|---|---|---|---|
| 3 | 2.9552 | 2.9166 | 2.9166 | 2.8549 |
| 4 | 2.5548 | 2.5036 | 2.4457 | 2.3802 |
| 5 | 2.4658 | 2.4212 | 2.2929 | 2.2218 |
| 6 | 2.4379 | 2.3800 | 2.2233 | 2.1778 |
| 7 | 2.4362 | 2.3370 | 2.2036 | 2.1418 |
| 8 | 2.4212 | 2.3420 | 2.1939 | 2.1389 |
| Profile | ||||
|---|---|---|---|---|
| Pure-digital initialization controls | ||||
| Digital | 2.2276 | 2.0238 | 1.9006 | 1.8422 |
| Digital-I | 2.2355 | 2.0073 | 1.9018 | 1.8258 |
| Original stack and factorization of S (analog) | ||||
| MpSGD | 3.4444 | 3.4605 | 3.4571 | 3.4403 |
| Native-map Adam ( ) | 2.4576 | 2.4279 | 2.3902 | 2.3472 |
| Optimizer | Profile | ||||
|---|---|---|---|---|---|
| AdamW | Digital | 2.2355 | 2.0073 | 1.9018 | 1.8258 |
| S | 2.3422 | 2.0925 | 1.9696 | 1.8999 | |
| SFB | 2.4419 | 2.3393 | 2.2098 | 2.1432 | |
| Muon | Digital | 2.0141 | 1.8948 | 1.7922 | 1.7252 |
| S | 2.3053 | 2.0798 | 1.9650 | 1.8956 | |
| SFB | 2.3988 | 2.2972 | 2.1825 | 2.1384 |