On the Accuracy of Analog Neural Network Inference Accelerators
  Specialized accelerators have recently garnered attention as a method to
reduce the power consumption of neural network inference. A promising category
of accelerators utilizes nonvolatile memory arrays to both store weights and
perform $\textit{in situ}$ analog computation inside the array. While prior
work has explored the design space of analog accelerators to optimize
performance and energy efficiency, there is seldom a rigorous evaluation of the
accuracy of these accelerators. This work shows how architectural design
decisions, particularly in mapping neural network parameters to analog memory
cells, influence inference accuracy. When evaluated using ResNet50 on ImageNet,
the resilience of the system to analog non-idealities - cell programming
errors, analog-to-digital converter resolution, and array parasitic resistances
- all improve when analog quantities in the hardware are made proportional to
the weights in the network. Moreover, contrary to the assumptions of prior
work, nearly equivalent resilience to cell imprecision can be achieved by fully
storing weights as analog quantities, rather than spreading weight bits across
multiple devices, often referred to as bit slicing. By exploiting
proportionality, analog system designers have the freedom to match the
precision of the hardware to the needs of the algorithm, rather than attempting
to guarantee the same level of precision in the intermediate results as an
equivalent digital accelerator. This ultimately results in an analog
accelerator that is more accurate, more robust to analog errors, and more
energy-efficient.
