IBM researchers use analog memory to train deep neural networks faster and more efficiently
Deep neural networks normally require fast, powerful graphical processing unit (GPU) hardware accelerators to support the needed high speed and computational accuracy — such as the GPU devices used in the just-announced Summit supercomputer. But GPUs are highly energy-intensive, making their use expensive and limiting their future growth, the researchers explain in a recent paper published in Nature.
Instead, the IBM researchers used large arrays of non-volatile analog memory devices (which use continuously variable signals rather than binary 0s and 1s) to perform computations. Those arrays allowed the researchers to create, in hardware, the same scale and precision of AI calculations that are achieved by more energy-intensive systems in software, but running hundreds of times faster and at hundreds of times lower power — without sacrificing the ability to create deep learning systems.
The trick was to replace conventional von Neumann architecture, which is "constrained by the time and energy spent moving data back and forth between the memory and the processor (the 'von Neumann bottleneck')," the researchers explain in the paper. "By contrast, in a non-von Neumann scheme, computing is done at the location of the data [in memory], with the strengths of the synaptic connections (the 'weights') stored and adjusted directly in memory.
Equivalent-accuracy accelerated neural-network training using analogue memory (DOI: 10.1038/s41586-018-0180-5) (DX)
(Score: 1, Informative) by Anonymous Coward on Thursday June 21 2018, @08:08AM (1 child)
you're trolling, right? did you ever hear of the Lorenz system? here you go: https://en.wikipedia.org/wiki/Lorenz_system [wikipedia.org]
numerical analysis says that it's best to use random round-off errors when integrating a generic dynamical system (otherwise you get systematic differences from the original dynamical system).
that means that every time you integrate N steps of the Lorenz system, you get a random sequence of N round-off errors applied to the calculations.
when N becomes large enough, those errors build up into something big enough to completely change the trajectory, because the Lorenz system is chaotic.
for weather and similar fluid dynamics problems, this only gets worse.
(Score: 2) by jmorris on Thursday June 21 2018, @08:15AM
As I said, in most such cases you want pseudo-random numbers instead of real crypto quality random for those purposes so you still have repeatability. Then you can run the same program again with the same inputs and get consistent outputs, which makes testing a lot easier.