Multiplication Accumulation Operator for Neural Network Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Processing-in-memory (PIM) systems face performance degradation due to the separation of processors and memory in traditional hardware, leading to inefficiencies in data communication and increased computational demands for deep learning applications, particularly in neural networks with many layers.
Innovation Solution
A PIM system incorporating a multiplication-accumulation (MAC) operator with a multiplication circuit, pre-processing circuits, and an adder tree, which performs floating-point operations efficiently by shifting and processing exponent and mantissa data to enhance data processing speed within the neural network.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If a traditional hardware system with separated memory and processor is used, then the system structure is simple and ease of manufacture is improved, but data communication efficiency deteriorates and processing speed decreases
Solution Approach 1:
The patent merges the processor and memory into a single integrated PIM device, where computation units are directly coupled to memory cells. This integration eliminates the need for separate data communication channels between processor and memory, allowing data to be processed in-place without transmission delays, thereby resolving the contradiction between structural simplicity and processing speed.
Solution Approach 2:
The patent introduces sense amplifiers as intermediary components that directly couple memory cells to computation units. These sense amplifiers serve as mediators that enable direct reading and processing of data from memory cells without requiring traditional data bus communication, thus improving data processing speed while maintaining manufacturing feasibility through standardized memory cell designs.
2Measurement precision
If the number of neural network layers is increased to improve AI performance, then computation accuracy is improved, but the amount of computation required increases exponentially
Solution Approach 1:
The PIM device enables self-service computation by performing arithmetic operations directly within the memory array. Each memory cell can be read and processed by its associated computation unit without requiring data to be transferred to external processors. This self-contained computation capability allows deep neural networks to be executed with high throughput, resolving the contradiction between accuracy (requiring many layers) and productivity (computation speed).
Solution Approach 2:
The patent segments the neural network computation into distributed operations across multiple PIM cores, each handling specific matrix multiplication and accumulation tasks. This segmentation allows parallel execution of multiple neural network layers simultaneously, increasing overall computation throughput while maintaining the accuracy benefits of deep architectures.
3Measurement precision
If floating-point operations are performed with high precision, then computation accuracy is improved, but processing complexity and time increase
Solution Approach 1:
The patent performs preliminary actions by pre-computing and storing weight values directly in memory cells before neural network inference. During operation, these pre-stored weights are read and immediately used in multiplication operations with input data. This preliminary preparation eliminates the need for complex real-time weight management and reduces processing complexity while maintaining floating-point precision through dedicated computation units designed for accurate arithmetic operations.
Data Source
AI summary
A multiplication-accumulation (MAC) includes a multiplication circuit, a pre-processing circuit, and an adder tree. The multiplication circuit performs a multiplication operation on a plurality of weight data and a plurality of vector data each having a floating-point format to output a plurality of multiplication data. The pre-processing circuit performs shifting on mantissa data of the plurality of multiplication data by a difference between first maximum exponent data having a greatest value among the exponent data of the plurality of multiplication data and the remaining exponent data to output a plurality of pre-processed mantissa data. The adder tree adds the plurality of mantissa data to output mantissa addition bits.


