Vector Dequantization Hardware for Dynamic NN Weight Lookup

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current artificial neural networks (NNs) and deep neural networks (DNNs) face inefficiencies in processing data due to high latency and memory usage, particularly in reading neuron weight values from memory, which can be costly in terms of time and power, and reducing precision to save memory compromises accuracy.

Innovation Solution

The implementation of vector quantization of neuron weight values, which allows for more weight values to be represented in a given memory space by converting contiguous segments into vectors and using indices to reference weight values from a lookup table, reducing memory transfer and maintaining accuracy.

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 significant time and power

Engineering Contradiction:
Improvememory capacityVSAvoidtime to read weight values
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 weight segments are cached locally while full weight data remains in general memory.

Inventive Principle:
Principle #1Segmentation

2Speed

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

Engineering Contradiction:
Improvereading speed of weight valuesVSAvoidmemory cost and size constraints
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent implements a universal weight storage and retrieval system that can handle multiple codebooks and layers through a single hardware architecture. The weight storage unit is designed to accommodate variable codebook sizes and vector lengths across different network layers, eliminating the need for separate dedicated memory structures for each layer and reducing overall hardware complexity.

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

3Quantity of substance

If precision of weight values is reduced (e.g., 32-bit to 16-bit), 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 changes the representation parameters of weight values by organizing them into codebooks with variable codebook sizes and vector lengths. This parameter change allows the system to store more weight values in the same memory space through efficient packing, achieving memory reduction without compromising the precision of individual weight values. The codebook structure enables flexible allocation of memory resources while maintaining full precision representation.

Inventive Principle:
Principle #35Parameter changes

4Quantity of substance

If vector quantization is used to store more weight values in local memory, then memory efficiency improves, but hardware complexity increases

Engineering Contradiction:
Improvenumber of weight values in local memoryVSAvoidhardware complexity for vector quantization
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent implements dynamic vector quantization where the codebook size and vector length can be adjusted based on the specific requirements of each neural network layer. This dynamic configuration allows the hardware to adapt to different data dimensions and precision requirements without requiring multiple fixed-architecture units, thereby reducing overall hardware complexity while maintaining high memory efficiency.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11010315B2Flexible hardware for high throughput vector dequantization with dynamic vector length and codebook size
Publication Date: 2021.05.18 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11010315B2 patent drawing
  • US11010315B2 patent drawing
  • US11010315B2 patent drawing

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.