Neural Network Weight Codeword Retrieval with Partial Codebook Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large neural networks require substantial computational and memory resources for storing and configuring weights, and the decoding process of encoded weights is complex and resource-intensive.

Innovation Solution

A method and device for decoding neural network weights using a compact memory unit that stores popular weights with variable-length encoding, allowing for efficient retrieval and decoding with reduced resource allocation, where only a fraction of the codebook is stored in the compact memory unit, and the decoding process is simplified to output weights at each clock cycle.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all weights are stored in memory for configuration, then the neural network can be properly configured, but substantial memory resources are required

Engineering Contradiction:
Improveneural network configuration completenessVSAvoidmemory resources
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the most frequently used weights from the complete codebook and stores them in a compact memory unit. This selective extraction allows the system to maintain configuration reliability for common operations while dramatically reducing memory resource requirements from 1 Mbyte to a fraction thereof.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the complete codebook into two parts: frequently used weights stored in compact memory and less frequently used weights stored elsewhere. This segmentation enables the system to optimize for both speed (frequent weights) and completeness (all weights available through alternative storage).

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If weights are encoded to reduce storage size, then memory resources are reduced, but decoding becomes complex and requires substantial hardware resources

Engineering Contradiction:
Improvememory resourcesVSAvoiddecoding hardware resources
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent employs a simplified decoding approach that uses basic hardware resources rather than complex decoding machinery. The system accepts that some computational effort is needed for decoding but keeps the hardware simple and resource-efficient, avoiding the need for substantial specialized decoding hardware.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Solution Approach 2:

The patent changes the encoding parameters to enable simpler decoding. By using specific encoding schemes for the compact memory storage, the system achieves both compression and simplified decoding requirements, balancing storage efficiency with hardware resource constraints.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If a compact memory unit stores only a fraction of the codebook, then memory resources are reduced, but the ability to retrieve all weights may be compromised

Engineering Contradiction:
Improvememory resourcesVSAvoidweight retrieval capability
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The patent performs preliminary action by pre-identifying and storing the most frequently used weights in the compact memory unit during system initialization. This preliminary selection ensures that the compact memory contains exactly the weights needed for common operations, optimizing both space utilization and retrieval efficiency without compromising overall system capability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11831344B2Providing codewords
Publication Date: 2023.11.28 DSP GROUP
  • US11831344B2 patent drawing
  • US11831344B2 patent drawing
  • US11831344B2 patent drawing

AI summary

A method for providing codewords, the method may include receiving by an input buffer, one or more chunks of data; calculating a location of relevant bits within one or more chunks of data; wherein the relevant bits comprise (a) variable length retrieval information used during a retrieval process of a first type codeword, or (b) a second type codeword; performing the retrieval process of the first type codeword and retrieving the first type codeword from a memory unit that stores only a fraction of a codebook, the codebook comprises first type codewords and second type codewords; determining whether the relevant bits comprises the second type codeword or not; and outputting the second type codeword or the first type codeword, based on the determination.