Vector Dequantization Hardware for Dynamic Codebook Weight Lookup

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current neural networks and deep neural networks face inefficiencies in processing cycles and memory requirements due to the need to read neuron weight values from memory, leading to increased latency and power consumption, with reducing precision of weight data compromising accuracy.

Innovation Solution

Implementing vector quantization of neuron weight values, which converts contiguous segments into vectors of arbitrary length and uses a lookup table for fast retrieval of weight values, reducing memory transfer and maintaining precision.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If weight values are stored in general memory (DRAM), then memory capacity is sufficient, but reading weight values requires time and power

Engineering Contradiction:
Improvememory capacityVSAvoidreading time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent segments weight values into codebooks organized by layer and neuron, allowing selective loading of only the required weight segments into local memory rather than loading entire weight matrices. This segmentation enables efficient memory hierarchy utilization where frequently accessed weights are cached locally while full weight sets remain in general memory.

Inventive Principle:
Principle #1Segmentation

2Speed

If weight values are cached in local memory (SRAM), then reading speed improves, but memory cost and size limitations increase

Engineering Contradiction:
Improvereading speedVSAvoidmemory cost and size
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent implements a universal codebook structure that serves multiple functions: it enables both full-precision and reduced-precision operations, supports different vector lengths dynamically, and can be selectively loaded into local memory or kept in general memory based on performance requirements. This multi-functionality allows the same data structure to optimize for both speed and memory efficiency.

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

3Quantity of substance

If precision of weight data is reduced, then memory requirements decrease, but results accuracy deteriorates

Engineering Contradiction:
Improvememory requirementsVSAvoidresults accuracy
Core Design Contradiction:
Quantity of substanceVSMeasurement precision

Solution Approach 1:

The patent employs dynamic precision switching where the system can adaptively select between full-precision and reduced-precision weight representations based on the specific computational layer and performance requirements. This dynamic approach allows critical layers to maintain high precision while less sensitive layers use reduced precision, optimizing the trade-off between accuracy and memory efficiency.

Inventive Principle:
Principle #15Dynamics

4Quantity of substance

If vector quantization is applied, then memory storage requirements and bandwidth are reduced, but hardware complexity increases

Engineering Contradiction:
Improvememory storage requirementsVSAvoidhardware complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent uses codebooks as compressed representations where instead of storing full weight values, the system stores index references to codebook entries. During inference, weight values are retrieved by copying the appropriate codebook entry based on the index. This copying mechanism dramatically reduces memory storage requirements while the codebook structure itself serves as the reference database.

Inventive Principle:
Principle #26Copying

5Device complexity

If fixed vector length is used, then hardware design is simplified, but adaptability to different network architectures is reduced

Engineering Contradiction:
Improvehardware design simplicityVSAvoidadaptability to different network architectures
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic vector length selection where the hardware can adaptively configure the vector length parameter based on the specific neural network layer being processed. This dynamic configuration allows the same hardware to efficiently support different vector lengths (e.g., 2, 4, 8, 16) without requiring separate hardware designs for each configuration, thereby achieving both hardware simplicity and architectural adaptability.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP3612989B1Flexible hardware for high throughput vector dequantization with dynamic vector length and codebook size
Publication Date: 2024.05.29 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3612989B1 patent drawingFigure 1
  • EP3612989B1 patent drawingFigure 2
  • EP3612989B1 patent drawingFigure 3

AI summary

The performance of a neural network (NN) and/or deep neural network (DNN) can limited by the number of operations being performed as well as memory data management of a NN/DNN. Using vector quantization of neuron weight values, the processing of data by neurons can be optimize the number of operations as well as memory utilization to enhance the overall performance of a NN/DNN. Operatively, one or more contiguous segments of weight values can be converted into one or more vectors of arbitrary length and each of the one or more vectors can be assigned an index. The generated indexes can be stored in an exemplary vector quantization lookup table and retrieved by exemplary fast weight lookup hardware at run time on the flyas part of an exemplary data processing function of the NN as part of an inline de-quantization operation to obtain needed one or more neuron weight values.