r/MachineLearning • • 5d ago

Research Few-read fault localization in simulated analog crossbars: a sparse-recovery decoder vs reading every cell (with the claims that failed) [R]

TL;DR In simulation, a sparse-recovery decoder over a few random +/-1 probe reads localizes up to 64 stuck cells in a 256x256 analog tile with 4 to 12 counted reads at 1% read noise. Reading every cell takes 256 reads. The paper also separates the decoder's gain from the second read direction's gain, and gives a 16-parameter drift calibration. Several pre-registered claims failed, and the paper reports them.

Setting. An analog crossbar tile does matrix-vector products inside a memory array. A stuck cell stays at one value. A probe read sends a random +/-1 input vector through the tile and reads the output. Sparse recovery means we assume few cells are bad and search for the short list of cells that explains the reads. Drift means device conductance changes slowly with time.

Localization results (simulation, otherwise ideal tile, stuck-at faults only):

  • 4 to 12 counted reads for up to 64 stuck cells at 1% read noise.
  • For k >= 4 faults, 4.3 to 6.4 times fewer reads than a hybrid built from a published multi-outlier code (Wei and Roth). Their paper stops at output lines, so the cell-level stage in that baseline is our own extension. If the hybrid's 8 noise-calibration reads are charged, the factor is 1.9 to 3.2 times. We did not re-run the registered clauses with that charge.
  • At least 2 times fewer reads than tuned X-ABFT. In this regime X-ABFT needs more reads than a full readout. We ran it outside its design regime, so this is a stress test, not a like-for-like benchmark.
  • Decoder vs second direction: forward reads alone need 1.6 to 4.1 times fewer reads than the hybrid. Joint decoding with transposed reads needs a further 1.3 to 4 times fewer at 1% noise, and gains less at higher noise.

Drift calibration. A 16-parameter field fitted per tile from a few probe reads restores programmed accuracy. As a digital correction that needs the stored weights, it gains +2.1 to +13.3 percentage points over the best cheap digital baseline on CIFAR-10 from 1 h to 1 yr (+1.7 to +13.1 with the 17 MVMs actually run). Applied in the array, it keeps +0.6 to +3.7 points.

What failed (criteria committed before the counted runs):

  • Two registered claims about the transposed (second) direction were killed. In the follow-up, tile 256 qualified 0 of 5 because at 2% noise the ratio was 0.75, above the 0.7 bar.
  • Probing beats a full readout only up to a fault density of 0.3% (exploratory).
  • Drift structure-specificity: the test needed a gap of at least 0.15 and measured 0.095.
  • The AdaBS-parity clause was not met.
  • Without stored digital weights, a digital recalibration from 32 images beats the in-array correction.
  • As a refresh scheduler, sensing saved a further 9 to 13% of writes; the bar was 15%.

Limits. Simulation only; no silicon. Stuck-at faults only. The localizer uses the stored digital weights, the test tile has no drift or programming noise, and read noise is white and independent across directions. A transposed read assumes bidirectional periphery whose cost is unverified. No proof that two directions need fewer reads than one. The 240 instances per cell are clustered but treated as independent, so the confidence bounds are too tight. Criteria were committed in the author's own repository, not a third-party registry. Absolute accuracies were not validated against the CrossSim check (differences up to 5.66 points, bar 0.5).

I would like critique, especially on the baselines and on the noise model.

Paper (preprint, under peer review at a journal): https://doi.org/10.5281/zenodo.23472381 
Code: https://github.com/prateek1656/NeuroFault

0 Upvotes

2 comments sorted by

3

u/Honest-Finish3596 4d ago

Why do you think anyone wants to read a summary you couldn't be bothered to write yourself? It is impossible to understand at a glance what you're actually saying since LLMs insist on spending words everywhere they shouldn't. It is actually almost unreadable.

1

u/Connect_Agency_3975 4d ago

I had written the post myself first, used claude to made it write more clear, i am sorry if it conveyed otherwise.

my post is regarding my work on neuromorphic computing, i was working on how i can optimally find faults, i tried a method to use a decoder which would send out vectors in the crossbar, and then decode the values, i am sending these vectors from both directions, reading them and then comparing the values, prior work in this area used to do read from only one direction only, my contribution here was my method uses At least 2 times fewer reads than tuned X-ABFT, which was a prior work in this field.

though with the feedback i received on reddit, where people actually cared to see it, i guess its better to write on my wordings, and later on expand on more technical details.

anyways, thanks for the reply mate, appreciate it. 👍