Lookup Table-Based Inference Acceleration for ML Data Bottlenecks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The inference phase of Machine Learning (ML) is computationally and data-intensive, with data movement becoming a bottleneck as input data and model sizes grow, leading to inefficiencies in current computing architectures that are not scalable for ML applications.

Innovation Solution

A hardware-based programmable architecture is introduced, featuring a dedicated inference engine with a POD engine and processing tiles that perform dense and sparse operations, utilizing lookup tables for efficient computation of non-linear functions like logarithms, reducing the need for data transfer and enhancing processing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional computing architecture is used for ML inference, then data can be processed using standard load-process-store operations, but data movement becomes a bottleneck and processing efficiency decreases as data size grows

Engineering Contradiction:
Improveinference processing efficiencyVSAvoiddata movement time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The computing architecture is segmented into specialized functional units: a POD engine for dense mathematical operations and processing tiles for sparse operations. This segmentation allows each unit to be optimized for its specific function, reducing overall data movement requirements and improving processing efficiency for different types of ML computations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Lookup tables are introduced as intermediary structures to accelerate non-linear function computations. Instead of performing complex mathematical operations directly, the system pre-computes and stores results in lookup tables, enabling faster inference by simply retrieving pre-computed values during data processing.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If three operations (load, processing, store) are performed for each data element, then data can be processed using standard memory operations, but computational burden increases significantly as data size grows

Engineering Contradiction:
Improvedata processing throughputVSAvoidnumber of operations per data element
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The POD engine merges multiple operations into a single unified processing unit that handles both dense matrix operations and non-linear function computations. This consolidation reduces the number of discrete operations needed per data element while maintaining processing capability, thereby reducing computational burden.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

Lookup tables are pre-computed and stored with common non-linear function values before inference runs. This preliminary action eliminates the need to perform complex mathematical operations during actual inference, reducing the number of operations required per data element and improving processing throughput.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If current computing architecture is used, then infrastructure can be deployed with existing hardware, but scalability for growing ML applications is poor due to high data loading and storing overhead

Engineering Contradiction:
Improvescalability for growing data and modelsVSAvoiddata loading and storing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system extracts and separates data movement operations from computation operations by introducing dedicated processing tiles and POD engines that can process data in-place or with minimal data movement. This extraction allows the system to scale by adding more processing units without proportionally increasing data loading and storing overhead.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The architecture introduces a new dimension of organization by arranging processing units in a hierarchical structure with POD engines handling dense operations and processing tiles handling sparse operations. This dimensional organization enables efficient data management and processing at different scales, improving scalability for growing ML applications.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS11494676B2Architecture for table-based mathematical operations for inference acceleration in machine learning
Publication Date: 2022.11.08 MARVELL ASIA PTE LTD
  • US11494676B2 patent drawing
  • US11494676B2 patent drawing
  • US11494676B2 patent drawing

AI summary

A processing unit to support inference acceleration for machine learning (ML) comprises an inline post processing unit configured to accept and maintain one or more lookup tables for performing each of one or more non-linear mathematical operations. The inline post processing unit is further configured to accept data from a set of registers maintaining output from a processing block instead of streaming the data from an on-chip memory (OCM), perform the one or more non-linear mathematical operations on elements of the data from the processing block via their corresponding lookup tables, and stream post processing result of the one or more non-linear mathematical operations back to the OCM after the one or more non-linear mathematical operations are complete.