Neural Network Weight Matrix Compression via Spatial Locality

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Training neural networks is inefficient due to large data sizes and high memory and communication bandwidth requirements, which can take days to weeks even on cutting-edge hardware, and current compression techniques do not effectively reduce the memory footprint and bandwidth needed for weight matrices.

Innovation Solution

Implementing spatial locality in weight matrices by segmenting them into sub-components, applying a generalized weight distribution, transforming, and cropping high-frequency weights to generate low-frequency components, thereby reducing the data size transmitted during neural network training.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If weight matrices are compressed using traditional methods, then data size is reduced, but memory footprint and bandwidth requirements remain high

Engineering Contradiction:
Improvedata sizeVSAvoidmemory footprint and bandwidth requirements
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The weight matrix is segmented into multiple blocks, allowing independent compression of each block. This segmentation enables the application of low-rank decomposition to individual blocks, reducing overall memory footprint while maintaining the ability to process large weight matrices efficiently

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter representation of weight matrices by decomposing them into low-rank components (U and V matrices). This parameter transformation reduces the effective data size from O(n*m) to O(k*(n+m)) where k is the rank, significantly reducing memory requirements and bandwidth needs

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If full precision weight matrices are used during training, then model accuracy is maintained, but training time increases to days or weeks

Engineering Contradiction:
Improvemodel accuracyVSAvoidtraining time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies partial compression by retaining the most significant low-rank components while discarding less important information. This partial action approach maintains sufficient model accuracy for practical applications while dramatically reducing training time from weeks to more manageable periods

Inventive Principle:
Principle #16Partial or excessive action

3Weight of stationary object

If compression techniques are applied to weight matrices, then memory footprint is reduced, but communication bandwidth requirements increase

Engineering Contradiction:
Improvememory footprintVSAvoidcommunication bandwidth requirements
Core Design Contradiction:
Weight of stationary objectVSObject-generated harmful factors

Solution Approach 1:

The low-rank decomposition is performed in advance during model initialization or preprocessing stages. This preliminary action prepares compressed weight representations that can be efficiently communicated and stored, reducing both memory footprint and subsequent communication bandwidth requirements during distributed training

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11977974B2Compression of fully connected / recurrent layers of deep network(s) through enforcing spatial locality to weight matrices and effecting frequency compression
Publication Date: 2024.05.07 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11977974B2 patent drawing
  • US11977974B2 patent drawing
  • US11977974B2 patent drawing

AI summary

A system, having a memory that stores computer executable components, and a processor that executes the computer executable components, reduces data size in connection with training a neural network by exploiting spatial locality to weight matrices and effecting frequency transformation and compression. A receiving component receives neural network data in the form of a compressed frequency-domain weight matrix. A segmentation component segments the initial weight matrix into original sub-components, wherein respective original sub-components have spatial weights. A sampling component applies a generalized weight distribution to the respective original sub-components to generate respective normalized sub-components. A transform component applies a transform to the respective normalized sub-components. A cropping component crops high-frequency weights of the respective transformed normalized sub-components to yield a set of low-frequency normalized sub-components to generate a compressed representation of the original sub-components.