In-memory hyperdimensional computing

Geethan Karunaratne,Manuel Le Gallo,Giovanni Cherubini,Luca Benini,Abbas Rahimi,Abu Sebastian
DOI: https://doi.org/10.48550/arXiv.1906.01548
2020-04-09
Abstract:Hyperdimensional computing (HDC) is an emerging computational framework that takes inspiration from attributes of neuronal circuits such as hyperdimensionality, fully distributed holographic representation, and (pseudo)randomness. When employed for machine learning tasks such as learning and classification, HDC involves manipulation and comparison of large patterns within memory. Moreover, a key attribute of HDC is its robustness to the imperfections associated with the computational substrates on which it is implemented. It is therefore particularly amenable to emerging non-von Neumann paradigms such as in-memory computing, where the physical attributes of nanoscale memristive devices are exploited to perform computation in place. Here, we present a complete in-memory HDC system that achieves a near optimum trade-off between design complexity and classification accuracy based on three prototypical HDC related learning tasks, namely, language classification, news classification, and hand gesture recognition from electromyography signals. Comparable accuracies to software implementations are demonstrated, experimentally, using 760,000 phase-change memory devices performing analog in-memory computing.
Emerging Technologies,Artificial Intelligence,Applied Physics
What problem does this paper attempt to address?
The problem that this paper attempts to solve is to develop a complete In - memory Hyperdimensional Computing (IMD - HDC) system, which can achieve an approximately optimal trade - off between design complexity and classification accuracy. Specifically, the paper focuses on how to utilize in - memory computing techniques to implement the core operations of hyperdimensional computing, such as n - gram encoding and associative memory search, so as to achieve an accuracy comparable to software implementation when performing machine - learning tasks (such as language classification, news classification, and gesture recognition of electromyogram signals), while significantly reducing energy consumption. ### Main contributions of the paper 1. **Complete IMD - HDC system**: The paper proposes a complete IMD - HDC system, which uses two planar memristor crossbar arrays and peripheral digital CMOS circuits to implement all operations of HDC. In particular, the paper proposes a novel method to fully implement hypervector binding in the first memristor crossbar array through in - memory read - logic operations, and to implement hypervector bundling near the crossbar array through CMOS logic. 2. **Efficient hypervector operations**: The paper elaborates on how to efficiently perform hypervector binding and bundling operations in the memristor crossbar array without repeatedly programming (writing) memristor devices, which was a major challenge in previous works. 3. **Experimental verification**: The paper verifies the integrated inference function of the system through large - scale hardware/software hybrid experiments. In the experiments, at most 49 10,000 - dimensional hypervectors are encoded, and 760,000 phase - change memory (PCM) devices are used for simulated in - memory computing. The experimental results show that the system achieves an accuracy comparable to the software baseline in multiple multi - class classification tasks. 4. **System - level design**: The paper also presents a complete system - level design synthesized using 65 - nm CMOS technology, which reduces the end - to - end energy consumption by more than six times compared to dedicated digital CMOS implementations. ### Core technologies - **Hypervector representation**: As mentioned in the paper, HDC uses high - dimensional binary vectors (hypervectors) to represent symbols. These hypervectors have quasi - orthogonality and can be combined and compared through well - defined vector - space operations. - **In - memory logic operations**: The paper proposes a non - stateful in - memory read - logic operation for implementing hypervector binding operations in the memristor crossbar array. This operation avoids the high - durability requirements for memristor devices. - **Associative memory search**: The paper describes how to use the second memristor crossbar array to implement associative memory search, by comparing the query hypervector and the prototype hypervector through in - memory dot - product operations to determine the category to which the test sample belongs. ### Experimental results - **Classification tasks**: The paper conducts experiments on three common HDC benchmark tasks, including language classification, news classification, and gesture recognition of electromyogram signals. The experimental results show that the performance of the system on these tasks is comparable to the software baseline, and even exceeds the previous simulation results based on small - scale memristor crossbar arrays in some cases. - **Randomization strategy**: To address the spatially deterministic variation of the conductance values of memristor devices, the paper proposes a coarse - grained randomization strategy. By splitting the prototype hypervector and evenly distributing it in the crossbar array, the influence of long - range variations is effectively alleviated. In conclusion, by proposing a complete IMD - HDC system, this paper solves the problem of how to efficiently implement HDC operations in memory, and verifies the effectiveness and energy - efficiency advantages of the system in multiple classification tasks through experiments.