Inline Decompression Using Metadata for Sparse Neural Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Neural networks with many zeros, such as those using the rectified linear unit (ReLU) activation function or pruned recurrent neural networks, face challenges in efficiently processing and storing sparse data, leading to increased memory usage and bandwidth requirements.
Innovation Solution
The proposed solution involves a technique for efficiently compressing and decompressing data with many zeros, utilizing a compression engine to remove zero words from data blocks and generate metadata for mapping non-zero words, allowing for offline compression and hardware-based decompression, which can be applied to neural networks and other sparse data environments.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If data is compressed by removing zero words, then storage requirements and bandwidth usage are reduced, but decompression complexity increases due to the need for metadata mapping
Solution Approach 1:
The patent pre-generates metadata during the compression phase that maps compressed data locations to original data locations. This preliminary action stores the mapping information in advance, so that during decompression, the processor can efficiently retrieve and use this pre-computed metadata without performing complex real-time calculations, thus reducing decompression complexity while maintaining high compression ratios
Solution Approach 2:
The patent introduces metadata as an intermediary element that bridges the compressed data and the original data structure. This metadata acts as a lookup table or mapping structure that enables the decompression process to efficiently reconstruct the original data by simply following the pre-stored mappings, rather than performing complex transformations, thus resolving the contradiction between compression efficiency and decompression simplicity
2Productivity
If hardware-based decompression is implemented, then processing speed increases, but device complexity and resource requirements increase
Solution Approach 1:
The patent divides the decompression task into distinct hardware components: a metadata lookup unit that retrieves mapping information, a data retrieval unit that fetches compressed data, and a reconstruction unit that assembles the original data. This segmentation allows each component to be optimized for its specific function using simple, efficient hardware operations, achieving high processing speed without requiring overly complex monolithic hardware
Solution Approach 2:
The hardware decompression system is designed to automatically perform decompression operations using the pre-stored metadata, without requiring complex control logic or software intervention. The metadata itself guides the hardware operations, making the system self-directed and reducing the need for complex control mechanisms, thus achieving high speed with moderate hardware complexity
3Ease of operation
If all data including zeros is stored, then processing simplicity is maintained, but memory bandwidth and storage capacity requirements increase
Solution Approach 1:
The patent extracts and removes zero words from the data during compression, storing only the non-zero data values along with metadata that indicates their original positions. This extraction eliminates the need to store and transmit redundant zero values, significantly reducing memory bandwidth and storage requirements while the metadata ensures that the simplified data structure can still be efficiently processed to reconstruct the original data
Data Source
AI summary
Techniques and apparatuses to decompress data that has been stack compressed is described. Stack compression refers to compression of data in one or more dimensions. For uncompressed data blocks that are very sparse, i.e., data blocks that contain many zeros, stack compression can be effective. In stack compression, uncompressed data block is compressed into compressed data block by removing one or more zero words from the uncompressed data block. A map metadata that maps the zero words of the uncompressed data block is generated during compression. With the use of the map metadata, the compressed data block can be decompressed to restore the uncompressed data block.


