Neural Network Decompression Circuit Using Mask-Based Vector Restore
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Neural network computations require large memory bandwidth due to the limited capacity of on-chip memory, leading to increased power consumption and degraded processor performance, with existing decompression techniques being time-consuming and inefficient.
Innovation Solution
A processor architecture that includes a mask register, general-purpose register file, and execution circuit to execute decompress instructions, utilizing zero-value compression to reduce memory bandwidth requirements by loading masks and decompressing neural network weights directly into vector registers using specialized instructions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If compressed data is stored in off-chip memory to reduce memory bandwidth requirements, then memory bandwidth consumption is reduced, but decompression time increases and processor performance degrades
Solution Approach 1:
The mask register pre-stores the binary sequence (mask value) indicating zero positions in the original data vector before decompression is needed. This preliminary preparation allows the decompression operation to proceed efficiently by having the selection criteria ready in advance, thus reducing decompression time while maintaining reduced memory bandwidth usage.
Solution Approach 2:
The execution circuit introduces a selection switch as an intermediary component that receives both the compressed data vector and the mask value, and generates the original data vector by applying the selection signal. This intermediary mechanism enables efficient decompression by selectively routing data through the selection switch based on the mask value, reducing both memory bandwidth requirements and decompression time.
2Ease of operation
If traditional decompression methods are used, then data can be decompressed, but the number of instructions increases and processing cycles extend
Solution Approach 1:
The invention extracts only the essential non-zero data elements from the compressed data vector using the mask value to identify zero positions. By taking out only the necessary data elements and discarding the redundant zero-position information, the decompression process requires fewer instructions and processing cycles while maintaining full decompression capability.
Solution Approach 2:
The execution circuit changes the parameter representation by using a compact mask value (binary sequence) to represent the positions of zeros in the original data vector. This parameter transformation allows the decompression operation to be performed more efficiently by changing how the data structure is represented and processed, thereby increasing processing speed without sacrificing decompression accuracy.
Data Source
AI summary
A processor decompresses a compressed data vector into an original data vector. The processor includes an execution circuit, which receives a decompress instruction that includes two input operands and an output operand. The input operands indicate an address of the compressed data vector in a memory, and the output operand indicates the vector register for storing the original data vector after decompression. The execution circuit executes the decompress instruction to decompress the compressed data vector. When executing the decompress instruction, the execution circuit performs the following operations: read a mask value from the mask register, the mask value being a binary sequence indicating zero positions in the original data vector; generate a selection signal based on the mask value; and generate the original data vector by applying the selection signal to a selection switch that receives the compressed data vector as input.


