Engineers at the University of Michigan have developed the first programmable memristor computer, which could lead to handing artificial intelligence directly on small devices such as smartphones and sensors. A smartphone AI processor would mean that voice commands would no longer have to be sent to the cloud for interpretation, speeding up response time.
“Everyone wants to put an AI processor on smartphones, but you don’t want your cell phone battery to drain quickly,” says Wei Lu, UM professor of electrical and computer engineering.
In medical devices, running AI programs outside the cloud could lead to better security and privacy.
The key to this type of computer is the memristor. It is, in essence, an electrical resistor with a memory that depends on variable resistance. Memristors store and process information in the same location, so they can sidestep the biggest bottleneck for computing speed and power: the connection between memory and processor.
This is especially important for machine-learning algorithms that deal with lots of data to tackle tasks such as identifying objects in photos and video or predicting which hospital patients are at high risk of infection. Already, programmers prefer to run such programs on graphical processing units rather than a computer’s main processor, the central processing unit.
“GPUs and customized and optimized digital circuits are considered 10 to 100 times better than CPUs in terms of power and throughput,” says Lu. “Memristor-based AI processors could be 10 to 100 times better than that.”
GPUs perform well at machine learning because they have thousands of small cores for running calculations all at once, as opposed to the string of calculations waiting their turn on one of the few powerful cores in a CPU.
A memristor array takes this even further. Each memristor can do its own calculation, performing thousands of operations within a core at once. In experimental-scale computer, there were more than 5,800 memristors. A commercial design could include millions of them.
Wei Lu stands with fellow researcher Seung Hwan Lee, an electrical engineering PhD student, who holds the memristor array. (Courtesy: Robert Coelius)
Memristor arrays are especially suited to machine learning problems. That’s because the machine learning algorithms turn data into vectors—essentially lists of data points. In predicting a patient’s risk of infection in a hospital, for instance, this vector might contain numerical representations of a patient’s risk factors.
Then, machine learning algorithms compare these “input” vectors with “feature” vectors stored in memory. Feature vectors represent certain traits of the data (such as the presence of an underlying disease). If matched, the computer knows the input data has that trait. Vectors are stored in matrices and can be mapped directly onto the memristor arrays.
As data is fed through the array, most the mathematical processing is done via the natural resistances in the memristors, eliminating the need to move feature vectors in and out of the memory to perform computations. This makes the arrays highly well-suited for complicated matrix calculations. Earlier studies demonstrated the potential of memristor arrays for speeding up machine learning, but they needed external computing elements to function.
To build the first programmable memristor computer, Lu’s team designed a chip that combined the memristor array with the other elements needed to program and run it. Those components included a conventional digital processor and communication channels, and digital/analog converters to interpret communications between the analog memristor array and the rest of the computer.
The team demonstrated the device with three well-known learning algorithms:
Perceptron, which classifies information. It could identify imperfect Greek letters with 100% accuracy.
Sparse coding, which compresses and categorizes data, particularly images. The computer could determine the most efficient way to reconstruct images in a set and identified patterns with 100% accuracy.
Two-layer neural network, which finds patterns in complex data. This network found commonalities and differentiating factors in breast cancer screening data, and then classified each case as malignant or benign with 94.6% accuracy.
The team faces challenges in scaling up memristors for commercial use. For example, they can’t yet be made as identical as they need to be, and the information stored in them isn’t entirely reliable because it is analog continuum rather than the digital either/or. Still the team plans on commercializing the device.