CNN Weight Compression with Grouped Headers and Interleaved Bits

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Convolutional neural networks (CNNs) face significant bandwidth challenges due to large arrays of weights stored in memory, requiring efficient compression and decompression methods to reduce system bandwidth usage.

Innovation Solution

A data compression method that encodes groups of data items using header and body portions, with interleaved body bits, allowing for efficient storage and decompression, reducing hardware requirements and power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If weights are stored in memory for CNNs, then the neural network can function properly, but system bandwidth usage increases significantly

Engineering Contradiction:
Improveneural network functionalityVSAvoidbandwidth usage
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The weight array is divided into groups of data items, where each group is encoded separately with header data and body portions. This segmentation allows efficient compression while maintaining the ability to reconstruct the original weights for neural network operation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the representation parameters of weight data by encoding groups with variable-length body portions (b-bits) based on the actual data distribution. The header data (h-bits) indicates the body portion size, allowing adaptive compression that reduces bandwidth usage while preserving weight accuracy.

Inventive Principle:
Principle #35Parameter changes

2Loss of energy

If compression encoding is applied to weight arrays, then bandwidth usage is reduced, but decompression complexity increases

Engineering Contradiction:
Improvebandwidth usageVSAvoidencoding complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The encoding process segments weight data into groups with header and body portions, making the compression manageable and systematic. The decoder similarly processes data in segmented groups, reducing the complexity burden on any single processing unit.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary analysis of weight data distribution during the encoding phase to determine optimal body portion sizes (b-bits) for each group. This preliminary action allows the decoder to anticipate the decoding requirements from the header data, reducing runtime complexity.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If large arrays of weights are stored, then the neural network can process complex data, but memory requirements and access time increase

Engineering Contradiction:
Improvedata processing capabilityVSAvoidmemory access time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

Weight arrays are divided into multiple encoded groups that can be stored efficiently in memory. The segmentation allows selective loading of only the necessary groups for each computation, reducing memory access time while maintaining the ability to process complex neural network data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The encoding process is performed in advance during model training or deployment, converting large weight arrays into compressed formats before runtime. This preliminary compression reduces the memory footprint and accelerates runtime access without affecting the neural network's processing capability.

Inventive Principle:
Principle #10Preliminary action

4Quantity of substance

If compression is applied to weight data, then storage efficiency improves, but power consumption during decompression may increase

Engineering Contradiction:
Improvestorage efficiencyVSAvoidpower consumption
Core Design Contradiction:
Quantity of substanceVSUse of energy by moving object

Solution Approach 1:

The decompression process operates on segmented groups of data items rather than entire weight arrays at once. This segmentation allows power-efficient incremental decompression, where only the necessary groups are decompressed and loaded into processing units, reducing overall power consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses variable body portion sizes (b-bits) indicated in header data to optimize the balance between compression ratio and decompression effort. Groups with smaller body portions require less decompression processing, reducing power consumption while maintaining storage efficiency for the overall weight array.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11863208B2Data compression and storage
Publication Date: 2024.01.02 IMAGINATION TECH LTD
  • US11863208B2 patent drawing
  • US11863208B2 patent drawing
  • US11863208B2 patent drawing

AI summary

A data compression method comprises encoding groups of data items by generating, for each group, header data comprising h-bits and a plurality of body portions each comprising b-bits and each body portion corresponding to a data item in the group. The value of h may be fixed for all groups and the value of b is fixed within a group, wherein the header data for a group comprises an indication of b for the body portions of that group. In various examples, b=0 and so there are no body portions. In examples where b is not equal to zero, a body data field is generated for each group by interleaving bits from the body portions corresponding to data items in the group. The resultant encoded data block, comprising the header data and, where present, the body data field can be written to memory.