Neural Network Matrix Compression for Bandwidth Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Neural networks for natural-language processing face challenges with large matrix dimensionality, leading to increased bandwidth usage and hardware resource requirements when transferring data to and from external memory.

Innovation Solution

Incorporating fully connected compression and decompression blocks within the neural network that compress matrices before transfer to external memory and decompress them upon retrieval, allowing for reduced dimensionality and optimized data handling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data is transferred to external memory without compression, then data integrity is maintained, but bandwidth usage and hardware resource requirements increase

Engineering Contradiction:
Improvedata sizeVSAvoidbandwidth usage
Core Design Contradiction:
Quantity of substanceVSLoss of energy

Solution Approach 1:

The compression block performs compression action before data transfer to external memory, reducing the data size that needs to be transmitted. This preliminary compression action decreases bandwidth usage and hardware resource requirements while maintaining data integrity through the subsequent decompression block.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The compression and decompression blocks act as intermediary components between the neural network processing units and external memory. These intermediaries handle the data transformation, allowing efficient data transfer by compressing before transfer and decompressing upon retrieval, thus resolving the bandwidth consumption issue.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If matrix dimensionality is reduced through compression, then bandwidth usage decreases, but processing complexity increases

Engineering Contradiction:
Improvedata sizeVSAvoidprocessing complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The system segments the data processing function by introducing separate compression and decompression blocks as distinct modules within the neural network. This segmentation allows the compression and decompression operations to be handled independently from the main neural network processing, reducing the processing complexity burden on the core model while still achieving data size reduction.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The compression block transforms the data by changing its dimensional parameters, converting high-dimensional matrices into lower-dimensional representations. This parameter transformation reduces data size for transfer while the decompression block reverses the transformation, maintaining the original data structure for subsequent processing.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If compression blocks are added to the neural network, then data transfer efficiency improves, but hardware resource requirements increase

Engineering Contradiction:
Improvetraining speedVSAvoidhardware resources
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The compression and decompression blocks are designed to work seamlessly within the existing neural network architecture, serving multiple functions: data compression for transfer efficiency, maintaining data integrity, and enabling faster training. By integrating these blocks into the network structure, the system achieves improved productivity without proportionally increasing hardware resources.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS12182716B2Compressing and decompressing data for language models
Publication Date: 2024.12.31 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12182716B2 patent drawing
  • US12182716B2 patent drawing
  • US12182716B2 patent drawing

AI summary

Embodiments of the present disclosure include systems and methods for compressing and decompressing data generated by sub-blocks in a neural network. In some embodiment, an input matrix is received at a compression block in the neural network. The compression block compresses the input matrix into a compressed matrix and outputs the compressed matrix. The compressed matrix has a reduced dimensionality relative to a dimensionality of the input matrix. A decompression block retrieves the compressed matrix. The decompression block decompresses compressed matrix into a decompressed matrix and outputs the decompressed matrix. The decompressed matrix has a same dimensionality as the dimensionality of the input matrix. The compression and decompression blocks are optimized based on feedback received from the neural network.