Dynamic Sparse Data Rearrangement for Neural Network Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Machine learning processing, particularly in neural networks, faces inefficiencies due to sparse data and zero-value operations that result in wasted computational efforts, as data and weights are processed regardless of zero values which do not affect the output.

Innovation Solution

Dynamic rearrangement of sparse data and corresponding weights, where zero-value data is relocated to the end of rows and folds containing only zeros are skipped, allowing for reduced processing in systolic arrays and avoiding unnecessary operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If sparse data is processed using conventional machine learning operations, then the processing follows standard neural network procedures, but wasted computational effort occurs on zero-value operations

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent extracts and removes zero-value elements from the data matrix before processing. By identifying and eliminating sparse zero elements, the system prevents wasteful computational operations on these values, thereby improving computational efficiency and reducing power consumption without affecting the final output results.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies partial action by processing only the non-zero elements of the data matrix. Instead of performing full matrix operations on all elements including zeros, the system selectively processes only the necessary non-zero portions, reducing unnecessary computational effort and energy expenditure.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If all data values are sent to the systolic array for processing, then complete data processing is performed, but operations on zero values constitute wasted effort

Engineering Contradiction:
Improveprocessing completenessVSAvoidcomputational efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts zero-value elements from the data matrix and separates them from the processing flow. By removing these redundant zero elements before systolic array processing, the system maintains processing completeness for meaningful data while eliminating wasteful operations on zero values, thereby improving computational efficiency.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs preliminary action by pre-processing the data matrix to identify and remove zero-value elements before they reach the systolic array. This advance preparation ensures that only necessary computations are performed, maintaining reliability while improving productivity.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If activation functions are applied to create output values, then neural network processing is completed, but resulting zero values create additional wasted operations

Engineering Contradiction:
Improveneural network processingVSAvoidcomputational efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent extracts and removes zero-value outputs generated by activation functions before they propagate to subsequent processing stages. By eliminating these zero values early in the processing pipeline, the system prevents cascading wasteful operations in downstream layers, thereby improving overall computational efficiency while maintaining ease of neural network operation.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11651283B1Method, product, and apparatus for a machine learning process using dynamic rearrangement of sparse data and corresponding weights
Publication Date: 2023.05.16 CADENCE DESIGN SYST INC
  • US11651283B1 patent drawing
  • US11651283B1 patent drawing
  • US11651283B1 patent drawing

AI summary

An approach is described for a method, product, and apparatus for a machine learning process using dynamic rearrangement of sparse data and corresponding weights. This approach includes a method, product, and apparatus for dynamically rearranging input data to move sparse data to a location such that computations on the sparse data might be avoided when executing a machine learning processing job. For example, sparse data within each row of the input matrix can be moved to the end of each corresponding row. When the input data is folded to fit the array, that sparse data might be at least partially contained within a fold that comprises only sparse data and possibly filler data. In such an event, computations on the fold are unnecessary and are avoided. In some embodiments, the approach includes dynamically rearranging a weight matrix to maintain a correspondence between the input data and the weights.