Vector-Matrix Multiplication Module for Rate Limited Neural Networks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Machine learning systems face computational bottlenecks during vector-matrix multiplication, particularly in neural networks, due to large matrix sizes exceeding hardware limits and rate limitations on matrix loading, leading to increased latency and reduced efficiency in inference tasks.

Innovation Solution

The implementation of a vector-matrix multiplication module that processes data by computing intermediate vectors through element-wise multiplication and loading a core matrix, allowing for efficient vector-matrix multiplication with reduced latency by optimizing matrix loading and utilizing optical or electrical signal processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the matrix size is increased to improve neural network model capacity, then the computational power and accuracy are improved, but the matrix cannot be loaded into the computational module due to hardware limits

Engineering Contradiction:
Improvecomputational powerVSAvoidmatrix size
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent divides a large model matrix into multiple smaller core matrices that can be loaded into the computational module. Instead of attempting to load the entire large matrix at once, the system segments it into manageable blocks that fit within hardware limits, allowing incremental processing of the full matrix through repeated operations on these segments.

Inventive Principle:
Principle #1Segmentation

2Speed

If the matrix loading rate is increased to improve processing speed, then the computational efficiency is improved, but the rate limit of the computational module is exceeded

Engineering Contradiction:
Improveprocessing speedVSAvoidmatrix loading rate
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent performs preliminary computation by dividing the input vector into subsets and computing intermediate vectors through element-wise multiplication with pre-processing vectors before the main matrix multiplication. This preliminary action prepares data in advance so that when core matrices are loaded and multiplied, the operations can proceed efficiently without exceeding rate limits, as the heavy lifting of vector segmentation is already complete.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If the matrix is divided into smaller segments to fit hardware limits, then the matrix can be loaded into the module, but the computational complexity and latency increase

Engineering Contradiction:
Improvematrix segment sizeVSAvoidcomputational latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent maintains continuous useful action by overlapping computation and data preparation phases. While core matrices are being loaded into the module, intermediate vectors are being computed through element-wise operations. This continuity ensures that when the matrices are ready, the multiplication can proceed immediately without idle waiting time, minimizing overall latency despite the segmentation.

Inventive Principle:
Principle #20Continuity of useful action

4Productivity

If more memory access operations are performed to handle large matrices, then the complete matrix data can be processed, but the memory access delays increase

Engineering Contradiction:
Improvedata processing completenessVSAvoidmemory access delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent extracts only the necessary portions of the large matrix (core matrices) that fit within hardware limits and processes the input vector through intermediate computations. Instead of accessing and processing the entire large matrix through memory, the system extracts and loads only the required core matrices, significantly reducing memory access operations and associated delays while still achieving complete processing through multiple passes.

Inventive Principle:
Principle #2Taking out (Extraction)

Applied Scientific Principles

This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.

Function Achieved in This Case

This approach significantly reduces latency and computational complexity in neural network inference tasks without sacrificing accuracy, enabling faster processing in machine learning applications like NLP and image classification by minimizing memory access and optical modulation delays.

Implementation Method 1

computing a plurality of intermediate vectors based on element-wise vector multiplication between different subsets of the vector element values and different respective pre-processing vectors

Methodology Applied
Scientific EffectElement-wise vector multiplication:

Implementation Method 2

multiplying the input vector by the model matrix based on separately multiplying each of the intermediate vectors by the loaded core matrix

Methodology Applied
Scientific EffectMatrix multiplication:

Implementation Method 3

a clock module configured to provide a clock signal associated with the data; a computing subsystem configured to process data based on the clock signal

Methodology Applied
Scientific EffectClock signal synchronization:

Data Source

PatentUS11657262B2Processing matrix operations for rate limited systems
Publication Date: 2023.05.23 LIGHTELLIGENCE PTE LTD
  • US11657262B2 patent drawing
  • US11657262B2 patent drawing

AI summary

Data to be processed includes vector element values of an input vector and matrix element values of a model matrix associated with a neural network model. A vector-matrix multiplication module receives a set of matrix element values for performing a vector-matrix multiplication operation. Processing the data includes computing a plurality of intermediate vectors based on element-wise vector multiplication between different subsets of the vector element values and different respective pre-processing vectors. The vector-matrix multiplication module is loaded with a core matrix, and the input vector is multiplied by the model matrix based on separately multiplying each of the intermediate vectors by the loaded core matrix.